Merge pull request #35 from DeterminateSystems/flakehub-cache #54
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 <dist/index.js | sed 's/ -//')" >>$GITHUB_ENV | |
- name: Check shell scripts | |
run: | | |
nix develop --command shellcheck ./.github/workflows/cache-test.sh | |
- name: Build action | |
run: | | |
nix develop --command just build | |
- name: Check bundle consistency | |
run: | | |
NEW_BUNDLE_HASH=$(sha256sum <dist/index.js | sed 's/ -//') | |
if [[ "$BUNDLE_HASH" != "$NEW_BUNDLE_HASH" ]]; then | |
>&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 | |
permissions: | |
id-token: "write" | |
contents: "read" | |
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" | |
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" | |
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 |