Skip to content

CI Enhancement: Migrate to container-based runner with Rust caching #120

@AlexCannonball

Description

@AlexCannonball

Description

As discussed in #114 (comment), we are currently using devcontainers/ci which ensures maximum environment consistency but lacks Cargo dependency caching. This leads to rebuilding all crates from scratch on every run.

While Option A (current fad97eb) is fine for now, we should consider migrating to Option B if CI times significantly increase.

Proposed Changes (Option B)

  1. Switch the Build and Test job from devcontainers/ci to a standard container: runner using our GHCR image.
  2. Integrate Swatinem/rust-cache@v2 to cache the target/ directory and Cargo registry.

Pros

  • Reduction in CI runtime.
  • Faster feedback loop for Pull Requests.

Cons

  • Requires the Dev Container image to be pre-published in GHCR to work.
  • Slight risk of environment drift if the Dockerfile is changed without updating the image.

Note: This is a "Note Bene" issue to be implemented when build times exceed a reasonable threshold.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions