diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38126dd6839f..4afc2f5c1dd3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,45 @@ permissions: read-all jobs: + fastbuild: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: cachix/install-nix-action@v25 + with: + # The sandbox would otherwise be disabled by default on Darwin + extra_nix_config: "sandbox = true" + - run: echo CACHIX_NAME="$(echo $GITHUB_REPOSITORY-install-tests | tr "[A-Z]/" "[a-z]-")" >> $GITHUB_ENV + - uses: cachix/cachix-action@v14 + if: needs.check_secrets.outputs.cachix == 'true' + with: + name: '${{ env.CACHIX_NAME }}' + signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - name: cache ccache files + uses: actions/cache@v4 + with: + path: ~/.ccache + key: ${{ matrix.os }}-ccache-${{ github.run_number }} + restore-keys: | + ${{ matrix.os }}-ccache- + - run: | + export CCACHE_BASEDIR=$PWD + nix --experimental-features 'nix-command flakes' develop .\#native-ccacheStdenvPackages \ + --command bash -c " + autoreconf -vfi && + ./configure \$configureFlags --prefix=$PWD/outputs && + make install OPTIMIZE=0 -j$(nproc) && + make installcheck -j$(nproc) + " + tests: needs: [check_secrets] strategy: