diff --git a/.github/actions/setup-nix/action.yml b/.github/actions/setup-nix/action.yml new file mode 100644 index 0000000..7850fa4 --- /dev/null +++ b/.github/actions/setup-nix/action.yml @@ -0,0 +1,12 @@ +name: "Setup Nix" +description: "Install and configure Nix for Github Actions" +runs: + using: "composite" + steps: + - uses: nixbuild/nix-quick-install-action@v30 + - uses: nix-community/cache-nix-action@v6 + with: + # restore and save a cache using this key + primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock', '**/uv.lock') }} + # if there's no cache hit, restore a cache by this prefix + restore-prefixes-first-match: nix-${{ runner.os }}- diff --git a/.github/workflows/cd-docs.yml b/.github/workflows/cd-docs.yml index b6a1ff8..d734a09 100644 --- a/.github/workflows/cd-docs.yml +++ b/.github/workflows/cd-docs.yml @@ -21,8 +21,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: ./.github/actions/setup-nix - run: nix build '.#docs' diff --git a/.github/workflows/ci-nix-template.yml b/.github/workflows/ci-nix-template.yml index d21406b..5603a2b 100644 --- a/.github/workflows/ci-nix-template.yml +++ b/.github/workflows/ci-nix-template.yml @@ -18,8 +18,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: ./.github/actions/setup-nix - name: Run build run: nix build @@ -31,8 +30,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: ./.github/actions/setup-nix - uses: DeterminateSystems/flake-checker-action@main - name: Run lint @@ -46,8 +44,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/configure-git - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: ./.github/actions/setup-nix - name: Run tests run: nix develop --command bash -c "make test" @@ -60,8 +57,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/configure-git - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: ./.github/actions/setup-nix - name: Run install run: nix profile install '.' diff --git a/flake.lock b/flake.lock index 35a6fad..66f292c 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736429638, - "narHash": "sha256-dDWqQqSgMQXw5eFtcyoVijv7HbYJZOIo+jWQdJtsxn4=", + "lastModified": 1741914762, + "narHash": "sha256-09BzAZsfIzgPQhyx3GgcGiQ/847kfZxnTv/sn8xp5HI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f81eabd5dd7c9213516fa2d3fc1d108a751340d4", + "rev": "bec0a0519b3e8b164f94b17172f29126ea6a8697", "type": "github" }, "original": { @@ -63,11 +63,11 @@ ] }, "locked": { - "lastModified": 1737338290, - "narHash": "sha256-gnXlfFEHA+/jMH7R+7y3JxrI3WfOjgBhzzJNuFW70UU=", + "lastModified": 1741647088, + "narHash": "sha256-y/Aj21rMGdE23dcFfD4lRhNMgkhIRucp+uuWLWUXv0M=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "e1487e5cefda0c7990bdd2e660bee20971680e45", + "rev": "6d7eced86469cf89ed4d19d91b870163deb0dca2", "type": "github" }, "original": { @@ -83,11 +83,11 @@ ] }, "locked": { - "lastModified": 1737718664, - "narHash": "sha256-L/X8LdLW0jCAWrLukC63qdg8519IwMc6vkx+WZDj7r0=", + "lastModified": 1741648141, + "narHash": "sha256-jQEZCSCgm60NGmBg3JPu290DDhNVI1GVVEd0P8VCnME=", "owner": "pyproject-nix", "repo": "pyproject.nix", - "rev": "177aaaa370363e205e0d7b7cc7b3ea3e144aa065", + "rev": "7747e5a058245c7abe033a798f818f0572d8e155", "type": "github" }, "original": { @@ -163,11 +163,11 @@ ] }, "locked": { - "lastModified": 1737716196, - "narHash": "sha256-dC7J0Rua2UhP+EKlJY3jjQLzgzBnOo1iK/d2aIN0hAs=", + "lastModified": 1741780535, + "narHash": "sha256-B4seqoWl9HlKZ7m+nDosVtmDw9i6KbhvfonQlYhRrJg=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "e47ec890012166425d1f90fb825eff208baaef4b", + "rev": "7de0e836e005f971a252e20b478d12b8b64909d8", "type": "github" }, "original": { @@ -185,11 +185,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734940124, - "narHash": "sha256-2+4In1enfixXMTe4P+gDUgA93d+pEHGvG3a/sWX9Wt4=", + "lastModified": 1741781332, + "narHash": "sha256-iLyTiVQQd2pqTev7aAY5UMEXB0BYo53W0sbM3O8+jvc=", "owner": "TyberiusPrime", "repo": "uv2nix_hammer_overrides", - "rev": "1e739d79d54799f3ad62d0c529073390ec8b8ddb", + "rev": "3e91a25339cca5aaf282a9c8de499d8d807f02f1", "type": "github" }, "original": {