-
Notifications
You must be signed in to change notification settings - Fork 14
75 lines (65 loc) · 2.54 KB
/
test-action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT
name: Kani Action Check
on: pull_request
jobs:
test-action:
runs-on: ubuntu-latest
name: Ensure that the Kani action continues to work
steps:
# To use this repository's private action,
# you must check out the repository
- name: Checkout
uses: actions/checkout@v3
- name: Run Kani with invalid version
id: set_error
uses: ./
with:
working-directory: tests/cargo-kani/simple-lib
kani-version: '0.1.10'
continue-on-error: true
- name: Check previous step outcome
id: get_error
run: |
# Check the outcome of "Run Kani with invalid version"
if [[ "${{ steps.set_error.outcome }}" == "failure" ]]; then
echo "Running Kani with invalid version "0.1.10" failed."
else
echo "::error::Running Kani with invalid version succeeded incorrectly or was skipped."
exit 1
fi
- name: Run Kani with older version
uses: ./ # Uses the action in the root directory
with:
working-directory: tests/cargo-kani/simple-lib
kani-version: '0.33.0'
- name: Test run Kani with older version
run: |
installed_version = $(kani --version)
expected_version = '0.33.0'
if [[ "$installed_version" == "$expected_version" ]]; then
echo "The installed version matches the expected version."
else
echo "::error::The installed version ($installed_version) does not match the expected version ($expected_version)."
exit 1
fi
- name: Run Kani with latest version
uses: ./ # Uses the action in the root directory
with:
working-directory: tests/cargo-kani/simple-lib
- name: Test run Kani with latest version
run: |
installed_version = $(kani --version)
expected_version = $(cargo search kani-verifier | grep -m 1 "^kani-verifier " | awk '{print $3}')
if [[ "$installed_version" == "$expected_version" ]]; then
echo "The installed version matches the latest version."
else
echo "::error::The installed version ($installed_version) does not match the latest version ($expected_version)."
exit 1
fi
- name: Test ProfProof within Kani Action
uses: ./
with:
working-directory: tests/cargo-kani/proptest-lib
args: --tests
enable-propproof: true