Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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