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 - name: Record existing bundle hash run: | echo "BUNDLE_HASH=$(sha256sum >$GITHUB_ENV - name: Build action run: | nix develop --command -- just build - name: Check bundle consistency run: | NEW_BUNDLE_HASH=$(sha256sum &2 echo "The committed dist/index.js is out-of-date!" >&2 echo >&2 echo " Committed: $BUNDLE_HASH" >&2 echo " Built: $NEW_BUNDLE_HASH" >&2 echo >&2 echo 'Run `just build` then commit the resulting dist/index.js' exit 1 fi run-x86_64-linux: name: Run x86_64 Linux runs-on: ubuntu-22.04 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 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 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