Skip to content

Commit 840b5e6

Browse files
committed
Build a release bundle for macos (rust-lang#1064)
1 parent a05bf1e commit 840b5e6

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

.github/workflows/kani.yml

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)