@@ -3,64 +3,111 @@ on: [push, pull_request]
3
3
name : Continuous integration
4
4
5
5
jobs :
6
- Nightly :
7
- name : Nightly - ASan + Bench + Docs
6
+ Stable :
7
+ name : Test - stable toolchain
8
8
runs-on : ubuntu-latest
9
+ strategy :
10
+ fail-fast : false
9
11
steps :
10
12
- name : Checkout Crate
11
- uses : actions/checkout@v2
12
- - name : Install clang for ASan
13
- run : sudo apt-get install -y clang
13
+ uses : actions/checkout@v3
14
14
- name : Checkout Toolchain
15
- uses : actions-rs/toolchain@v1
16
- with :
17
- profile : minimal
18
- toolchain : nightly
19
- override : true
20
- components : rust-src
21
- - name : Check formatting
15
+ # https://github.com/dtolnay/rust-toolchain
16
+ uses : dtolnay/rust-toolchain@stable
17
+ - name : Running test script
22
18
env :
23
- DO_FMT : true
19
+ DO_LINT : true
20
+ DO_DOCS : true
21
+ DO_FEATURE_MATRIX : true
24
22
run : ./contrib/test.sh
25
- - name : Running address sanitizer
26
- env :
27
- DO_ASAN : true
23
+
24
+ Beta :
25
+ name : Test - beta toolchain
26
+ runs-on : ubuntu-latest
27
+ strategy :
28
+ fail-fast : false
29
+ steps :
30
+ - name : Checkout Crate
31
+ uses : actions/checkout@v3
32
+ - name : Checkout Toolchain
33
+ uses : dtolnay/rust-toolchain@beta
34
+ - name : Running test script
28
35
run : ./contrib/test.sh
29
- - name : Running benchmarks
36
+
37
+ Nightly :
38
+ name : Test - nightly toolchain
39
+ runs-on : ubuntu-latest
40
+ strategy :
41
+ fail-fast : false
42
+ steps :
43
+ - name : Checkout Crate
44
+ uses : actions/checkout@v3
45
+ - name : Checkout Toolchain
46
+ uses : dtolnay/rust-toolchain@nightly
47
+ - name : Install src
48
+ run : rustup component add rust-src
49
+ - name : Running test script
30
50
env :
51
+ DO_FMT : true
31
52
DO_BENCH : true
32
- run : ./contrib/test.sh
33
- - name : Building docs
34
- env :
35
- DO_DOCS : true
53
+ DO_DOCSRS : true
54
+ DO_ASAN : true
36
55
run : ./contrib/test.sh
37
56
38
- Tests :
39
- name : Tests
57
+ MSRV :
58
+ name : Test - 1.48.0 toolchain
40
59
runs-on : ubuntu-latest
41
60
strategy :
42
- matrix :
43
- rust : [stable, beta, nightly, 1.48.0]
61
+ fail-fast : false
44
62
steps :
45
63
- name : Checkout Crate
46
- uses : actions/checkout@v2
64
+ uses : actions/checkout@v3
47
65
- name : Checkout Toolchain
48
- uses : actions-rs/toolchain@v1
49
- with :
50
- profile : minimal
51
- toolchain : ${{ matrix.rust }}
52
- override : true
53
- - name : Running cargo
66
+
67
+ - name : Running test script
54
68
env :
55
69
DO_FEATURE_MATRIX : true
56
70
run : ./contrib/test.sh
57
71
72
+ Arch32bit :
73
+ name : Test 32-bit version
74
+ runs-on : ubuntu-latest
75
+ steps :
76
+ - name : Checkout Crate
77
+ uses : actions/checkout@v3
78
+ - name : Checkout Toolchain
79
+ uses : dtolnay/rust-toolchain@stable
80
+ - name : Add architecture i386
81
+ run : sudo dpkg --add-architecture i386
82
+ - name : Install i686 gcc
83
+ run : sudo apt-get update -y && sudo apt-get install -y gcc-multilib
84
+ - name : Install target
85
+ run : rustup target add i686-unknown-linux-gnu
86
+ - name : Run test on i686
87
+ run : cargo test --target i686-unknown-linux-gnu
88
+
89
+ Cross :
90
+ name : Cross test
91
+ if : ${{ !github.event.act }}
92
+ runs-on : ubuntu-latest
93
+ steps :
94
+ - name : Checkout Crate
95
+ uses : actions/checkout@v3
96
+ - name : Checkout Toolchain
97
+ uses : dtolnay/rust-toolchain@stable
98
+ - name : Install target
99
+ run : rustup target add s390x-unknown-linux-gnu
100
+ - name : install cross
101
+ run : cargo install cross --locked
102
+ - name : run cross test
103
+ run : cross test --target s390x-unknown-linux-gnu
104
+
58
105
WASM :
59
106
name : WASM
60
107
runs-on : ubuntu-latest
61
108
steps :
62
109
- name : Checkout Crate
63
- uses : actions/checkout@v2
110
+ uses : actions/checkout@v3
64
111
- name : Install clang
65
112
run : sudo apt-get install -y clang
66
113
- name : Checkout Toolchain
@@ -69,19 +116,3 @@ jobs:
69
116
env :
70
117
DO_WASM : true
71
118
run : ./contrib/test.sh
72
-
73
- Clippy :
74
- name : Clippy
75
- runs-on : ubuntu-latest
76
- steps :
77
- - uses : actions/checkout@v2
78
- - uses : actions-rs/toolchain@v1
79
- with :
80
- profile : minimal
81
- toolchain : stable
82
- override : true
83
- - run : rustup component add clippy
84
- - uses : actions-rs/cargo@v1
85
- with :
86
- command : clippy
87
- args : --features=rand-std,recovery,lowmemory,global-context --all-targets -- -D warnings
0 commit comments