Unify pr/main workflows and use tlaplus/examples as integration tests #258
Workflow file for this run
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: Build on PR | |
on: | |
pull_request: | |
push: | |
paths: | |
- '.github/workflows/pr.yml' | |
jobs: | |
test: | |
name: Build and Test | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
fail-fast: false | |
matrix: | |
operating-system: [ | |
macos-latest, | |
ubuntu-latest] | |
ocaml-compiler: [ | |
'0', | |
'1', | |
'2', | |
] | |
steps: | |
- name: Install deps | |
if: matrix.operating-system == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install --yes time | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Clone repo | |
uses: actions/checkout@v3 | |
- name: Get OCaml version | |
run: | | |
INDEX=${{ matrix.ocaml-compiler }} | |
OCAML_VERSION=\ | |
`python .github/workflows/ocaml_versions.py $INDEX` | |
echo "OCAML_VERSION=$OCAML_VERSION" \ | |
>> $GITHUB_ENV | |
echo "OCAML_VERSION = $OCAML_VERSION" | |
- uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ env.OCAML_VERSION }} | |
# - uses: actions/cache@v3 | |
# id: cache | |
# with: | |
# path: _build_cache | |
# key: ${{ runner.os }}_build_cache | |
- name: Build installer of TLAPS | |
run: | | |
eval $(opam env) | |
opam install ./ --deps-only --yes | |
make | |
make release | |
- name: Run a subset of `tlapm` tests | |
run: | | |
eval $(opam env) | |
make test-inline test-fast-basic | |
- name: Get TLA+ examples | |
uses: actions/checkout@v3 | |
with: | |
repository: tlaplus/examples | |
path: examples | |
- name: Check proofs in TLA+ examples | |
run: | | |
python examples/.github/scripts/check_proofs.py \ | |
--tlapm_path _build/tlaps-release-dir \ | |
--manifest_path examples/manifest.json | |
- name: Run all `tlapm` tests | |
run: | | |
eval $(opam env) | |
make test | |
- name: Print Test Results | |
if: matrix.operating-system == 'ubuntu-latest' | |
run: | | |
cat _build/default/test/tests.log | |