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@v23 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 extra-substituters = https://nix-cache.nul.ie/main extra-trusted-public-keys = main:mMChkG8LwXrFirVfudqjSHasK1jV31OVElYD3eImYl8= - name: Set up attic run: | nix run .#nixpkgs.mine.x86_64-linux.attic-client -- \ login --set-default colony https://nix-cache.nul.ie "${{ secrets.NIX_CACHE_TOKEN }}" - 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 run: | nix run .#nixpkgs.mine.x86_64-linux.attic-client -- \ push main ${{ steps.build.outputs.path }}