Skip to content

0006 Rust Cargo Lock

Author:
Steven Johnson
Created:
2024-01-09
Status:
Accepted
Tags:
Extend:
0005 Rust

Context

Rust has an optional cargo.lock file which can lock the dependencies of a project. There are pros and cons to using the lock file.

Assumptions

This ADR is deliberately limited to the initial bring up phase of our projects, and subject to review.

Decision

Rust will not use cargo.lock when consuming libraries. It will ONLY respect it for building binaries.

As we are in the initial stages of a number of projects, it is easier to iterate without worrying about cargo.lock being up-to-date.

Accordingly, until the binaries we would publish approach releasable state we will not use the cargo.lock file.

Risks

We forget to introduce cargo.lock on our binaries when we approach release.

Consequences

This should make it a little easier to iterate with less issues caused by out of date cargo.lock files finding there way into CI.

Scope

This ADR applies to all projects which consume Catalyst-CI unless they define an ADR specific to that project.

More Information