name: CI on: push: branches: [master] jobs: check: name: Check, build and cache Nix flake runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v27 with: # Gitea will supply a token in GITHUB_TOKEN, which this action will # try to pass to Nix when downloading from GitHub github_access_token: ${{ secrets.GH_PULL_TOKEN }} extra_nix_config: | # Make sure we're using sandbox sandbox-fallback = false # Big C++ projects fill up memory... cores = 6 extra-substituters = https://nix-cache.nul.ie extra-trusted-public-keys = nix-cache.nul.ie-1:BzH5yMfF4HbzY1C977XzOxoPhEc9Zbu39ftPkUbH+m4= - name: Check flake run: nix flake check - name: Build the world id: build run: | path=$(nix build --no-link .#ci.x86_64-linux --json | jq -r .[0].outputs.out) echo "path=$path" >> "$GITHUB_OUTPUT" - name: Push to cache env: HARMONIA_SSH_KEY: ${{ secrets.HARMONIA_SSH_KEY }} run: | ci/push-to-cache.sh "${{ steps.build.outputs.path }}"