ci: nix flake archive before check to materialize input sources
Some checks failed
Check / eval-and-lint (push) Failing after 1m11s
Some checks failed
Check / eval-and-lint (push) Failing after 1m11s
flake check kept failing on a cold store with "path '…-source' is not valid" while evaluating Stylix's import-from-derivation in the home-manager fontconfig text. Nix keeps flake-input sources in a git cache and only materializes the -source store paths lazily; IFD readFile needs them as real store paths. Works locally only because prior builds already materialized them. Add a `nix flake archive` step that copies every transitive input into the store before the check (and before the eval matrix, which has the same need). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -70,6 +70,16 @@ jobs:
|
|||||||
curl -L "https://releases.nixos.org/nix/nix-${NIX_VERSION}/install" | sh -s -- --no-daemon
|
curl -L "https://releases.nixos.org/nix/nix-${NIX_VERSION}/install" | sh -s -- --no-daemon
|
||||||
echo "$HOME/.nix-profile/bin" >> "$GITHUB_PATH"
|
echo "$HOME/.nix-profile/bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
|
- name: Materialize flake inputs into the store
|
||||||
|
# Nix keeps flake-input sources in a git cache and only materialises
|
||||||
|
# the `-source` store paths lazily. Stylix/base16.nix do
|
||||||
|
# import-from-derivation (readFile out of those sources) during eval,
|
||||||
|
# which needs them as real store paths — on a cold CI store that
|
||||||
|
# fails with "path '…-source' is not valid" (works locally only
|
||||||
|
# because prior builds already materialised them). `flake archive`
|
||||||
|
# copies every transitive input into the store up front.
|
||||||
|
run: nix flake archive
|
||||||
|
|
||||||
- name: nix flake check --no-build
|
- name: nix flake check --no-build
|
||||||
run: nix flake check --no-build
|
run: nix flake check --no-build
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user