1717      matrix :
1818        rust :
1919          - version : stable  #  STABLE
20-             clippy : true 
2120          - version : 1.63.0  #  MSRV
2221        features :
2322          - default 
3231          - async-https-rustls 
3332          - async-https-rustls-manual-roots 
3433    steps :
35-     - uses : actions/checkout@v4 
34+     - name : Checkout 
35+       uses : actions/checkout@v4 
3636    - name : Generate cache key 
3737      run : echo "${{ matrix.rust.version }} ${{ matrix.features }}" | tee .cache_key 
3838    - name : Rust Cache 
@@ -43,13 +43,12 @@ jobs:
4343          ~/.cargo/git 
4444          target 
4545key : ${{ runner.os }}-cargo-${{ hashFiles('.cache_key') }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} 
46-     - name : Set default toolchain 
47-       run : rustup default ${{ matrix.rust.version }} 
46+     - name : Install Rust Toolchain 
47+       uses : dtolnay/rust-toolchain@v1 
48+       with :
49+         toolchain : ${{ matrix.rust.version }} 
4850    - name : Set profile 
4951      run : rustup set profile minimal 
50-     - name : Add clippy 
51-       if : ${{ matrix.rust.clippy }} 
52-       run : rustup component add clippy 
5352    - name : Update toolchain 
5453      run : rustup update 
5554    - name : Pin dependencies for MSRV 
6261        cargo update -p tokio --precise "1.38.1" 
6362name : Build 
6463      run : cargo build --features ${{ matrix.features }} --no-default-features 
65-     - name : Clippy 
66-       if : ${{ matrix.rust.clippy }} 
67-       run : cargo clippy --all-targets --features ${{ matrix.features }} --no-default-features -- -D warnings 
6864    - name : Test 
6965      run : cargo test --features ${{ matrix.features }} --no-default-features -- --test-threads=1 
66+ 
67+   fmt :
68+     name : Rust Formatting 
69+     runs-on : ubuntu-latest 
70+     steps :
71+       - name : Checkout 
72+         uses : actions/checkout@v4 
73+       - name : Install Rust Toolchain 
74+         uses : dtolnay/rust-toolchain@v1 
75+         with :
76+             toolchain : nightly 
77+             components : rustfmt 
78+       - name : Check fmt 
79+         run : cargo fmt --all --check 
80+ 
81+   clippy :
82+     name : Rust Clippy 
83+     runs-on : ubuntu-latest 
84+     steps :
85+       - name : Checkout 
86+         uses : actions/checkout@v4 
87+       - name : Install Rust Toolchain 
88+         uses : dtolnay/rust-toolchain@v1 
89+         with :
90+             toolchain : stable 
91+             components : clippy 
92+       - name : Rust Cache 
93+         uses : actions/cache@v3 
94+         with :
95+           path : | 
96+             ~/.cargo/registry 
97+             ~/.cargo/git 
98+             target 
99+ key : ${{ runner.os }}-cargo-${{ hashFiles('.cache_key') }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} 
100+       - name : Check clippy 
101+         uses : actions-rs/clippy-check@v1 
102+         with :
103+           token : ${{ secrets.GITHUB_TOKEN }} 
104+           args : --all-features --all-targets -- -D warnings 
0 commit comments