Skip to content

fix(TC-887): refresh the w5 lockfile and check separate workspace lockfiles in CI - #332

Merged
samgbafa merged 2 commits into
mainfrom
skgbafa/tc-887-lockfiles
Oct 17, 2026
Merged

samgbafa merged 2 commits into
mainfrom
skgbafa/tc-887-lockfiles

Conversation

@samgbafa

@samgbafa samgbafa commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Part of TC-887 (encryption at rest). This fixes cargo … --locked in the separate w5 workspace on main, and makes CI resolve the separate workspaces it can fetch with --locked.

What changed

  • test/w5-policy-runtime-node-e2e/Cargo.lock: the tinycloud-core entry gains the aes, hkdf and zeroize dependencies, and aes/aes-gcm gain zeroize. These are the dependencies and features feat(TC-887): at_rest data key types and DataKeyProvider trait #320/feat(TC-887): TCE1 segmented AES-256-GCM envelope #322 added to tinycloud-core. The lock was regenerated by cargo's minimal resolve: 5 added lines, no version changes. cargo update -p tinycloud-core would also have re-picked unrelated syn/socket2/windows-sys edges, so it wasn't used.
  • New CI job lockfiles (.github/workflows/rust.yml): runs cargo metadata --locked for main, test/m1-realdata-e2e and test/load/signer. The comment above the m1 job now records that w5's lockfile still isn't checked in CI, because its private policy-engine git dependency can't be fetched there. That coverage follows in a separate PR.

Why CI missed it

The workspace jobs build only the main workspace, and m1-realdata covers test/m1-realdata-e2e. test/w5-policy-runtime-node-e2e has no CI job because of its private git dependency, and test/load/signer had none either. #320/#322 refreshed the main and m1 lockfiles but not w5.

How it's tested

  • cargo metadata --locked passes for main, m1, w5 and load/signer.
  • cargo tree --locked -e normal,features -p tinycloud-core shows the same aes, aes-gcm, hkdf, hmac and zeroize feature lines for w5 and m1 as for main. The only main-only lines are pre-existing base45/multibase versions and main's slab patch.
  • I ran the job's shell step locally, and the workflow YAML parses.

…kfiles in CI

test/w5-policy-runtime-node-e2e/Cargo.lock lacked tinycloud-core's new
aes, hkdf and zeroize dependencies and the aes/aes-gcm zeroize features
(#320, #322), so cargo --locked failed there. Regenerated minimally.

CI built only the main workspace and m1-realdata-e2e. A new lockfiles
job resolves every fetchable workspace with --locked and runs
scripts/ci/check-separate-lockfiles.py, which checks the w5 lockfile
(its private git dependency is not fetchable in CI) for in-repo crates'
direct dependencies and requested dependency features.
@samgbafa

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES: see TC-887 (head 341d861)

Keep the w5 lockfile fix and the --locked resolves of main, m1 and
test/load/signer. w5 coverage follows separately with real cargo.
@samgbafa

Copy link
Copy Markdown
Contributor Author

APPROVE: see TC-887 (head ae6d4d9)

@samgbafa
samgbafa merged commit c1683ad into main Oct 17, 2026
21 checks passed
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