diff --git a/.github/workflows/test-per-system.yml b/.github/workflows/test-per-system.yml index 2c5cd87..c0686cd 100644 --- a/.github/workflows/test-per-system.yml +++ b/.github/workflows/test-per-system.yml @@ -13,7 +13,8 @@ on: type: string oldest_installer_version: description: 'Oldest supported Nix installer version to test (e.g., nix-2.8.0)' - required: true + required: false + default: 'nix-2.8.0' type: string env: @@ -94,4 +95,4 @@ jobs: with: nix_path: ${{ env.nixpkgs_channel }} install_url: https://releases.nixos.org/nix/${{ inputs.oldest_installer_version }}/install - - run: nix-build tests/test-build.nix \ No newline at end of file + - run: nix-build tests/test-build.nix diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d122210..fb25d14 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,6 +42,10 @@ jobs: - runs-on: macos-14 system: aarch64-darwin oldest_installer_version: nix-2.8.0 + - runs-on: macos-15-intel + system: x86_64-darwin + oldest_installer_version: nix-2.18.6 + # macos13 will be retired on 04/12/2025 - runs-on: macos-13 system: x86_64-darwin oldest_installer_version: nix-2.8.0 @@ -61,4 +65,5 @@ jobs: ./bin/act push \ -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-24.04 \ -j simple-build \ - --matrix os:ubuntu-latest + --matrix runs-on:ubuntu-latest \ + --matrix system:x86_64-linux diff --git a/README.md b/README.md index ade4392..70a9836 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # install-nix-action -![GitHub Actions badge](https://github.com/cachix/install-nix-action/workflows/install-nix-action%20test/badge.svg) +[![Tests](https://github.com/cachix/install-nix-action/actions/workflows/test.yml/badge.svg)](https://github.com/cachix/install-nix-action/actions/workflows/test.yml) Installs [Nix](https://nixos.org/nix/) on GitHub Actions runners for Linux and macOS. @@ -58,7 +58,7 @@ jobs: | Name | Description | Default | |------|-------------|---------| -| `install_url` | URL to install Nix from. Useful for testing non-stable releases or pinning a specific Nix version (e.g., https://releases.nixos.org/nix/nix-2.3.7/install) | `""` | +| `install_url` | URL to install Nix from. Useful for testing non-stable releases or pinning a specific Nix version (e.g., ) | `""` | | `install_options` | Additional flags to pass to the Nix installer script | `""` | | `extra_nix_config` | Additional configuration to append to `/etc/nix/nix.conf` | `""` | | `nix_path` | Value to set for the `NIX_PATH` environment variable (e.g., `nixpkgs=channel:nixos-unstable`) | `""` | @@ -66,7 +66,6 @@ jobs: | `set_as_trusted_user` | Add the current user to the `trusted-users` list | `true` | | `enable_kvm` | Enable KVM for hardware-accelerated virtualization on Linux | `true` | - ## Differences from the default Nix installer Some settings have been optimised for use in CI environments: @@ -196,8 +195,9 @@ nix develop --impure In multi-user mode, Nix commands that operate on the Nix store are forwarded to a privileged daemon. This daemon runs in a separate context from your GitHub Actions workflow and cannot access the workflow's environment variables. Consequently, any secrets or credentials defined in your workflow environment will not be available to Nix operations that require store access. There are two ways to pass AWS credentials to the Nix daemon: - - Configure a default profile using the AWS CLI - - Install Nix in single-user mode + +- Configure a default profile using the AWS CLI +- Install Nix in single-user mode #### Configure a default profile using the AWS CLI diff --git a/install-nix.sh b/install-nix.sh index c72765b..3731171 100755 --- a/install-nix.sh +++ b/install-nix.sh @@ -102,7 +102,7 @@ echo "installer options: ${installer_options[*]}" # There is --retry-on-errors, but only newer curl versions support that curl_retries=5 -nix_version=2.31.2 +nix_version=2.32.2 while ! curl -sS -o "$workdir/install" -v --fail -L "${INPUT_INSTALL_URL:-https://releases.nixos.org/nix/nix-${nix_version}/install}"; do sleep 1 ((curl_retries--))