Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move model checking to main CI pipeline #5810

Merged
merged 4 commits into from
Nov 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .azure-pipelines-templates/matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,15 @@ jobs:
depends_on: configure
installExtendedTestingTools: false

- ${{ if eq(parameters.perf_tests, 'run') }}:
- template: model_checking.yml
parameters:
target: Virtual
env: ${{ parameters.env.Virtual }}
installExtendedTestingTools: false
depends_on:
- configure

- ${{ if eq(parameters.perf_tests, 'run') }}:
- template: cimetrics.yml
parameters:
Expand All @@ -161,6 +170,7 @@ jobs:
- Virtual_Perf
- Virtual_Perf_MultiThreaded
- SGX_Perf_MultiThreaded
- Model_Checking

# Release
- ${{ if eq(parameters.perf_or_release, 'release') }}:
Expand Down
38 changes: 38 additions & 0 deletions .azure-pipelines-templates/model_checking.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
jobs:
- job: Model_Checking
displayName: "Model Checking"
variables:
Codeql.SkipTaskAutoInjection: true
skipComponentGovernanceDetection: true

${{ insert }}: ${{ parameters.env }}

steps:
- checkout: self
clean: true
fetchDepth: 1

- script: |
set -ex
sudo apt update
sudo apt install -y default-jre
python3 ./tla/install_deps.py
displayName: Setup

- script: ./tlc.sh -workers auto consensus/MCccfraft.tla -dumpTrace tla MCccfraft.trace.tla -dumpTrace json MCccfraft.json
workingDirectory: tla
displayName: MCccfraft.cfg

- script: ./tlc.sh -workers auto -config consensus/MCccfraftAtomicReconfig.cfg consensus/MCccfraft.tla -dumpTrace tla MCccfraftAtomicReconfig.trace.tla -dumpTrace json MCccfraftAtomicReconfig.json
workingDirectory: tla
displayName: MCccfraftAtomicReconfig.cfg

- script: ./tlc.sh -workers auto -config consensus/MCccfraftWithReconfig.cfg consensus/MCccfraft.tla -dumpTrace tla MCccfraftWithReconfig.trace.tla -dumpTrace json MCccfraftWithReconfig.json
workingDirectory: tla
displayName: MCccfraftWithReconfig.cfg

- task: PublishPipelineArtifact@1
inputs:
artifactName: "Model Checking Traces"
targetPath: tla
condition: or(failed(), canceled())
39 changes: 0 additions & 39 deletions .github/workflows/tlaplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,6 @@ on:
workflow_dispatch:

jobs:
model-checking-consensus:
name: Model Checking - Consensus
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
container:
image: ccfmsrc.azurecr.io/ccf/ci:26-10-2023-virtual-clang15

steps:
- uses: actions/checkout@v3
- run: |
sudo apt update
sudo apt install -y default-jre
python3 ./tla/install_deps.py

- name: MCccfraft.cfg
run: |
cd tla/
./tlc.sh -workers auto consensus/MCccfraft.tla -dumpTrace tla MCccfraft.trace.tla -dumpTrace json MCccfraft.json

- name: MCccfraftAtomicReconfig.cfg
run: |
cd tla/
./tlc.sh -workers auto -config consensus/MCccfraftAtomicReconfig.cfg consensus/MCccfraft.tla -dumpTrace tla MCccfraftAtomicReconfig.trace.tla -dumpTrace json MCccfraftAtomicReconfig.json

- name: MCccfraftWithReconfig.cfg
run: |
cd tla/
./tlc.sh -workers auto -config consensus/MCccfraftWithReconfig.cfg consensus/MCccfraft.tla -dumpTrace tla MCccfraftWithReconfig.trace.tla -dumpTrace json MCccfraftWithReconfig.json

- name: Upload traces in TLA and JSON format
uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: tlc
path: |
tla/consensus/*_TTrace_*.tla
tla/consensus/*_TTrace_*.bin
tla/*.trace.tla
tla/*.json

simulation-consensus:
name: Simulation - Consensus
runs-on: ubuntu-latest
Expand Down
Loading