Skip to content

Commit 8caf41d

Browse files
committed
Merge #420: Improve CI script
58db1b6 Run WASM for multiple toolchains (Tobin Harding) 946ac3b Do docs build in Nightly job (Tobin Harding) f7bc7d3 Install clang to run adress sanitizer (Tobin Harding) 96685c5 Remove unnecessary matrix (Tobin Harding) a8a679e Re-name nightly CI job to Nightly (Tobin Harding) 9c9d622 Remove trailing whitespace (Tobin Harding) Pull request description: Improve the CI pipeline. Done while investigating #419. This PR now only includes the GitHub actions changes, I'm moving the `test.sh` changes to a #422 because they cannot be merged yet. (Please note, this PR has been heavily re-worked so discussion below may be confusing to reviewers new to the PR.) ACKs for top commit: apoelstra: ACK 58db1b6 thomaseizinger: ACK 58db1b6 Tree-SHA512: 5520cf7a7ea0ba701aeaf6b97150416192c0629df8b65545a20d8937a4d76bd323a0d7a875deccb7ce9adc4f3a423e6cd27b300682f206f79407f5ab4eaa5ddb
2 parents f7cae46 + 58db1b6 commit 8caf41d

File tree

1 file changed

+35
-24
lines changed

1 file changed

+35
-24
lines changed

.github/workflows/rust.yml

+35-24
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,19 @@ on: [push, pull_request]
33
name: Continuous integration
44

55
jobs:
6-
bench_nightly:
7-
name: Nightly - ASan + Bench
6+
Nightly:
7+
name: Nightly - ASan + Bench + Docs
88
runs-on: ubuntu-latest
9-
strategy:
10-
matrix:
11-
rust:
12-
- nightly
139
steps:
14-
- name: Checkout Crate
10+
- name: Checkout Crate
1511
uses: actions/checkout@v2
12+
- name: Install clang for ASan
13+
run: sudo apt-get install -y clang
1614
- name: Checkout Toolchain
1715
uses: actions-rs/toolchain@v1
1816
with:
1917
profile: minimal
20-
toolchain: ${{ matrix.rust }}
18+
toolchain: nightly
2119
override: true
2220
components: rust-src
2321
- name: Running address sanitizer
@@ -28,27 +26,17 @@ jobs:
2826
env:
2927
DO_BENCH: true
3028
run: ./contrib/test.sh
29+
- name: Building docs
30+
env:
31+
DO_DOCS: true
32+
run: ./contrib/test.sh
3133

3234
Tests:
3335
name: Tests
3436
runs-on: ubuntu-latest
3537
strategy:
3638
matrix:
37-
include:
38-
- rust: stable
39-
env:
40-
DO_FEATURE_MATRIX: true
41-
DO_WASM: true
42-
- rust: beta
43-
env:
44-
DO_FEATURE_MATRIX: true
45-
- rust: nightly
46-
env:
47-
DO_FEATURE_MATRIX: true
48-
DO_DOCS: true
49-
- rust: 1.29.0
50-
env:
51-
DO_FEATURE_MATRIX: true
39+
rust: [stable, beta, nightly, 1.29.0]
5240
steps:
5341
- name: Checkout Crate
5442
uses: actions/checkout@v2
@@ -62,6 +50,29 @@ jobs:
6250
if: matrix.rust == '1.29.0'
6351
run: cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose
6452
- name: Running cargo
65-
env: ${{ matrix.env }}
53+
env:
54+
DO_FEATURE_MATRIX: true
6655
run: ./contrib/test.sh
6756

57+
WASM:
58+
name: WASM
59+
runs-on: ubuntu-latest
60+
strategy:
61+
matrix:
62+
rust: [stable, beta, nightly] # No 1.29 because WASM requires Rust 1.30
63+
steps:
64+
- name: Checkout Crate
65+
uses: actions/checkout@v2
66+
- name: Install clang
67+
run: sudo apt-get install -y clang-9
68+
- name: Checkout Toolchain
69+
uses: actions-rs/toolchain@v1
70+
with:
71+
profile: minimal
72+
toolchain: ${{ matrix.rust }}
73+
override: true
74+
components: rust-src
75+
- name: Running WASM tests
76+
env:
77+
DO_WASM: true
78+
run: ./contrib/test.sh

0 commit comments

Comments
 (0)