ci(adcp-sdk): pin @adcp/sdk to 7.9.0 (last known-green), salt cache key (closes #779 Track B)#784
Open
bokelley wants to merge 2 commits into
Open
ci(adcp-sdk): pin @adcp/sdk to 7.9.0 (last known-green), salt cache key (closes #779 Track B)#784bokelley wants to merge 2 commits into
bokelley wants to merge 2 commits into
Conversation
@adcp/sdk@latest was floating, and the npm cache key
``${{ runner.os }}-npm-adcp-sdk`` was OS-only — so a runner that cached
an older release served stale SDK to every subsequent CI run on that
runner, while a fresh runner pulled the current @latest. Same commit
flipped red/green depending on which runner picked it up (see 2026-05-21
storyboard incident, adcp#4907).
- ADCP_SDK_VERSION env var pinned at workflow header (7.10.1).
- All 4 ``npm install -g @adcp/sdk@latest`` sites use the pin.
- All 4 cache keys salted with ${{ env.ADCP_SDK_VERSION }} so a bump
invalidates deterministically.
- Stale comments rationalizing @latest removed.
Bumping the SDK version now happens via PR — silent-upgrade footgun
closed. Tracks adcp-client-python#779 Track B and adcp#4907 Phase 1.
There was a problem hiding this comment.
LGTM after the duplicated fixture-vendoring block at the storyboard install step comes out. Pin + salted cache key is the right shape — the floating-@latest cache-poisoning footgun is closed cleanly.
Things I checked
- Pin mechanism:
env: ADCP_SDK_VERSION: "7.9.0"at workflow top (ci.yml:9-12), shell-expanded as@adcp/sdk@${ADCP_SDK_VERSION}in the 4run:blocks. Workflowenv:exports into step shells; value has no whitespace or shell metachars, so unquoted expansion is safe. - Cache key salting: all 4
actions/cache@v4keys end in-${{ env.ADCP_SDK_VERSION }}(~lines 399, 555, 781, 889).restore-keys: ${{ runner.os }}-npm-fallback preserved so the first post-bump run still warms from prior tarballs. - The other 3 install sites (~lines 570, 786, 894) are clean — single set of vendoring lines, no duplication. Storyboard job is the only one with the doubled block.
code-reviewerMajor anddx-expertMajor both land on the same ci.yml:413-417 duplicate, with no other correctness flags.
Follow-ups (Major — fix in this PR before merge)
- ci.yml:413-417: duplicated fixture-vendoring block in the storyboard install step. Five lines (
SDK_ROOT=..., twomkdir -p/cppairs) re-run verbatim after lines 408-412. Idempotent — same source bytes, same dest path — so CI doesn't fail, but it's debris from the #780 → #784 rebase and the other 3 install sites prove the right shape is a single block. Delete L413-417. This is what would flip the review to--approve.
Minor nits (non-blocking)
- Commit
cddde254message says "pin @adcp/sdk to 7.10.1" but the file pins 7.9.0. Stale text from before the rollback; the follow-up commit6456aee2is honest about being a 7.9.0 retrigger. A later bisector hunting "when did we pin to 7.10.1" will land on a commit that doesn't. Squash-merge papers over it; otherwise worth amending. - Bump-instructions discoverability (ci.yml:9-12). Header comment is good. One added line — "to bump, edit this value and open a PR; cache invalidates automatically" — would close the loop for the next person who skims the workflow without reading the commit body.
Drop L413-417 and I'll approve.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-opened of #780 (close+reopen failed via API). See #780 for full body. Pinning to 7.9.0; vendoring step from #775 preserved.
TL;DR
@adcp/sdk@latestsites use the pin${{ env.ADCP_SDK_VERSION }}Refs