@@ -24,16 +24,22 @@ jobs:
24
24
runs-on : ${{ matrix.os }}
25
25
steps :
26
26
- name : Checkout
27
- uses : actions/checkout@v3
28
- - name : Install Rust
29
- uses : dtolnay/rust-toolchain@master
30
- with :
31
- toolchain : ${{ matrix.rust }}
32
- components : rust-analyzer
27
+ uses : actions/checkout@v4
28
+
29
+ - name : Install Rust ${{ matrix.rust }}
30
+ run : |
31
+ rustup update --no-self-update beta
32
+ rustup default ${{ matrix.rust }}
33
+ rustup component add rust-analyzer
34
+
35
+ - name : Cache dependencies
36
+ uses : Swatinem/rust-cache@v2
37
+
33
38
- name : Install cargo-hack
34
39
# Always use stable rustc to compile cargo-hack, which has MSRV 1.65.
35
40
# https://github.com/taiki-e/cargo-hack/commit/5baa4262710414ebde4845494f1db22643acc0ba
36
41
run : cargo +stable install cargo-hack
42
+
37
43
# `cargo build` doesn't pull in [dev-dependencies].
38
44
- name : Build
39
45
run : cargo hack build --each-feature
@@ -55,13 +61,15 @@ jobs:
55
61
runs-on : ${{ matrix.os }}
56
62
steps :
57
63
- name : Checkout
58
- uses : actions/checkout@v3
64
+ uses : actions/checkout@v4
65
+
66
+ # Sync with Cargo.toml!
59
67
- name : Install Rust
60
- uses : dtolnay/rust-toolchain@master
61
- with :
62
- # Sync with Cargo.toml!
63
- toolchain : " 1.64 "
64
- components : rust-analyzer
68
+ run : |
69
+ rustup update --no-self-update stable
70
+ rustup default 1.64
71
+ rustup component add rust-analyzer
72
+
65
73
- name : Build
66
74
# Workaround of `-Z avoid-dev-deps`
67
75
# See: https://github.com/rust-lang/cargo/issues/5133#issuecomment-1307094647
@@ -74,20 +82,31 @@ jobs:
74
82
runs-on : ubuntu-latest
75
83
timeout-minutes : 45
76
84
steps :
77
- - uses : actions/checkout@v3
78
- - uses : dtolnay/rust-toolchain@clippy
79
- - run : cargo clippy --all-targets --all-features -- -Dclippy::all
85
+ - name : Checkout
86
+ uses : actions/checkout@v4
87
+
88
+ - name : Install Rust
89
+ run : |
90
+ rustup update --no-self-update stable
91
+ rustup default stable
92
+
93
+ - run : |
94
+ cargo clippy --all-targets --all-features -- -Dclippy::all
80
95
81
96
docs :
82
97
name : Docs
83
98
runs-on : ubuntu-latest
84
99
timeout-minutes : 15
85
100
steps :
86
101
- name : Checkout
87
- uses : actions/checkout@v3
88
- - name : Install clippy
89
- uses : dtolnay/rust-toolchain@clippy
90
- - name : Rustdoc
102
+ uses : actions/checkout@v4
103
+
104
+ - name : Install Rust
105
+ run : |
106
+ rustup update --no-self-update stable
107
+ rustup default stable
108
+
109
+ - name : cargo doc
91
110
env :
92
111
RUSTDOCFLAGS : --cfg docsrs_ -Dwarnings
93
112
run : cargo doc --all-features
0 commit comments