Skip to content

chore(ci): update socket-registry workflow refs to latest main#123

Merged
John-David Dalton (jdalton) merged 2 commits into
mainfrom
chore/update-ci-refs
Mar 31, 2026
Merged

chore(ci): update socket-registry workflow refs to latest main#123
John-David Dalton (jdalton) merged 2 commits into
mainfrom
chore/update-ci-refs

Conversation

@jdalton

@jdalton John-David Dalton (jdalton) commented Mar 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Update SocketDev/socket-registry reusable workflow SHA refs to latest main (b809e72d) which adds Node.js 24 support and drops Node.js 20 (EOL) from the default test matrix

Test plan

  • CI should pass without Node.js deprecation warnings

@jdalton John-David Dalton (jdalton) changed the title chore(ci): update socket-registry workflow refs for Node.js 24 support chore(ci): update socket-registry workflow refs to latest main Mar 31, 2026
@jdalton John-David Dalton (jdalton) merged commit d1d9fab into main Mar 31, 2026
12 checks passed
@jdalton John-David Dalton (jdalton) deleted the chore/update-ci-refs branch March 31, 2026 03:33
John-David Dalton (jdalton) added a commit that referenced this pull request May 28, 2026
Includes four CI/publish fixes needed for v6.0.4 to ship:

1. scripts/publish-shared.mts::isAlreadyPublished catches the
   spawn-wrapper rejection on non-zero exit. `npm view ...@6.0.4`
   exits non-zero pre-publish (404 not-published-yet), which was
   crashing the publish script before reaching the publish call.

2. scripts/publish.mts gains a `--direct` mode (classic-token
   `npm publish`, no staging). The default `--staged` path is
   blocked by Socket Firewall not yet allowlisting `/-/stage`
   endpoints — tracked in firewall PR #123. `--direct` runs
   `pnpm publish` (no `stage publish`) so it never hits the
   blocked endpoint family. Same `--provenance` injection in
   GitHub Actions; flip back to `--staged` once the firewall fix
   ships.

3. .github/workflows/provenance.yml uses the new `--direct` flag
   instead of `--staged`. Comment in the YAML pins the SFW PR for
   when we revert.

4. .github/workflows/ci.yml test-script prefixes `pnpm run build`
   so vitest can resolve dist/ imports in ansi/normalize tests.

5. test/unit/dlx/detect-helpers.test.mts compares against
   normalizePath(pkgPath) instead of native-separator path.join
   output (fleet forward-slash convention; was failing on the
   Windows runner).
John-David Dalton (jdalton) added a commit that referenced this pull request May 28, 2026
Includes CI/publish fixes needed for v6.0.4 to ship:

1. scripts/publish-shared.mts::isAlreadyPublished switched to
   node's spawnSync directly (NOT lib's async spawn wrapper). The
   wrapper attaches a Promise to its return that rejects on
   non-zero exit with "command failed"; that rejection is on the
   wrapper's Promise, not the one runCapture's `new Promise(...)`
   returns, so an async try/catch in runCapture can't catch it.
   `npm view <pkg>@<unpublished-version>` exits 1 — the expected
   pre-publish state — which was crashing the publish workflow as
   an unhandled rejection. spawnSync sidesteps the
   wrapper-Promise problem entirely.

2. scripts/publish.mts gains a `--direct` mode (classic-token
   `pnpm publish`, no staging). Default `--staged` is blocked by
   Socket Firewall not yet allowlisting `/-/stage` endpoints —
   tracked in firewall PR #123. `--direct` runs `pnpm publish` so
   it never hits the blocked endpoint family. Same `--provenance`
   injection under GitHub Actions; flip back to `--staged` once
   PR #123 ships.

3. .github/workflows/provenance.yml uses `--direct` instead of
   `--staged`. Comment in the YAML pins the SFW PR for revert.

4. .github/workflows/ci.yml test-script prefixes `pnpm run build`
   so vitest can resolve dist/ imports in ansi/normalize tests.

5. test/unit/dlx/detect-helpers.test.mts compares against
   normalizePath(pkgPath) instead of native-separator path.join
   output (fleet forward-slash convention; was failing on the
   Windows runner).
John-David Dalton (jdalton) added a commit that referenced this pull request May 28, 2026
Includes CI/publish fixes needed for v6.0.4 to ship:

1. scripts/publish-shared.mts::isAlreadyPublished now `await`s
   lib's async `spawn` inside a try/catch. The async spawn's
   wrapper Promise rejects on non-zero exit ("command failed");
   `npm view <pkg>@<unpublished-version>` exits 1 (expected
   pre-publish state) and was crashing the workflow as an
   unhandled rejection. The try/catch turns it into the boolean
   "not published" answer we want. stdio is `'ignore'` since we
   only care about the exit code.

2. scripts/publish.mts gains a `--direct` mode (classic-token
   `pnpm publish`, no staging). Default `--staged` is blocked by
   Socket Firewall not yet allowlisting `/-/stage` endpoints —
   tracked in firewall PR #123. `--direct` bypasses the
   staged-publish endpoint family entirely. Same `--provenance`
   under GitHub Actions; flip back to `--staged` once PR #123
   ships.

3. .github/workflows/provenance.yml uses `--direct` instead of
   `--staged`. Comment in the YAML pins the SFW PR for revert.

4. .github/workflows/ci.yml test-script prefixes `pnpm run build`
   so vitest can resolve dist/ imports in ansi/normalize tests.

5. test/unit/dlx/detect-helpers.test.mts compares against
   normalizePath(pkgPath) instead of native-separator path.join
   output (fleet forward-slash convention; was failing on the
   Windows runner).
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