1- # TODO: still need cross platform E2E testing
2-
31name : CI
42
53on :
1513 - cron : " 27 0 * * *" # nightly test for RA
1614
1715env :
18- CARGO_TERM_COLOR : always
16+ CARGO_TERM_COLOR : " always"
17+ RUST_LOG : " info"
18+ RUST_BACKTRACE : " 1"
1919
2020concurrency :
2121 group : ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
@@ -25,11 +25,16 @@ jobs:
2525 test :
2626 name : Test
2727
28- runs-on : ubuntu-latest
2928 strategy :
3029 matrix :
3130 toolchain :
3231 - stable
32+ platform :
33+ - ubuntu-latest
34+ - windows-latest
35+ fail-fast : false
36+
37+ runs-on : ${{ matrix.platform }}
3338
3439 permissions :
3540 contents : read
4449 with :
4550 toolchain : ${{ matrix.toolchain }}
4651
52+ - uses : cargo-bins/cargo-binstall@b9bf4400702f721d469eec4d280125f650c85638
53+
4754 - name : Get cache key
4855 run : |
4956 CARGO_VERSION=$(cargo --version)
5663 echo "EOF"
5764 } >> "$GITHUB_OUTPUT"
5865 id : cache-key
66+ shell : bash
5967
6068 - uses : actions/cache/restore@v4
6169 with :
@@ -65,12 +73,12 @@ jobs:
6573 restore-keys : ${{ steps.cache-key.outputs.CACHE_KEY_RESTORE }}
6674 id : cache-restore
6775
68- - name : Prepare rust-analyzer
69- run : cargo run --package util-rust-analyzer -- download
76+ - name : Prepare binaries
77+ run : |
78+ cargo bin --install
79+ cargo run --package util-rust-analyzer -- download
7080
71- - run : cargo test --release --all-features
72- env :
73- RUST_LOG : info
81+ - run : cargo test --all-features --no-fail-fast -- --include-ignored
7482
7583 - name : Evict cache
7684 run : gh cache delete '${{ steps.cache-key.outputs.CACHE_KEY }}'
9199 CACHE_KEY_RESTORE : ${{ steps.cache-key.outputs.CACHE_KEY_RESTORE }}
92100
93101 build_features :
94- name : Build
95- runs-on : ubuntu-latest
102+ name : Build features
96103
97104 needs :
98105 - test
@@ -106,6 +113,9 @@ jobs:
106113 - link-forever
107114 - lib-link-forever,common-logger
108115 - lib-link-forever
116+ fail-fast : false
117+
118+ runs-on : ubuntu-latest
109119
110120 steps :
111121 - uses : actions/checkout@v4
@@ -123,11 +133,10 @@ jobs:
123133 key : ${{ needs.test.outputs.CACHE_KEY }}
124134 restore-keys : ${{ needs.test.outputs.CACHE_KEY_RESTORE }}
125135
126- - run : cargo build --release -- features ${{ matrix.features }}
136+ - run : cargo build --features ${{ matrix.features }}
127137
128138 test_rustdoc_link_ra :
129- name : rustdoc-link RA
130- runs-on : ubuntu-latest
139+ name : (rustdoc-link) Test RA
131140
132141 needs :
133142 - test
@@ -138,6 +147,9 @@ jobs:
138147 - " 2025-03-17"
139148 - " 2025-03-04"
140149 - " nightly"
150+ fail-fast : false
151+
152+ runs-on : ubuntu-latest
141153
142154 steps :
143155 - uses : actions/checkout@v4
@@ -155,10 +167,8 @@ jobs:
155167 key : ${{ needs.test.outputs.CACHE_KEY }}
156168 restore-keys : ${{ needs.test.outputs.CACHE_KEY_RESTORE }}
157169
158- - run : cargo run --package util-rust-analyzer -- download
170+ - run : cargo run --package util-rust-analyzer -- download
159171 env :
160172 RA_VERSION : ${{ matrix.ra-version }}
161173
162- - run : cargo test --release --features rustdoc-link
163- env :
164- RUST_LOG : info
174+ - run : cargo test --features rustdoc-link
0 commit comments