Skip to content

Track Cargo.lock for reproducible app builds#442

Merged
josecelano merged 2 commits intotorrust:mainfrom
josecelano:cargo-lock-for-app-reproducibility
Apr 10, 2026
Merged

Track Cargo.lock for reproducible app builds#442
josecelano merged 2 commits intotorrust:mainfrom
josecelano:cargo-lock-for-app-reproducibility

Conversation

@josecelano
Copy link
Copy Markdown
Member

@josecelano josecelano commented Apr 10, 2026

Summary

This PR starts tracking Cargo.lock in Git and documents the decision with an ADR.

Problem

Cargo.lock was ignored in .gitignore, so it was missing after checkout in GitHub runners.
That made dependency resolution non-deterministic and caused workflow failures when a lockfile was expected.

Decision

  • Remove Cargo.lock from .gitignore
  • Commit Cargo.lock to the repository
  • Record the rationale in a new ADR

Why this is correct for this repo

This workspace contains library crates, but the repository is primarily used as a runnable application/deployer.
For application-first repositories, versioning Cargo.lock improves reproducibility for both users and CI.

Files changed

  • .gitignore
  • Cargo.lock
  • docs/decisions/cargo-lock-tracking-for-application-reproducibility.md
  • docs/decisions/README.md

Related workflows impacted

  • .github/workflows/cargo-security-audit.yml
  • .github/workflows/test-dependency-installer.yml
  • .github/workflows/container.yaml

@josecelano josecelano self-assigned this Apr 10, 2026
@josecelano
Copy link
Copy Markdown
Member Author

ACK d65c810

@josecelano josecelano merged commit c09a86a into torrust:main Apr 10, 2026
21 checks passed
@josecelano josecelano deleted the cargo-lock-for-app-reproducibility branch April 10, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant