Skip to content

ci: fail the checks on any dependency not pinned to an exact version - #5

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-11847-fail-the-checks-on-any-dependency-not-pinned-to-an-exact
Oct 31, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-11847-fail-the-checks-on-any-dependency-not-pinned-to-an-exact

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Closes CL-11847 (https://linear.app/abklabs/issue/CL-11847/fail-the-checks-on-any-dependency-not-pinned-to-an-exact-version).

Changes

  • scripts/verify-pins.ts: reads every tracked package.json outside vendor/.
    • Fails, naming the file and package@version, on:
      • ^, ~, ranges, wildcards, tags or latest
      • file: or link:
      • a git dependency without a full commit sha
      • a non-git URL
      • no tracked manifests at all
    • Reads: dependencies, dev, peer and optional dependencies, catalog and catalogs (at the top level and under workspaces), overrides and resolutions.
    • Passes: exact versions, exact npm: aliases, workspace:, catalog: references and override $ references.
  • Wiring: bun run check runs it as pins:verify, and CI runs it as its own job.

Verification

  • bun run pins:verify passes on all 14 manifests.
  • Run against a scratch repo:
    • Reported: ^ in a workspaces catalog, ^ in resolutions, a sha-suffixed tarball URL and npm:pkg@^1.
    • Passed: npm:pkg@1.2.3, workspace:^ and a sha-pinned .git URL. A my-package.json was ignored.
  • An independent review's findings are fixed; uppercase shas and +build metadata are deliberately left unsupported.
  • Lint and typecheck pass.

@linear-code

linear-code Bot commented Oct 31, 2026

Copy link
Copy Markdown

CL-11847

@TheGreatAxios
TheGreatAxios force-pushed the cl-11847-fail-the-checks-on-any-dependency-not-pinned-to-an-exact branch from 7f3753c to b1bee7e Compare October 31, 2026 08:32
@TheGreatAxios
TheGreatAxios marked this pull request as ready for review October 31, 2026 08:32
@corbits-triage

corbits-triage Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Triage: Pass

No changes needed from you. A maintainer will review this pull request.

Notes:

  • changes sensitive paths: ci: .github/workflows/ci.yml

Triage will approve.

@TheGreatAxios
TheGreatAxios merged commit b1bee7e into main Oct 31, 2026
7 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-11847-fail-the-checks-on-any-dependency-not-pinned-to-an-exact branch October 31, 2026 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant