Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding new gradle tasks for generating Cargo.lock (#3689)
## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here --> We have had numerous recent issues where updated dependencies have broken our build/release process. This seeks to fix that in a brute force way by manually generating Cargo.lock files for our main workspaces. ## Description <!--- Describe your changes in detail --> Introduce a new gradle task `generateAllLockfiles` (and some child tasks that it invokes) that generates lock files for * `aws-config` crate * `aws/rust-runtime` workspace * `rust-runtime` workspace * the superset workspace generated by the `assemble` task * NOTE: This Cargo.lock is actually generated from the workspace in the `aws-sdk-rust` repo, saved in this repo, and copied into place at build time. Generating this one requires a local copy of the `aws-sdk-rust` repo whose absolute path is indicated by the `-Paws-sdk-rust-path` parameter. ## Testing <!--- Please describe in detail how you tested your changes --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> I ran our E2E tests against 3 commits to confirm that the Cargo.lock files operate as we expect: * `9d84980ee2e37deadb7e45450d65c5e6bc69e07c` The head commit from this PR which has our Cargo.lock files * ✅ Passes * `d9d9fcec2de0e898bcc804ee0bb31393d7098e72` with lockfiles and with the `httparse` and `crc323c` crates unpinned * ✅ Passes * `df75beb160890b2a9c382c8a2f7da8d7d0ddd3c8` with no lockfiles and has the `httparse` and `crc32c` crates unpinned * ❌ Fails (as expected) This series of tests confirms that that Cargo.lock files will protect us against bad dependency updates going forward. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
- Loading branch information