@@ -17,95 +17,55 @@ jobs:
1717 name : Quality Checks
1818 runs-on : ubuntu-latest
1919 steps :
20- - uses : actions /checkout@v4
20+ - uses : taiki-e /checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
2121
22- - name : Cache dependencies
23- uses : Swatinem/rust-cache@v2
22+ - uses : oxc-project/setup-rust@cd82e1efec7fef815e2c23d296756f31c7cdc03d # v1.0.0
23+ with :
24+ save-cache : ${{ github.ref_name == 'main' }}
25+ cache-key : warm
26+ components : clippy rustfmt
27+ tools : typos-cli,cargo-deny,cargo-machete
2428
2529 - name : Check formatting
2630 run : cargo fmt --all -- --check
2731
2832 - name : Clippy
2933 run : cargo clippy --all-targets --all-features -- -D warnings
3034
31- - name : Install typos-cli
32- uses : taiki-e/install-action@v2
33- with :
34- tool : typos-cli
35-
3635 - name : Check for typos
3736 run : typos
3837
39- - name : Install cargo-deny
40- uses : taiki-e/install-action@v2
41- with :
42- tool : cargo-deny
43-
4438 - name : Run cargo-deny
4539 run : cargo deny check
4640
47- - name : Install cargo-machete
48- uses : taiki-e/install-action@v2
49- with :
50- tool : cargo-machete
51-
5241 - name : Run cargo-machete
5342 run : cargo machete
5443
5544 # Test on multiple platforms with different Rust versions
5645 test :
57- name : Test ${{ matrix.os }} - ${{ matrix.rust }} ${{ matrix. features != '' && format('({0})', matrix.features) || '' }}
46+ name : Test ${{ matrix.os }} - ${{ matrix.features != '' && format('({0})', matrix.features) || '' }}
5847 runs-on : ${{ matrix.os }}
5948 needs : quality
6049 strategy :
6150 fail-fast : false
6251 matrix :
6352 os : [ubuntu-latest, windows-latest]
64- rust : [stable, nightly, 1.90.0]
6553 features : [""]
6654 include :
6755 # MacOS with fsevent
6856 - os : macos-latest
69- rust : stable
70- features : " --no-default-features --features macos_fsevent"
71- - os : macos-latest
72- rust : nightly
73- features : " --no-default-features --features macos_fsevent"
74- - os : macos-latest
75- rust : 1.90.0
7657 features : " --no-default-features --features macos_fsevent"
7758 # MacOS with kqueue
7859 - os : macos-latest
79- rust : stable
80- features : " --no-default-features --features macos_kqueue"
81- - os : macos-latest
82- rust : nightly
83- features : " --no-default-features --features macos_kqueue"
84- - os : macos-latest
85- rust : 1.90.0
8660 features : " --no-default-features --features macos_kqueue"
8761
8862 steps :
89- - uses : actions/checkout@v4
90-
91- - name : Remove rust-toolchain.toml (Unix)
92- if : runner.os != 'Windows'
93- run : rm -f rust-toolchain.toml
94-
95- - name : Remove rust-toolchain.toml (Windows)
96- if : runner.os == 'Windows'
97- run : |
98- if (Test-Path rust-toolchain.toml) {
99- Remove-Item -Path rust-toolchain.toml
100- }
63+ - uses : taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
10164
102- - name : Install Rust ${{ matrix.rust }}
103- uses : dtolnay/rust-toolchain@master
65+ - uses : oxc-project/setup-rust@cd82e1efec7fef815e2c23d296756f31c7cdc03d # v1.0.0
10466 with :
105- toolchain : ${{ matrix.rust }}
106-
107- - name : Cache dependencies
108- uses : Swatinem/rust-cache@v2
67+ save-cache : ${{ github.ref_name == 'main' }}
68+ cache-key : warm
10969
11070 - name : Build
11171 run : cargo build --verbose ${{ matrix.features }}
@@ -122,23 +82,18 @@ jobs:
12282 runs-on : ubuntu-latest
12383 needs : quality
12484 steps :
125- - uses : actions/checkout@v4
126-
127- - name : Remove rust-toolchain.toml
128- run : rm -f rust-toolchain.toml
85+ - uses : taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
12986
130- - name : Install Rust
131- uses : dtolnay/rust-toolchain@stable
87+ - uses : oxc-project/setup-rust@f03aedf4620c1d3aa169a2510e24787d362bbe0b # v1.0.8
13288 with :
133- targets : armv7-linux-androideabi, aarch64-linux-android
134-
135- - name : Cache dependencies
136- uses : Swatinem/rust-cache@v2
89+ save-cache : ${{ github.ref_name == 'main' }}
90+ cache-key : warm
91+ tools : cargo-ndk
13792
138- - name : Install cargo-ndk
139- uses : taiki-e/install-action@v2
140- with :
141- tool : cargo-ndk
93+ - name : Add Rust targets
94+ run : |
95+ rustup target add armv7-linux-androideabi
96+ rustup target add aarch64-linux-android
14297
14398 - name : Build for Android (arm64)
14499 run : cargo ndk --target aarch64-linux-android build --verbose
@@ -152,18 +107,15 @@ jobs:
152107 # runs-on: ubuntu-latest
153108 # needs: quality
154109 # steps:
155- # - uses: actions/checkout@v4
156-
157- # - name: Remove rust-toolchain.toml
158- # run: rm -f rust-toolchain.toml
110+ # - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
159111
160- # - name: Install Rust
161- # uses: dtolnay/rust-toolchain@nightly
112+ # - uses: oxc-project/setup-rust@f03aedf4620c1d3aa169a2510e24787d362bbe0b # v1.0.8
162113 # with:
163- # targets: wasm32-wasip2
114+ # save-cache: ${{ github.ref_name == 'main' }}
115+ # cache-key: warm
164116
165- # - name: Cache dependencies
166- # uses: Swatinem/rust-cache@v2
117+ # - name: Add Rust target
118+ # run: rustup target add wasm32-wasip2
167119
168120 # - name: Build for WASI
169121 # run: cargo build --target wasm32-wasip2 --verbose
0 commit comments