Build and Package TLA Proof Manager #212
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 and Package TLA Proof Manager | |
on: | |
push: | |
schedule: | |
- cron: '42 5 5 * *' | |
jobs: | |
test: | |
name: Build TLAPS installer and test it | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
matrix: | |
operating-system: [ | |
macos-latest, | |
ubuntu-latest] | |
ocaml-compiler: [ | |
'0', | |
'1', | |
'2', | |
] | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- uses: actions/checkout@v2 | |
- 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 }} | |
- name: Build installer of TLAPS | |
run: | | |
eval $(opam env) | |
./configure | |
cd tools/installer | |
./tlaps-release.sh | |
- name: Define TLAPS-related env vars | |
run: | | |
python .github/workflows/setup_shell_env.py \ | |
>> $GITHUB_ENV | |
- name: Run installer of TLAPS | |
run: | | |
./tools/installer/\ | |
${{ env.INSTALLER }} -d . | |
- name: Install dependencies for testing | |
run: | | |
opam install kaputt | |
- name: Run a subset of `tlapm` tests | |
run: | | |
eval $(opam env) | |
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make test | |
- name: Run all `tlapm` tests | |
if: >- | |
matrix.operating-system == 'ubuntu-latest' && | |
matrix.ocaml-compiler == '2' | |
run: | | |
ls -lah | |
eval $(opam env) | |
ocaml --version | |
make | |
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH which tlapm | |
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH which zenon | |
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH tlapm --version | |
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make testall | |
- name: Print Test Results | |
if: matrix.operating-system == 'ubuntu-latest' | |
run: | | |
cat test/tests.log |