@@ -71,26 +71,55 @@ jobs:
7171 folder : docs/book/
7272
7373 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
7583 steps :
7684 - name : Checkout Kani
7785 uses : actions/checkout@v2
7886
7987 - name : Setup Kani Dependencies
8088 uses : ./.github/actions/setup
8189 with :
82- os : ubuntu-20.04
90+ os : ${{ matrix.os }}
8391
8492 - name : Build release bundle
8593 run : |
8694 cargo run -p make-kani-release -- latest
8795 cargo package -p kani-verifier
8896
8997 - name : Build container test
98+ if : ${{ matrix.os == 'ubuntu-20.04' }}
9099 run : |
91100 docker build -t kani-latest -f scripts/ci/Dockerfile.release-bundle-test .
92101
93102 - name : Run installed tests
103+ if : ${{ matrix.os == 'ubuntu-20.04' }}
94104 run : |
95105 docker run -w /tmp/kani/tests/cargo-kani/simple-lib kani-latest cargo kani
96106 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