name: CI on: pull_request: push: branches: [main] jobs: build: name: Build runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - name: Check shell scripts run: | nix develop --command shellcheck ./.github/workflows/cache-test.sh - uses: DeterminateSystems/nix-installer-action@main - name: Install pnpm dependencies run: nix develop --command pnpm install - name: Check formatting run: nix develop --command pnpm run format - name: Lint run: nix develop --command pnpm run lint - name: Build run: nix develop --command pnpm run build - name: Package run: nix develop --command pnpm run package - run: git status --porcelain=v1 - run: test $(git status --porcelain=v1 2>/dev/null | wc -l) -eq 0 run-x86_64-linux: name: Run x86_64 Linux runs-on: ubuntu-22.04 permissions: id-token: "write" contents: "read" env: ACTIONS_STEP_DEBUG: true steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: flakehub: true extra-conf: | narinfo-cache-negative-ttl = 0 - name: Cache the store uses: ./ - name: Check the cache for liveness run: | .github/workflows/cache-test.sh run-x86_64-darwin: name: Run x86_64 Darwin runs-on: macos-12 permissions: id-token: "write" contents: "read" env: ACTIONS_STEP_DEBUG: true steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: flakehub: true extra-conf: | narinfo-cache-negative-ttl = 0 - name: Cache the store uses: ./ - name: Check the cache for liveness run: | .github/workflows/cache-test.sh run-aarch64-darwin: name: Run aarch64 Darwin concurrency: build-ARM64-macOS runs-on: macos-latest-xlarge permissions: id-token: "write" contents: "read" env: ACTIONS_STEP_DEBUG: true steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: flakehub: true extra-conf: | narinfo-cache-negative-ttl = 0 - name: Cache the store uses: ./ - name: Check the cache for liveness run: | .github/workflows/cache-test.sh