Skip to content

ci: adopt rainix nix-cachix-setup composite, drop deprecated DeterminateSystems nix installer - #31

Merged
thedavidmeister merged 1 commit into
mainfrom
ci-adopt-nix-cachix-setup
Jul 14, 2026
Merged

thedavidmeister merged 1 commit into
mainfrom
ci-adopt-nix-cachix-setup

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

Closes #30

What

Replaces the deprecated DeterminateSystems/nix-installer-action@main (+ flakehub-cache-action@main) in .github/workflows/npm-release.yaml with the org-standard shared composite rainlanguage/rainix/.github/actions/nix-cachix-setup@main, which bundles nix-quick-install + Cachix + cache-nix-action and pins every third-party action to an exact SHA (single source of truth — "rainix owns shared CI"). The pre-existing actions/checkout@v4 (with ssh-key, submodules recursive, fetch-depth 0) is kept, so the composite is called with checkout: 'false'.

This also removes the @main floating-ref supply-chain risk the roh-scan signal called out (the composite pins every third-party action to an exact SHA). test-ui.yaml/test-wasm.yaml install no Nix and are untouched.

This is the same swap already applied and green on the pilot PRs rainlanguage/rain.chainlink#11, rainlanguage/rain.tier.interface#8, and rainlanguage/assemblyscript-cbor#5.

QA

CI-infrastructure-only change: it touches a single GitHub Actions workflow file and no source or test code, so there is no behavioral code surface to mutation-test.

  • Scope honesty: npm-release.yaml runs on: release, so this PR's own CI does not exercise it — there is no PR-triggered run to observe. The change is validated by equivalence to the established pattern rather than by a PR-CI run, and I flag that explicitly here rather than implying a green run proves it.
  • Independent confirmation: the identical installer → composite swap is already green on the pilots rain.chainlink#11 / rain.tier.interface#8 / assemblyscript-cbor#5; the composite's input contract (checkout, cachix-auth-token) matches nix-cachix-setup/action.yml on rainix@main.
  • Equivalence: the composite provides the same capabilities the two removed steps did (Nix install + a flake/store cache) plus the org's pinned-SHA hardening. checkout: 'false' preserves the existing checkout (ssh-key: PUBLISH_PRIVATE_KEY, submodules recursive, fetch-depth 0), so the release job's SSH-authed publish path is unchanged. The subsequent setup-node and publish steps are untouched. An empty CACHIX_AUTH_TOKEN degrades to a read-only Cachix pull (the composite's documented default).
  • Category check: issue asks to replace the deprecated installer (npm-release.yaml) with the org-standard install (preferred: adopt the shared composite) — done → Closes CI: replace deprecated DeterminateSystems/nix-installer-action with org-standard nix-quick-install #30.

Co-Authored-By: Claude noreply@anthropic.com

…ateSystems nix installer

Closes #30

Co-Authored-By: Claude <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Jul 12, 2026
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@thedavidmeister, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 54 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9bb21c7c-6877-4534-8d39-7d0e16411254

📥 Commits

Reviewing files that changed from the base of the PR and between 9c4ed48 and 394d9c2.

📒 Files selected for processing (1)
  • .github/workflows/npm-release.yaml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-adopt-nix-cachix-setup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@thedavidmeister thedavidmeister added the ai:ready AI vetter: passes review, ready for human decision label Jul 12, 2026
@thedavidmeister

Copy link
Copy Markdown
Contributor Author

🤖 ai:vetter
Reviewed 394d9c2: ready — closes #30 — swaps deprecated DeterminateSystems installer for org nix-cachix-setup composite in npm-release.yaml; checkout:false + cachix-auth-token match the composite's real input contract, existing ssh-key deploy checkout preserved; sole roh-scan-flagged file
cost 158 — CI installer→composite swap, contract-verified

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai:ready AI vetter: passes review, ready for human decision

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: replace deprecated DeterminateSystems/nix-installer-action with org-standard nix-quick-install

1 participant