name: "install-nix-action test" on: pull_request: push: branches: - master env: nixpkgs_channel: nixpkgs=channel:nixos-24.11 oldest_supported_installer: nix-2.8.0 jobs: simple-build: strategy: 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: ${{ 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 - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: 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 - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ with: nix_path: ${{ env.nixpkgs_channel }} extra_nix_config: | sandbox = relaxed - run: cat /etc/nix/nix.conf - run: nix-build test.nix --arg noChroot true flakes: strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest - macos-13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install Nix uses: ./ - run: nix flake show github:NixOS/nixpkgs latest-installer: strategy: fail-fast: false matrix: include: - os: ubuntu-latest system: x86_64-linux - os: macos-latest system: aarch64-darwin - os: macos-13 system: x86_64-darwin runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Run NAR server run: | curl --location https://github.com/cachix/nar-toolbox/releases/download/v0.1.0/nar-toolbox-${{ matrix.system }} -O chmod +x ./nar-toolbox-${{ matrix.system }} ./nar-toolbox-${{ matrix.system }} serve https://cache.nixos.org & - name: Install Nix uses: ./ with: nix_path: ${{ env.nixpkgs_channel }} install_url: https://hydra.nixos.org/job/nix/master/installerScript/latest-finished/download/1/install install_options: "--tarball-url-prefix http://localhost:8080" - run: nix-build test.nix oldest-supported-installer: strategy: 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: ${{ 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] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash - run: docker pull ghcr.io/catthehacker/ubuntu:js-24.04 - run: | ./bin/act push \ -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-24.04 \ -j simple-build \ --matrix os:ubuntu-latest