diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f342540..a31337f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,48 +5,68 @@ on: branches: - master +env: + nixpkgs_channel: nixpkgs=channel:nixos-23.11 + oldest_supported_installer: nix-2.8.0 + # Fetch new versions from the Nix CI run: https://github.com/NixOS/nix/blob/master/.github/workflows/ci.yml + # TODO: add pinning upstream or rethink this + pinned_installer_hash: zfzfrbb59jsqrfkldwj8drcr9nhhc49k + jobs: simple-build: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + - macos-latest + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: ${{ env.nixpkgs_channel }} - run: nix-env -iA cachix -f https://cachix.org/api/v1/install - run: cat /etc/nix/nix.conf # cachix should be available and be able to configure a cache - run: cachix use cachix - run: nix-build test.nix + custom-nix-path: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + - macos-latest + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: - nix_path: nixpkgs=channel:nixos-20.03 - - run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03" + nix_path: ${{ env.nixpkgs_channel }} + - run: test $NIX_PATH == '${{ env.nixpkgs_channel }}' - run: nix-build test.nix extra-nix-config: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + - macos-latest + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: ${{ env.nixpkgs_channel }} extra_nix_config: | sandbox = relaxed - run: cat /etc/nix/nix.conf @@ -54,8 +74,12 @@ jobs: flakes: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + - macos-latest + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -65,37 +89,45 @@ jobs: installer-options: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + # - macos-latest missing installer for aarch64-darwin + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: ${{ env.nixpkgs_channel }} install_options: --tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve - install_url: https://nixos-nix-install-tests.cachix.org/serve/s62m7lc0q0mz2mxxm9q0kkrcg90njzhq/install + install_url: https://nixos-nix-install-tests.cachix.org/serve/${{ env.pinned_installer_hash }}/install - run: nix-build test.nix oldest-supported-installer: strategy: - matrix: - os: [ubuntu-latest, macos-latest] + fail-fast: false + matrix: + os: + - ubuntu-latest + - macos-latest + - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: - nix_path: nixpkgs=channel:nixos-22.11 - install_url: https://releases.nixos.org/nix/nix-2.8.0/install + nix_path: ${{ env.nixpkgs_channel }} + install_url: https://releases.nixos.org/nix/${{ env.oldest_supported_installer }}/install - run: nix-build test.nix act-support: strategy: - matrix: - os: [ubuntu-latest] + matrix: + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4