name: CI on: push: branches: [main] paths: - '.sources/**' - '**.lock' - '**.nix' pull_request: paths: - '.sources/**' - '**.lock' - '**.nix' workflow_dispatch: jobs: format: name: Format Nix files if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Get short revision id: rev run: echo "rev=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - name: Install Nix uses: cachix/install-nix-action@v27 - name: Format changes run: | nix run \ --inputs-from ./dev \ 'nixpkgs#nixfmt-rfc-style' -- . - name: Commit changes env: GITHUB_TOKEN: ${{ secrets.PUSH_TOKEN }} uses: planetscale/ghcommit-action@v0.1.39 with: commit_message: "style: format ${{ steps.rev.outputs.rev }}" repo: "${{ github.repository }}" branch: "${{ github.head_ref || github.ref_name }}" validate-sources: name: Validate sources runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Nix uses: cachix/install-nix-action@V27 - name: Check for external repositories run: | set -e nix eval --file ./.github/checkSources.nix vm: name: Test Modules runs-on: ubuntu-latest strategy: matrix: test: [unstable, stable] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Nix uses: cachix/install-nix-action@V27 - name: Setup cache uses: DeterminateSystems/magic-nix-cache-action@v6 - name: Run VM env: TEST: ${{ matrix.test }} run: | nix build \ --print-build-logs \ --show-trace \ "./dev#checks.x86_64-linux.module-test-$TEST"