chore: dependency maintenance + repair the CI workflow - #2
Merged
Conversation
Lockfile-only dependency maintenance — no source or public API changes. - brace-expansion 1.1.15 -> 1.1.18, clearing a high-severity DoS advisory set (GHSA-3jxr-9vmj-r5cp, GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895). The package is reachable only via the dev toolchain (ultra_cart_rest_api_v2 -> @babel/cli -> glob -> minimatch), so published installs were never exposed; `npm audit --omit=dev` was already clean. - ultra_cart_rest_api_v2 4.1.103 -> 4.1.125. The declared dev/peer range (^4.1.103) is unchanged, so consumers are not forced to upgrade. `npm audit` now reports 0 vulnerabilities; `npm test` passes 20/20. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The schema-drift job gated its auth step on `if: ${{ secrets.GCP_SA_KEY != '' }}`.
The `secrets` context is not available in `if` conditions, and one invalid
expression invalidates the entire workflow file — so *every* CI run since the
repo's first commit failed in 0s with "workflow file issue" and the unit tests
never ran on any push or PR.
The job could not have worked regardless: GCP_SA_KEY was never configured (the
repo has no secrets or variables set), so it was gating on a credential that
does not exist while taking the test suite down with it.
Remove the job rather than repair the guard. CI is now checkout -> install ->
npm test, which runs. The weekly cron goes with it — its only stated purpose was
the drift check.
The drift check itself is unaffected and still runs locally via
`npm run check:schema`, as CONTRIBUTING.md documents. Bringing it back into CI
is better served by its own workflow using the script's existing credential-free
`--schema-dir` offline mode than by putting a service-account key in a public
repo.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Summary
Two pieces of maintenance. No source, no
package.json, no public API change.1. Dependencies
brace-expansionultra_cart_rest_api_v2npm auditreported one high-severity finding — GHSA-3jxr-9vmj-r5cp (exponential-time expansion), GHSA-mh99-v99m-4gvg (OOM crash), GHSA-rgw5-rvv9-x895 (bypass of the CVE-2026-14257 mitigation). Reachability is dev-only:npm audit --omit=devwas already clean beforehand, andfilesships onlysrc/+CHANGELOG.md, so no published install of@ultracart/bigquery-sdkwas ever exposed. Hygiene for local dev and CI, not a consumer-facing vulnerability.No
package.jsonchange:^4.1.103already permits 4.1.125, sonpm updatemoved the lockfile alone. Deliberately not tightening thepeerDependenciesrange — that would force an upgrade on consumers for no benefit. Runtime dependency set is untouched (@google-cloud/bigqueryonly).2. CI repair
.github/workflows/ci.ymlgated its BigQuery auth step on:The
secretscontext is not available inifconditions, and a single invalid expression invalidates the entire workflow file. Consequence: every CI run since the repo's first commit failed in 0s with "workflow file issue", and the unit tests never ran on any push or PR — including on the v0.1.0 release commit.The job could not have worked in any case:
GCP_SA_KEYwas never configured — this repo has no secrets or variables set at all — so it was gating on a credential that doesn't exist while taking the test suite down with it.This removes the job rather than repairing the guard. CI is now checkout → install →
npm test, and it runs. The weekly cron goes with it; its only stated purpose was the drift check.ci.ymlnow contains no${{ }}expressions, so there is nothing left that can silently invalidate it.The drift check is unaffected — it still runs locally via
npm run check:schema, exactly as CONTRIBUTING.md documents. A follow-up can return it to CI using the script's existing credential-free--schema-diroffline mode against committed schema snapshots, in its own workflow so it can never take the unit tests down again. That's preferable to putting a long-lived service-account key in a public repo's secrets, and consistent with howpublish.ymlalready avoids long-lived tokens via OIDC.Verification
npm audit→ 0 vulnerabilities (was 1 high)npm test→ 20/20 passing, matching the pre-change baselineDeliberately out of scope
@google-cloud/bigquery8.3.1 → 9.0.1 — major bump on the one runtime dependency. Needs its own reviewed PR.npm ci || npm install— the fallback silently ignores the committed lockfile. Worth tightening to plainnpm ci, but left alone here to keep this PR's CI change minimal.npm run check:schemaagainst a real dataset before the next release.🤖 Generated with Claude Code