ci: use logos-co/setup-nix-cache-action for Nix setup and caching - #83
Merged
Conversation
Replaces the per-repo installer + cachix pair with the shared action, which
installs Nix with the Logos Attic cache (cache.nix.logos.co) preconfigured and
publishes what the job builds — master to the public cache, every other ref to
ci.
Each converted job also gains
environment: ${{ github.ref == 'refs/heads/master' && 'public-cache' || '' }}
because ATTIC_TOKEN_PUBLIC only exists inside that environment. Without it the
secret resolves empty on master and publishing is silently skipped — the job
still passes, so the omission would not surface as a failure.
The action installs Nix on every runner, macOS included. Sibling repos used
DeterminateSystems' installer there because cachix/install-nix-action collided
with the runner's pre-existing _nixbld users (eDSRecordAlreadyExists); that no
longer reproduces — logos-delivery-module converted the plain way and its
macos-latest leg passes — so the second installer is not carried over.
One property is deliberately not carried over: the old cachix step ran with
`continue-on-error: true` so a failed cache push could not fail a job whose
tests passed. The action exposes no equivalent, and adding one would also
swallow genuine setup failures now that the same step installs Nix rather than
only publishing at the end.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
📊 Tutorial execution reportRendered tutorial alongside the commands actually run and their output (updated each run, commit Pages can take a minute to update after the run finishes. |
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.
Converts this repo to
logos-co/setup-nix-cache-actionfor Nix setup and caching, replacing the per-repo installer +cachix/cachix-actionpair. The action installs Nix with the Logos Attic cache (cache.nix.logos.co) preconfigured and publishes what the job builds — master to the public cache, every other ref toci.Each converted job also gains
ATTIC_TOKEN_PUBLICexists only inside that environment. Without the expression the secret resolves empty on master and publishing is silently skipped — the job still passes, so the omission would never surface as a failure.Two deliberate choices
The action installs Nix on macOS too. Several repos here used
DeterminateSystems/nix-installer-actionon macOS runners becausecachix/install-nix-actioncollides with the runner's pre-existing_nixbldusers (eDSRecordAlreadyExists). That no longer reproduces:logos-delivery-moduleis already converted the plain way and itsbuild-and-test (macos-latest)leg passes. Keeping the workaround would have meant a second installer plus a duplicated substituter/key block for a failure that two green runs say does not happen. If it recurs it fails loudly at install, which is recoverable — unlike the silent-skip above.continue-on-erroris not carried over. The old cachix step had it, so a failed cache push could not fail a job whose tests passed. The action exposes no equivalent, and adding one would also swallow genuine setup failures now that the same step installs Nix rather than only publishing at the end.Verified: every touched workflow parses (
yq), nocachix/ installer residue remains, and every job using the action carries the environment expression.🤖 Generated with Claude Code