1414 rust : ${{ steps.filter.outputs.rust }}
1515 markdown : ${{ steps.filter.outputs.markdown }}
1616 site : ${{ steps.filter.outputs.site }}
17+ infra : ${{ steps.filter.outputs.infra }}
1718 steps :
1819 - uses : actions/checkout@v4
1920 - uses : dorny/paths-filter@v3
@@ -27,78 +28,79 @@ jobs:
2728 - 'rust-toolchain.toml'
2829 - 'rustfmt.toml'
2930 markdown:
30- - '*.md'
31+ - '**/* .md'
3132 site:
3233 - 'site/**'
34+ infra:
35+ - 'justfile'
36+ - 'flake.nix'
37+ - 'flake.lock'
38+ - '.github/workflows/**'
3339
3440 fmt :
3541 name : Rust Format Check
3642 needs : changes
37- if : needs.changes.outputs.rust == 'true'
43+ if :
44+ needs.changes.outputs.rust == 'true' || needs.changes.outputs.infra ==
45+ ' true'
3846 runs-on : ubuntu-latest
3947 steps :
4048 - uses : actions/checkout@v4
41- - uses : dtolnay/rust-toolchain@stable
42- with :
43- components : rustfmt
44- - uses : Swatinem/rust-cache@v2
45- - run : cargo fmt --all -- --check
49+ - uses : cachix/install-nix-action@v31
50+ - run : nix develop .#ci --command just rust-format
4651
4752 clippy :
4853 name : Rust Lint Check
4954 needs : changes
50- if : needs.changes.outputs.rust == 'true'
55+ if :
56+ needs.changes.outputs.rust == 'true' || needs.changes.outputs.infra ==
57+ ' true'
5158 runs-on : ubuntu-latest
5259 steps :
5360 - uses : actions/checkout@v4
54- - uses : dtolnay/rust-toolchain@stable
55- with :
56- components : clippy
57- - uses : Swatinem/rust-cache@v2
58- - run : cargo clippy --all-targets -- -D warnings
61+ - uses : cachix/install-nix-action@v31
62+ - run : nix develop .#ci --command just rust-lint
5963
6064 markdown :
6165 name : Markdown Format Check
6266 needs : changes
63- if : needs.changes.outputs.markdown == 'true'
67+ if :
68+ needs.changes.outputs.markdown == 'true' || needs.changes.outputs.infra ==
69+ ' true'
6470 runs-on : ubuntu-latest
6571 steps :
6672 - uses : actions/checkout@v4
6773 - uses : cachix/install-nix-action@v31
68- - run : nix develop --command prettier --check "**/*.md"
74+ - run : nix develop .#ci --command just markdown-format
75+
76+ flake-check :
77+ name : Nix Flake Check
78+ runs-on : ubuntu-latest
79+ steps :
80+ - uses : actions/checkout@v4
81+ - uses : cachix/install-nix-action@v31
82+ - run : nix develop .#ci --command just flake-check
6983
7084 site-check :
7185 name : Astro Type Check
7286 needs : changes
73- if : needs.changes.outputs.site == 'true'
87+ if :
88+ needs.changes.outputs.site == 'true' || needs.changes.outputs.infra ==
89+ ' true'
7490 runs-on : ubuntu-latest
7591 steps :
7692 - uses : actions/checkout@v4
77- - uses : actions/setup-node@v4
78- with :
79- node-version : 22
80- - uses : pnpm/action-setup@v4
81- with :
82- version : latest
83- - run : pnpm install --frozen-lockfile
84- working-directory : site
85- - run : pnpm check
86- working-directory : site
93+ - uses : cachix/install-nix-action@v31
94+ - run : nix develop .#ci --command just site-check
8795
8896 site-format :
8997 name : Site Format Check
9098 needs : changes
91- if : needs.changes.outputs.site == 'true'
99+ if :
100+ needs.changes.outputs.site == 'true' || needs.changes.outputs.infra ==
101+ ' true'
92102 runs-on : ubuntu-latest
93103 steps :
94104 - uses : actions/checkout@v4
95- - uses : actions/setup-node@v4
96- with :
97- node-version : 22
98- - uses : pnpm/action-setup@v4
99- with :
100- version : latest
101- - run : pnpm install --frozen-lockfile
102- working-directory : site
103- - run : pnpm format:check
104- working-directory : site
105+ - uses : cachix/install-nix-action@v31
106+ - run : nix develop .#ci --command just site-format
0 commit comments