Skip to content

Commit 1625cc1

Browse files
committed
chore: modernize CI workflows and enforce strict linting
- Replace deprecated actions-rs/* with dtolnay/rust-toolchain and direct cargo commands (actions-rs has been archived) - Upgrade actions/checkout from v1/v2 to v4 - Add cargo fmt --check step to quality workflow - Enforce -D warnings on clippy in CI and pre-commit hook - Add rustfmt.toml with import ordering rules - Change pre-commit hook to check formatting rather than auto-fix - Fix duplicate "Build only core" step name (was building json-rpc)
1 parent de398b0 commit 1625cc1

File tree

5 files changed

+43
-73
lines changed

5 files changed

+43
-73
lines changed

.cargo-husky/hooks/pre-commit

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
set -e
33

44
echo 'Running all pre-commit checks:'
5-
cargo fmt
5+
cargo fmt -- --check
6+
cargo clippy --all-features -- -D warnings
67
cargo test --release
7-
cargo test --release --no-default-features --features embassy-rt,core,wallet,models,helpers,websocket,json-rpc
8-
cargo clippy --fix --allow-staged
8+
cargo test --release --no-default-features --features embassy-rt,core,wallet,models,helpers,websocket,json-rpc
99
cargo doc --no-deps
1010
cargo audit

.github/workflows/audit_test.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ jobs:
1414
audit:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v1
18-
- uses: actions-rs/audit-check@v1
19-
with:
20-
token: ${{ secrets.GITHUB_TOKEN }}
17+
- uses: actions/checkout@v4
18+
- uses: dtolnay/rust-toolchain@stable
19+
- name: Install cargo-audit
20+
run: cargo install cargo-audit
21+
- name: Run security audit
22+
run: cargo audit

.github/workflows/quality_test.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
on:
1+
on:
22
push:
33
branches:
44
- dev
@@ -9,12 +9,14 @@ on:
99
name: Quality
1010

1111
jobs:
12-
clippy_check:
12+
quality_check:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@v1
16-
- run: rustup component add clippy
17-
- uses: actions-rs/clippy-check@v1
15+
- uses: actions/checkout@v4
16+
- uses: dtolnay/rust-toolchain@stable
1817
with:
19-
token: ${{ secrets.GITHUB_TOKEN }}
20-
args: --all-features
18+
components: clippy, rustfmt
19+
- name: Check formatting
20+
run: cargo fmt -- --check
21+
- name: Clippy lint
22+
run: cargo clippy --all-features -- -D warnings

.github/workflows/unit_test.yml

Lines changed: 24 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -14,62 +14,27 @@ jobs:
1414
name: xrpl-rust
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
18-
- uses: actions-rs/toolchain@v1
19-
with:
20-
toolchain: stable
21-
- uses: actions-rs/cargo@v1
22-
name: Build with default features
23-
with:
24-
command: build
25-
args: --release
26-
- uses: actions-rs/cargo@v1
27-
name: Build with no default features
28-
with:
29-
command: build
30-
args: --release --no-default-features
31-
- uses: actions-rs/cargo@v1
32-
name: Build for no_std
33-
with:
34-
command: build
35-
args: --release --no-default-features --features embassy-rt,core,wallet,models,helpers,websocket,json-rpc
36-
- uses: actions-rs/cargo@v1
37-
name: Build only core
38-
with:
39-
command: build
40-
args: --release --no-default-features --features core
41-
- uses: actions-rs/cargo@v1
42-
name: Build only wallet
43-
with:
44-
command: build
45-
args: --release --no-default-features --features wallet
46-
- uses: actions-rs/cargo@v1
47-
name: Build only models
48-
with:
49-
command: build
50-
args: --release --no-default-features --features models
51-
- uses: actions-rs/cargo@v1
52-
name: Build only helpers
53-
with:
54-
command: build
55-
args: --release --no-default-features --features websocket,json-rpc,helpers,tokio-rt
56-
- uses: actions-rs/cargo@v1
57-
name: Build only websocket
58-
with:
59-
command: build
60-
args: --release --no-default-features --features websocket
61-
- uses: actions-rs/cargo@v1
62-
name: Build only core
63-
with:
64-
command: build
65-
args: --release --no-default-features --features json-rpc
66-
- uses: actions-rs/cargo@v1
67-
name: Test with default features
68-
with:
69-
command: test
70-
args: --release
71-
- uses: actions-rs/cargo@v1
72-
name: Test for no_std
73-
with:
74-
command: test
75-
args: --release --no-default-features --features embassy-rt,core,utils,wallet,models,helpers,websocket,json-rpc
17+
- uses: actions/checkout@v4
18+
- uses: dtolnay/rust-toolchain@stable
19+
- name: Build with default features
20+
run: cargo build --release
21+
- name: Build with no default features
22+
run: cargo build --release --no-default-features
23+
- name: Build for no_std
24+
run: cargo build --release --no-default-features --features embassy-rt,core,wallet,models,helpers,websocket,json-rpc
25+
- name: Build only core
26+
run: cargo build --release --no-default-features --features core
27+
- name: Build only wallet
28+
run: cargo build --release --no-default-features --features wallet
29+
- name: Build only models
30+
run: cargo build --release --no-default-features --features models
31+
- name: Build only helpers
32+
run: cargo build --release --no-default-features --features websocket,json-rpc,helpers,tokio-rt
33+
- name: Build only websocket
34+
run: cargo build --release --no-default-features --features websocket
35+
- name: Build only json-rpc
36+
run: cargo build --release --no-default-features --features json-rpc
37+
- name: Test with default features
38+
run: cargo test --release
39+
- name: Test for no_std
40+
run: cargo test --release --no-default-features --features embassy-rt,core,utils,wallet,models,helpers,websocket,json-rpc

rustfmt.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
edition = "2021"

0 commit comments

Comments
 (0)