Skip to content

ci: always run cachix on master push#14

Merged
abizer merged 1 commit into
masterfrom
ci-cachix-always-on-master
May 16, 2026
Merged

ci: always run cachix on master push#14
abizer merged 1 commit into
masterfrom
ci-cachix-always-on-master

Conversation

@abizer
Copy link
Copy Markdown
Owner

@abizer abizer commented May 16, 2026

Summary

  • Drops the paths: filter on .github/workflows/cachix.yaml so every push to master builds and pushes a binary to the abizer cachix cache.
  • The Nix derivation pins version = self.shortRev and src = self, so every commit on master produces a fresh store-path hash — including the ones the previous filter skipped (release workflows, brew bottle updates, README/doc-only changes).
  • That mismatch is what just stranded master at 6deeb98 with cachix still pointing at bfa3180; flake users were left building from source.

Why drop the filter instead of widening it

  • Cachix builds finish in ~2m per system, and the matrix is just x86_64-linux + aarch64-darwin.
  • Maintaining a list of "things that go into the derivation" means tracking flake.nix inputs forever; one easier rule wins over a clever one that keeps drifting.

Test plan

  • After merge, confirm the cachix run for the merge commit completes and the new short-rev store path is fetchable from abizer.cachix.org.
  • nix build .#packages.aarch64-darwin.default on the new rev should be a pure cache fetch (no local compile).

🤖 Generated with Claude Code


Note

Low Risk
Low risk: this only changes GitHub Actions trigger conditions, but it may increase CI workload/cost by running on every master push.

Overview
Removes the paths: filter from .github/workflows/cachix.yaml so the Cachix build runs on every push to master (and via manual dispatch), rather than only when certain files change.

This ensures the Nix build is executed and pushed to cache for all commits, including doc-only or release-related changes that previously skipped the workflow.

Reviewed by Cursor Bugbot for commit 504eca8. Bugbot is set up for automated code reviews on this repo. Configure here.

The Nix derivation pins version = self.shortRev and src = self, so
every commit on master changes the store path — including commits the
previous paths filter skipped (workflows, docs, brew bottle bumps).
That left the binary cache one or more revs behind master and made
nssh users build from source on every flake update.

Cachix builds finish in under two minutes per system, so always
running on master is the simpler durable fix vs. trying to keep the
paths filter in sync with every input the derivation actually sees.
@abizer abizer merged commit e8feee9 into master May 16, 2026
2 checks passed
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