Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Cargo.lock #5467

Closed
7 tasks done
baumanj opened this issue Aug 16, 2018 · 2 comments
Closed
7 tasks done

Update Cargo.lock #5467

baumanj opened this issue Aug 16, 2018 · 2 comments
Assignees
Labels
Epic Focus:Launcher Related to the Habitat Launcher (core/hab-launcher) component Focus: Studio Related to the Habitat Studio (core/hab-studio) component Focus:Supervisor Related to the Habitat Supervisor (core/hab-sup) component Type:BugFixes PRs that fix an existing bug Type: Chore Issues for general code and infrastructure maintenance

Comments

@baumanj
Copy link
Contributor

baumanj commented Aug 16, 2018

Currently Cargo.lock is badly out of sync with the dependency versions that would be generated from scratch. Add to this the fact that cargo update for a single package is broken and the only option left for accessing new code (which we frequently need to do across our own repositories) is error-prone hand edits to the Cargo.lock file.

In order to get Cargo.lock to a maintainable state, we must go through the painful process of closing the significant gap between the current dependent package versions and the versions that our various Cargo.toml files declare (usually *, which resolves to the newest version). Once we get Cargo.lock into a good state, it can be regularly updated as part of our post-release process and should be relatively painless.

To get to that point, we must first close the gap. Based on experiences with similar work for the builder repo, there may be a significant amount of effort and frustration required. In order to avoid large, risky changes, we will attempt to first lock all out-of-sync dependency versions to their current values in Cargo.lock, and then gradually relax them while making the necessary code changes to ensure compatibility. This may result in a significant number of commits, so this issue will be used to track all the added version locking and the PRs which will relax them.

Dependencies that are version-locked by #5468 (comment), that need to later be relaxed:

@baumanj baumanj self-assigned this Aug 16, 2018
baumanj added a commit that referenced this issue Aug 16, 2018
This is step one in #5467

Signed-off-by: Jon Bauman <5906042+baumanj@users.noreply.github.com>
baumanj added a commit that referenced this issue Aug 20, 2018
This makes the very small necessary fix in components/sup-protocol/src/lib.rs
to support the new version. It also includes unrelated changes as the result
of running `cargo update` to refresh Cargo.lock to the new `rand` version.

See #5467

Signed-off-by: Jon Bauman <5906042+baumanj@users.noreply.github.com>
baumanj added a commit that referenced this issue Aug 21, 2018
Specifically `rusoto_core`, `rusoto_credential` and `rusoto_ecr`.

This makes the very necessary fixes in components/pkg-export-docker/src/lib.rs
and adds futures to the appropriate Cargo.toml to support the new version.

See #5467

Signed-off-by: Jon Bauman <5906042+baumanj@users.noreply.github.com>
baumanj added a commit that referenced this issue Aug 24, 2018
Specifically `prost`, `prost-types`, `prost-build` and `prost-derive`.

This makes the minor fix in components/butterfly/build.rs to support the new
version and updates Cargo.lock.

See #5467

Signed-off-by: Jon Bauman <5906042+baumanj@users.noreply.github.com>
@eeyun eeyun removed the E-epic label Oct 4, 2018
@christophermaier
Copy link
Contributor

I've expanded on the protobuf->prost migration work in #5949.

Since that seems to be its "own thing", and our Cargo.lock file has been largely tamed by studious periodic upgrades, I think we can consider this work done.

Thoughts, @baumanj?

@baumanj
Copy link
Contributor Author

baumanj commented Dec 10, 2018

Since that seems to be its "own thing", and our Cargo.lock file has been largely tamed by studious periodic upgrades, I think we can consider this work done.

I was keeping this around as a tracking issue for all the dependencies we had pinned to a specific version (of which protobuf is the last, I think). So, maybe we should rename the issue? But it seems worth keeping around.

@baumanj baumanj closed this as completed Feb 26, 2019
@christophermaier christophermaier added Type:BugFixes PRs that fix an existing bug Focus:Supervisor Related to the Habitat Supervisor (core/hab-sup) component Focus:Launcher Related to the Habitat Launcher (core/hab-launcher) component and removed X-fix labels Jul 24, 2020
@christophermaier christophermaier added Focus: Studio Related to the Habitat Studio (core/hab-studio) component Type: Chore Issues for general code and infrastructure maintenance and removed A-studio labels Jul 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Focus:Launcher Related to the Habitat Launcher (core/hab-launcher) component Focus: Studio Related to the Habitat Studio (core/hab-studio) component Focus:Supervisor Related to the Habitat Supervisor (core/hab-sup) component Type:BugFixes PRs that fix an existing bug Type: Chore Issues for general code and infrastructure maintenance
Projects
None yet
Development

No branches or pull requests

3 participants