Skip to content

Commit 9de57fd

Browse files
authored
Add a workflow that runs regressions nightly with CBMC's latest commit (rust-lang#2092)
1 parent 4419e44 commit 9de57fd

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

.github/workflows/cbmc-latest.yml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Copyright Kani Contributors
2+
# SPDX-License-Identifier: Apache-2.0 OR MIT
3+
name: Nightly regressions with latest CBMC
4+
on:
5+
schedule:
6+
- cron: "0 9 * * *" # Run this every day at 9 AM UTC (4 AM ET/1 AM PT)
7+
8+
env:
9+
RUST_BACKTRACE: 1
10+
11+
jobs:
12+
regression:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
os: [macos-11, ubuntu-18.04, ubuntu-20.04]
17+
steps:
18+
- name: Checkout Kani
19+
uses: actions/checkout@v3
20+
21+
- name: Setup Kani Dependencies
22+
uses: ./.github/actions/setup
23+
with:
24+
os: ${{ matrix.os }}
25+
26+
- name: Build Kani
27+
run: cargo build-dev
28+
29+
- name: Checkout CBMC under "cbmc"
30+
uses: actions/checkout@v3
31+
with:
32+
repository: diffblue/cbmc
33+
path: cbmc
34+
35+
- name: Build CBMC
36+
run: |
37+
cd cbmc
38+
cmake -S . -Bbuild -DWITH_JBMC=OFF
39+
cmake --build build -- -j 4
40+
sudo cmake --build build --target install
41+
- name: Execute Kani regressions
42+
run: ./scripts/kani-regression.sh
43+
44+
perf:
45+
runs-on: ubuntu-20.04
46+
steps:
47+
- name: Checkout Kani
48+
uses: actions/checkout@v3
49+
50+
- name: Setup Kani Dependencies
51+
uses: ./.github/actions/setup
52+
with:
53+
os: ubuntu-20.04
54+
55+
- name: Build Kani using release mode
56+
run: cargo build-dev -- --release
57+
58+
- name: Checkout CBMC under "cbmc"
59+
uses: actions/checkout@v3
60+
with:
61+
repository: diffblue/cbmc
62+
path: cbmc
63+
64+
- name: Build CBMC
65+
run: |
66+
cd cbmc
67+
cmake -S . -Bbuild -DWITH_JBMC=OFF
68+
cmake --build build -- -j 4
69+
sudo cmake --build build --target install
70+
- name: Execute Kani performance tests
71+
run: ./scripts/kani-perf.sh

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
![](./kani-logo.png)
2+
![Regressions with latest CBMC](https://github.com/zhassan-aws/kani/actions/workflows/cbmc-latest.yml/badge.svg)
23

34
The Kani Rust Verifier is a bit-precise model checker for Rust.
45

0 commit comments

Comments
 (0)