name: "Test" on: workflow_call env: ACTIONS_STEP_DEBUG: true jobs: public-cache: strategy: matrix: os: [ubuntu-latest, macos-latest] useDaemon: [true, false] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 - name: Test public cache uses: ./ with: name: cachix-action signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" useDaemon: ${{ matrix.useDaemon }} - run: nix-build test.nix public-cache-no-signing-key: strategy: matrix: os: [ubuntu-latest, macos-latest] useDaemon: [true, false] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 - name: Test public cache no signing key uses: ./ with: name: cachix-action useDaemon: ${{ matrix.useDaemon }} - run: nix-build test.nix private-cache: if: ${{ github.ref == 'refs/heads/master' }} strategy: matrix: os: [ubuntu-latest, macos-latest] useDaemon: [true, false] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 - name: Test private cache uses: ./ with: name: cachix-action-private signingKey: "${{ secrets.CACHIX_SIGNING_KEY_PRIVATE }}" authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" useDaemon: ${{ matrix.useDaemon }} - run: nix-build test.nix push-paths: strategy: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 - id: paths run: | paths=$(nix-instantiate test.nix | tr '\n' ' ') echo "OUT_PATHS=$paths" >> $GITHUB_OUTPUT - name: Test pushPaths uses: ./ with: name: cachix-action signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" pathsToPush: "${{ steps.paths.outputs.OUT_PATHS }}" installCommand: strategy: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 - name: Test private cache uses: ./ with: name: cachix-action signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" installCommand: "nix-env -j8 -f https://cachix.org/api/v1/install -iA cachix" - run: nix-build test.nix nix-master: strategy: matrix: include: - os: ubuntu-latest system: x86_64-linux - os: macos-13 system: x86_64-darwin - os: macos-latest system: aarch64-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 & - uses: cachix/install-nix-action@v30 with: install_url: https://hydra.nixos.org/job/nix/master/installerScript/latest-finished/download/1/install install_options: "--tarball-url-prefix http://localhost:8080" - name: Test public cache uses: ./ with: name: cachix-action signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" - run: nix-build test.nix