@@ -71,26 +71,55 @@ jobs:
71
71
folder : docs/book/
72
72
73
73
releasebundle :
74
- runs-on : ubuntu-20.04
74
+ runs-on : ${{ matrix.os }}
75
+ strategy :
76
+ matrix :
77
+ os : [macos-10.15, ubuntu-20.04]
78
+ include :
79
+ - os : macos-10.15
80
+ artifact : kani-latest-x86_64-apple-darwin.tar.gz
81
+ - os : ubuntu-20.04
82
+ artifact : kani-latest-x86_64-unknown-linux-gnu.tar.gz
75
83
steps :
76
84
- name : Checkout Kani
77
85
uses : actions/checkout@v2
78
86
79
87
- name : Setup Kani Dependencies
80
88
uses : ./.github/actions/setup
81
89
with :
82
- os : ubuntu-20.04
90
+ os : ${{ matrix.os }}
83
91
84
92
- name : Build release bundle
85
93
run : |
86
94
cargo run -p make-kani-release -- latest
87
95
cargo package -p kani-verifier
88
96
89
97
- name : Build container test
98
+ if : ${{ matrix.os == 'ubuntu-20.04' }}
90
99
run : |
91
100
docker build -t kani-latest -f scripts/ci/Dockerfile.release-bundle-test .
92
101
93
102
- name : Run installed tests
103
+ if : ${{ matrix.os == 'ubuntu-20.04' }}
94
104
run : |
95
105
docker run -w /tmp/kani/tests/cargo-kani/simple-lib kani-latest cargo kani
96
106
docker run -w /tmp/kani/tests/cargo-kani/simple-visualize kani-latest cargo kani
107
+
108
+ # We can't run macos in a container, so we can only test locally.
109
+ # Hopefully any dependency issues won't be unique to macos.
110
+ - name : Local install test
111
+ if : ${{ matrix.os == 'macos-10.15' }}
112
+ run : |
113
+ cargo install --path ./target/package/kani-verifier-*[^e]
114
+ cargo-kani setup --use-local-bundle ./kani-latest-x86_64-apple-darwin.tar.gz
115
+ (cd tests/cargo-kani/simple-lib && cargo kani)
116
+ (cd tests/cargo-kani/simple-visualize && cargo kani)
117
+
118
+ - name : Upload artifact
119
+ uses : actions/upload-artifact@v3
120
+ with :
121
+ name : ${{ matrix.artifact }}
122
+ path : ${{ matrix.artifact }}
123
+ if-no-files-found : error
124
+ # Aggressively short retention: we don't really need these
125
+ retention-days : 3
0 commit comments