Download .github/workflows/idris-proofs.yml from Snapkitty/unlambda-idris-spark: direct link, hf CLI and curl.
- Browser
- Download file 2.86 kB
-
https://huggingface.co/Snapkitty/unlambda-idris-spark/resolve/main/.github/workflows/idris-proofs.yml
- Command line
-
hf download hf://Snapkitty/unlambda-idris-spark/.github/workflows/idris-proofs.yml
-
curl -L -o idris-proofs.yml https://huggingface.co/Snapkitty/unlambda-idris-spark/resolve/main/.github/workflows/idris-proofs.yml
2.86 kB
| # Copyright (c) 2026 Ahmad Ali Parr. All rights reserved. | |
| # SPDX-License-Identifier: LicenseRef-Proprietary | |
| # Public source visibility does not grant an open-source license. See LICENSE. | |
| name: Idris proof typecheck | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| typecheck: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 35 | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 | |
| - name: Install bootstrap dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y chezscheme build-essential libgmp-dev | |
| - name: Cache pinned Idris installation | |
| id: idris-cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 | |
| with: | |
| path: ~/.idris2 | |
| key: idris2-ubuntu24-15a3e4e70843f7a34100f6470c04b791330788df-v1 | |
| - name: Bootstrap pinned Idris 2 | |
| if: steps.idris-cache.outputs.cache-hit != 'true' | |
| run: | | |
| git clone https://github.com/idris-lang/Idris2.git "$RUNNER_TEMP/Idris2" | |
| cd "$RUNNER_TEMP/Idris2" | |
| git checkout 15a3e4e70843f7a34100f6470c04b791330788df | |
| make bootstrap SCHEME=chezscheme | |
| make install | |
| - name: Save compiler before checking project proofs | |
| if: steps.idris-cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 | |
| with: | |
| path: ~/.idris2 | |
| key: idris2-ubuntu24-15a3e4e70843f7a34100f6470c04b791330788df-v1 | |
| - name: Check handwritten proof terms and model | |
| run: | | |
| export PATH="$HOME/.idris2/bin:$PATH" | |
| mkdir -p build/reports | |
| idris2 --version | tee build/reports/idris-version.txt | |
| set -o pipefail | |
| cd idris | |
| idris2 --total --check LambdaProofs.idr 2>&1 | tee ../build/reports/lambda-typecheck.txt | |
| idris2 --total --check Main.idr 2>&1 | tee ../build/reports/model-typecheck.txt | |
| - name: Compile and smoke-test the current control model | |
| run: | | |
| export PATH="$HOME/.idris2/bin:$PATH" | |
| set -o pipefail | |
| cd idris | |
| idris2 --total -o control-model Main.idr 2>&1 | tee ../build/reports/model-build.txt | |
| build/exec/control-model | tee ../build/reports/model-smoke.txt | |
| test "$(cat ../build/reports/model-smoke.txt)" = 'step: advanced' | |
| - name: Preserve typechecker evidence | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 | |
| with: | |
| name: idris-typecheck-evidence | |
| path: build/reports/ | |
| - name: Preserve the prototype control-model executable | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 | |
| with: | |
| name: idris-control-model-ubuntu24 | |
| path: idris/build/exec/ | |