1
- on : [push, pull_request]
1
+ --- # rust-bitcoincore-rpc CI: If you edit this file please update README.md
2
+ on : # yamllint disable-line rule:truthy
3
+ push :
4
+ branches :
5
+ - master
6
+ - ' test-ci/**'
7
+ pull_request :
2
8
3
9
name : Continuous integration
4
10
5
11
jobs :
6
- tests :
7
- name : Tests
12
+ Stable : # 2 jobs, one per lock file.
13
+ name : Test - stable toolchain
8
14
runs-on : ubuntu-latest
9
15
strategy :
16
+ fail-fast : false
10
17
matrix :
11
- include :
12
- - rust : stable
13
- env :
14
- RUSTFMTCHK : true
15
- - rust : nightly
16
- env :
17
- RUSTFMTCHK : false
18
- - rust : 1.56.1
19
- env :
20
- RUSTFMTCHK : false
18
+ dep : [minimal, recent]
21
19
steps :
22
- - name : Checkout Crate
23
- uses : actions/checkout@v2
24
- - name : Checkout Toolchain
25
- uses : actions-rs/toolchain@v1
20
+ - name : " Checkout repo "
21
+ uses : actions/checkout@v4
22
+ - name : " Checkout maintainer tools "
23
+ uses : actions/checkout@v4
26
24
with :
27
- profile : minimal
28
- toolchain : ${{ matrix.rust }}
29
- override : true
30
- - name : Running test script
31
- env : ${{ matrix.env }}
32
- run : ./contrib/test.sh
25
+ repository : rust-bitcoin/rust-bitcoin-maintainer-tools
26
+ path : maintainer-tools
27
+ - name : " Select toolchain"
28
+ uses : dtolnay/rust-toolchain@stable
29
+ - name : " Set dependencies"
30
+ run : cp Cargo-${{ matrix.dep }}.lock Cargo.lock
31
+ - name : " Run test script"
32
+ run : ./maintainer-tools/ci/run_task.sh stable
33
33
34
- integrations-tests :
35
- name : Integration Tests
34
+ Nightly : # 2 jobs, one per lock file.
35
+ name : Test - nightly toolchain
36
36
runs-on : ubuntu-latest
37
37
strategy :
38
+ fail-fast : false
39
+ matrix :
40
+ dep : [minimal, recent]
41
+ steps :
42
+ - name : " Checkout repo"
43
+ uses : actions/checkout@v4
44
+ - name : " Checkout maintainer tools"
45
+ uses : actions/checkout@v4
46
+ with :
47
+ repository : rust-bitcoin/rust-bitcoin-maintainer-tools
48
+ path : maintainer-tools
49
+ - name : " Select toolchain"
50
+ uses : dtolnay/rust-toolchain@nightly
51
+ - name : " Set dependencies"
52
+ run : cp Cargo-${{ matrix.dep }}.lock Cargo.lock
53
+ - name : " Run test script"
54
+ run : ./maintainer-tools/ci/run_task.sh nightly
55
+
56
+ MSRV : # Recent lock file currently does not work with MSRV.
57
+ name : Test - 1.56.1 toolchain
58
+ runs-on : ubuntu-latest
59
+ strategy :
60
+ fail-fast : false
61
+ matrix :
62
+ dep : [minimal]
63
+ steps :
64
+ - name : " Checkout repo"
65
+ uses : actions/checkout@v4
66
+ - name : " Checkout maintainer tools"
67
+ uses : actions/checkout@v4
68
+ with :
69
+ repository : rust-bitcoin/rust-bitcoin-maintainer-tools
70
+ path : maintainer-tools
71
+ - name : " Select toolchain"
72
+ uses : dtolnay/rust-toolchain@stable
73
+ with :
74
+ toolchain : " 1.56.1"
75
+ - name : " Set dependencies"
76
+ run : cp Cargo-${{ matrix.dep }}.lock Cargo.lock
77
+ - name : " Run test script"
78
+ run : ./maintainer-tools/ci/run_task.sh msrv
79
+
80
+ Integration : # 1 job for each Bitcoin Core version.
81
+ name : Integration tests - stable toolchain
82
+ runs-on : ubuntu-latest
83
+ strategy :
84
+ fail-fast : false
38
85
matrix :
39
- rust : [stable]
40
86
bitcoinversion :
41
87
[
42
88
" 0.18.0" ,
@@ -48,15 +94,11 @@ jobs:
48
94
" 0.21.0" ,
49
95
]
50
96
steps :
51
- - name : Checkout Crate
52
- uses : actions/checkout@v2
53
- - name : Checkout Toolchain
54
- uses : actions-rs/toolchain@v1
55
- with :
56
- profile : minimal
57
- toolchain : ${{ matrix.rust }}
58
- override : true
59
- - name : Running test script
97
+ - name : " Checkout repo"
98
+ uses : actions/checkout@v4
99
+ - name : " Select toolchain"
100
+ uses : dtolnay/rust-toolchain@stable
101
+ - name : " Run integration tests"
60
102
env :
61
103
BITCOINVERSION : ${{ matrix.bitcoinversion }}
62
- run : ./contrib/test .sh
104
+ run : ./contrib/integration_test .sh
0 commit comments