Skip to content

Commit 876466e

Browse files
chore(ci): split out feature specific tests
These are independent builds and tests which can be run in parallel. This also makes dependency caching more effective.
1 parent ed358b3 commit 876466e

File tree

1 file changed

+74
-15
lines changed

1 file changed

+74
-15
lines changed

.github/workflows/ci.yml

Lines changed: 74 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
branches: '*'
1212

1313
jobs:
14-
build:
14+
interledger:
1515
env:
1616
RUST_LOG: "interledger=trace"
1717
RUST_BACKTRACE: "full"
@@ -54,22 +54,81 @@ jobs:
5454
- name: Test
5555
run: timeout 15m cargo test --all --all-features
5656

57-
- name: Test with subset of features (interledger-packet)
58-
run: |
59-
timeout 15m cargo test -p interledger-packet
60-
timeout 15m cargo test -p interledger-packet --features strict
61-
timeout 15m cargo test -p interledger-packet --features roundtrip-only
57+
interledger-packet:
58+
env:
59+
RUST_LOG: "interledger=trace"
60+
RUST_BACKTRACE: "full"
6261

63-
- name: Test with subset of features (interledger-btp)
64-
run: |
65-
timeout 15m cargo test -p interledger-btp
66-
timeout 15m cargo test -p interledger-btp --features strict
62+
runs-on: ubuntu-latest
6763

68-
- name: Test with subset of features (interledger-stream)
69-
run: |
70-
timeout 15m cargo test -p interledger-stream
71-
timeout 15m cargo test -p interledger-stream --features strict
72-
timeout 15m cargo test -p interledger-stream --features roundtrip-only
64+
steps:
65+
- name: Checkout sources
66+
uses: actions/checkout@v2
67+
68+
- name: Install rust toolchain
69+
uses: hecrj/setup-rust-action@v1.3.4
70+
with:
71+
rust-version: stable
72+
73+
- name: Cache
74+
uses: Swatinem/rust-cache@v1
75+
76+
- name: Test
77+
run: timeout 15m cargo test -p interledger-packet
78+
- name: Test --features strict
79+
run: timeout 15m cargo test -p interledger-packet --features strict
80+
- name: Test --features roundtrip-only
81+
run: timeout 15m cargo test -p interledger-packet --features roundtrip-only
82+
83+
interledger-stream:
84+
env:
85+
RUST_LOG: "interledger=trace"
86+
RUST_BACKTRACE: "full"
87+
88+
runs-on: ubuntu-latest
89+
90+
steps:
91+
- name: Checkout sources
92+
uses: actions/checkout@v2
93+
94+
- name: Install rust toolchain
95+
uses: hecrj/setup-rust-action@v1.3.4
96+
with:
97+
rust-version: stable
98+
99+
- name: Cache
100+
uses: Swatinem/rust-cache@v1
101+
102+
- name: Test
103+
run: timeout 15m cargo test -p interledger-stream
104+
- name: Test --features strict
105+
run: timeout 15m cargo test -p interledger-stream --features strict
106+
- name: Test --features roundtrip-only
107+
run: timeout 15m cargo test -p interledger-stream --features roundtrip-only
108+
109+
interledger-btp:
110+
env:
111+
RUST_LOG: "interledger=trace"
112+
RUST_BACKTRACE: "full"
113+
114+
runs-on: ubuntu-latest
115+
116+
steps:
117+
- name: Checkout sources
118+
uses: actions/checkout@v2
119+
120+
- name: Install rust toolchain
121+
uses: hecrj/setup-rust-action@v1.3.4
122+
with:
123+
rust-version: stable
124+
125+
- name: Cache
126+
uses: Swatinem/rust-cache@v1
127+
128+
- name: Test
129+
run: timeout 15m cargo test -p interledger-btp
130+
- name: Test --features strict
131+
run: timeout 15m cargo test -p interledger-btp --features strict
73132

74133
test-md:
75134
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)