Skip to content

Draft: NSM Reissuance Language #2

Draft: NSM Reissuance Language

Draft: NSM Reissuance Language #2

Workflow file for this run

name: Check Renderability
on:
pull_request:
jobs:
render:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 3
- name: Verify nonexistence of `rendered` and `base_ref`
shell: bash
run: |
if [ -e rendered ]; then exit 1; fi
if [ -e base_ref ]; then exit 1; fi
- uses: DeterminateSystems/nix-installer-action@c5a866b6ab867e88becbed4467b93592bce69f8a # v21
- name: Restore Nix store cache
id: nix-cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: /tmp/nix-closure
key: nix-devshell-${{ runner.os }}-${{ hashFiles('flake.lock', 'flake.nix') }}
- name: Import cached Nix store paths
if: steps.nix-cache.outputs.cache-hit == 'true'
run: nix-store --import < /tmp/nix-closure/store.nar
- name: Compile ZIPs
run: nix develop --profile /tmp/dev-profile --command make all-zips
- name: Set base ref
run: |
git show --format=%H --no-notes --no-patch "HEAD~1" -- |tee base_ref
if ! ( grep -E '^[0-9a-f]{40}$' base_ref ); then exit 1; fi
- name: Compile Protocol Specification
run: nix develop --profile /tmp/dev-profile --command make all
- name: Export Nix store for caching
if: steps.nix-cache.outputs.cache-hit != 'true'
run: |
mkdir -p /tmp/nix-closure
nix-store --export $(nix-store -qR /tmp/dev-profile) > /tmp/nix-closure/store.nar