Skip to content

Harden CI and modernize pnpm toolchain (corepack + pnpm 11)#733

Open
stabbylambda wants to merge 2 commits into
mainfrom
ci/harden-and-pnpm11
Open

Harden CI and modernize pnpm toolchain (corepack + pnpm 11)#733
stabbylambda wants to merge 2 commits into
mainfrom
ci/harden-and-pnpm11

Conversation

@stabbylambda

Copy link
Copy Markdown
Owner

Summary

Modernizes the toolchain and hardens GitHub Actions workflows, matching the treatment applied to sibling repos.

pnpm → corepack + pnpm 11

  • devenv.nix: replaced languages.javascript.pnpm.enable = true with languages.javascript.corepack.enable = true.
  • Root package.json: pinned "packageManager": "pnpm@11.5.2".
  • Regenerated the lockfile with pnpm 11 (pnpm install --lockfile-only); it stays at lockfileVersion: '9.0' with no content changes.

Build allowlist — N/A

pnpm-workspace.yaml has no allowBuilds/onlyBuiltDependencies/settings config, and an empirical CI=true pnpm install --frozen-lockfile produced no ERR_PNPM_IGNORED_BUILDS. Left as-is.

CI workflow hardening (deploy.yml, rust.yml)

  • Pinned every action to a commit SHA with a # vX.Y.Z comment (checkout, install-nix-action, cachix-action, configure-aws-credentials).
  • Added timeout-minutes: 30 to every job.
  • Added a standard concurrency group to rust.yml. deploy.yml keeps its dedicated serialized deploy group (cancel-in-progress: false).
  • deploy.yml remains gated to push/main + workflow_dispatch, so it is skipped on PRs (expected).

These workflows use the devenv-shell pattern rather than setup-node/pnpm/action-setup, so the pnpm-store cache reordering items from the playbook do not apply. No Dockerfile and no Vite config exist, so those items are N/A.

Validation

  • actionlint passes on both workflows with no warnings.
  • CI=true pnpm install --frozen-lockfile and --ignore-scripts both succeed.

🤖 Generated with Claude Code

stabbylambda and others added 2 commits June 8, 2026 07:41
Replace languages.javascript.pnpm.enable with corepack.enable in devenv.nix
and add packageManager "pnpm@11.5.2" to the root package.json so pnpm 11 is
used consistently locally and in CI. Lockfile remains lockfileVersion 9.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pin every action to a commit SHA with a version comment, add job
timeout-minutes, and add a standard concurrency group to the Rust
workflow. The deploy workflow keeps its dedicated serialized "deploy"
concurrency group (cancel-in-progress: false) and remains gated to
push/main + workflow_dispatch, so it does not run on pull requests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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