name: CI on: push: branches: [main] pull_request: workflow_dispatch: jobs: build: name: Build (${{ matrix.system }}) strategy: fail-fast: false matrix: include: - system: x86_64-linux os: ubuntu-latest runs-on: ${{ matrix.os }} steps: # https://github.com/actions/runner-images/issues/2840#issuecomment-790492173 - name: Clear disk space run: | sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc sudo rm -rf /usr/local/share/boost sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout repository uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@v16 with: diagnostic-endpoint: "" - name: Setup Cache uses: DeterminateSystems/magic-nix-cache-action@v8 - name: Run build run: | nix run \ --inputs-from . \ nixpkgs#nix-fast-build -- \ --no-nom \ --option allow-import-from-derivation false format: name: Format runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@v16 with: diagnostic-endpoint: "" - name: Check formatting run: nix fmt -- --check . build-gate: name: Build gate needs: [build, format] if: always() runs-on: ubuntu-latest steps: - name: Exit with error if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') run: exit 1