Skip to content

Inductive invariant validation. #53

Inductive invariant validation.

Inductive invariant validation. #53

Workflow file for this run

name: TLA
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
apalache:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'microsoft'
java-version: '17'
- name: Install Apalache's scala-sbt build dependency
run: |
## https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html#Ubuntu+and+other+Debian-based+distributions
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo -H gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/scalasbt-release.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/scalasbt-release.gpg
sudo apt-get update
sudo apt-get install sbt --no-install-recommends -y
- name: Build Apalache
run: |
git clone https://github.com/apalache-mc/apalache.git
cd apalache
make package ## do not run Apalache's unit tests
- name: Type- and (ordinary) invariant checking with Apalache
run: |
./apalache/bin/apalache-mc check --config=APApbft.cfg APApbft.tla
tlc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install TLA+ Tools
run: |
git clone https://github.com/pmer/tla-bin.git
cd tla-bin
./download_or_update_tla.sh
sudo ./install.sh
- name: Sany
run: sany *.tla
- name: Random exploration with TLC
run: tlc -workers auto -simulate num=1000 MCpbft.tla