@@ -3,55 +3,186 @@ name: CI
33on :
44  workflow_dispatch :
55  pull_request :
6+     #  paths: # Only run when changes are made to rust code or root Cargo
7+     #    - "crates/**"
8+     #    - "fuzz/**"
9+     #    - "xtask/**"
10+     #    - "Cargo.toml"
11+     #    - "Cargo.lock"
12+     #    - "rust-toolchain.toml"
13+     #    - "rustfmt.toml"
614
715concurrency :
816  group : ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} 
917  cancel-in-progress : true 
1018
1119env :
1220  RUSTFLAGS : --deny warnings 
21+   RUST_LOG : info 
22+   RUST_BACKTRACE : 1 
23+   RUSTUP_WINDOWS_PATH_ADD_BIN : 1 
1324
1425jobs :
15-   ci :
16-     name : CI 
17-     timeout-minutes : 10 
26+   format :
27+     name : Format 
1828    runs-on : ubuntu-latest 
29+     steps :
30+       - name : Checkout PR branch 
31+         uses : actions/checkout@v4 
32+       - name : Free Disk Space 
33+         uses : ./.github/actions/free-disk-space 
34+       - name : Install toolchain 
35+         uses : moonrepo/setup-rust@v1 
36+         with :
37+           components : rustfmt 
38+           bins : taplo-cli 
39+           cache-base : main 
40+         env :
41+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
42+       - name : Run format 
43+         run : | 
44+           cargo fmt --all --check 
45+           taplo format --check 
1946
20-     services :
21-       postgres :
22-         image : postgres:latest 
47+    lint :
48+     name : Lint 
49+     runs-on : ubuntu-latest 
50+     steps :
51+       - name : Checkout PR Branch 
52+         uses : actions/checkout@v4 
53+       - name : Free Disk Space 
54+         uses : ./.github/actions/free-disk-space 
55+       - name : Install toolchain 
56+         uses : moonrepo/setup-rust@v1 
57+         with :
58+           components : clippy 
59+           cache-base : main 
2360        env :
24-           POSTGRES_USER :  postgres 
25-            POSTGRES_PASSWORD :  postgres 
26-            POSTGRES_DB :  postgres 
27-         ports : 
28-           -  5432:5432 
61+           GITHUB_TOKEN :  ${{ secrets.GITHUB_TOKEN }} 
62+       -  name :  Run clippy 
63+         run :  | 
64+           cargo lint  
65+           cargo run -p rules_check  
2966
30-     env :
31-       DATABASE_URL : postgresql://postgres:postgres@localhost:5432/postgres 
67+    check-dependencies :
68+     name : Check Dependencies 
69+     runs-on : ubuntu-latest 
70+     steps :
71+       - name : Checkout PR Branch 
72+         uses : actions/checkout@v4 
73+       - name : Free Disk Space 
74+         uses : ./.github/actions/free-disk-space 
75+       - name : Install toolchain 
76+         run : rustup toolchain install nightly 
77+       - name : Install udeps 
78+         run : cargo install cargo-udeps --locked 
79+       - name : Detect unused dependencies using udeps 
80+         run : cargo +nightly udeps --all-targets 
3281
82+   test :
83+     name : Test 
84+     runs-on : ${{ matrix.os }} 
85+     strategy :
86+       matrix :
87+         include :
88+           - os : windows-latest 
89+           - os : ubuntu-latest 
3390    steps :
34-       - name : 🏗 Setup repository 
35-         uses : actions/checkout@v3 
91+       - name : Checkout PR branch 
92+         uses : actions/checkout@v4 
93+       - name : Free Disk Space 
94+         uses : ./.github/actions/free-disk-space 
95+       - name : Install toolchain 
96+         uses : moonrepo/setup-rust@v1 
3697        with :
37-           submodules : true 
98+           cache-base : main 
99+         env :
100+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
101+       - name : Run tests 
102+         run : cargo test --workspace 
38103
39-       - name : 🏗 Setup monorepo 
40-         uses : ./.github/actions/setup-monorepo 
104+   codegen :
105+     name : Codegen 
106+     runs-on : ubuntu-latest 
107+     steps :
108+       - name : Checkout PR branch 
109+         uses : actions/checkout@v4 
110+       - name : Free Disk Space 
111+         uses : ./.github/actions/free-disk-space 
112+       - name : Install toolchain 
113+         uses : moonrepo/setup-rust@v1 
41114        with :
42-           github-token : ${{ secrets.GITHUB_TOKEN }} 
43- 
44-       - name : Run test migrations 
45-         run : psql -f test-db/seed.sql postgresql://postgres:postgres@localhost:5432/postgres 
46- 
47-       - name : 📦 Build 
48-         id : build 
49-         run : RUSTFLAGS="-A dead_code" cargo build 
50- 
51-       - name : ⚡️ Check 
52-         id : check 
53-         run : RUSTFLAGS="-A dead_code" cargo check 
115+           cache-base : main 
116+         env :
117+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
118+       - name : Run the analyser codegen 
119+         run : cargo codegen analyser 
120+       - name : Run the configuration codegen 
121+         run : cargo codegen-configuration 
122+       - name : Check for git diff 
123+         run : | 
124+           if [[ `git status --porcelain` ]]; then 
125+             git status 
126+             git diff 
127+             exit 1 
128+           fi 
54129
55-       - name : 🦺 Test 
56-         id : test 
57-         run : RUSTFLAGS="-A dead_code" cargo test 
130+    #  ci:
131+   #    name: CI
132+   #    timeout-minutes: 10
133+   #    runs-on: ubuntu-latest
134+   # 
135+   #    services:
136+   #      postgres:
137+   #        image: postgres:latest
138+   #        env:
139+   #          POSTGRES_USER: postgres
140+   #          POSTGRES_PASSWORD: postgres
141+   #          POSTGRES_DB: postgres
142+   #        ports:
143+   #          - 5432:5432
144+   # 
145+   #    env:
146+   #      DATABASE_URL: postgresql://postgres:postgres@localhost:5432/postgres
147+   # 
148+   #    steps:
149+   #      - name: 🏗 Setup repository
150+   #        uses: actions/checkout@v4
151+   #        with:
152+   #          submodules: true
153+   # 
154+   #      - name: Free Disk Space
155+   #        uses: ./.github/actions/free-disk-space
156+   # 
157+   #      - name: Install toolchain
158+   #        uses: moonrepo/setup-rust@e013866c4215f77c925f42f60257dec7dd18836e # v1.2.1
159+   #        with:
160+   #          components: rustfmt
161+   #          bins: taplo-cli
162+   #          cache-base: main
163+   #        env:
164+   #          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
165+   #      - name: Run format
166+   #        run: |
167+   #          cargo fmt --all --check
168+   #          taplo format --check
169+   # 
170+   #      - name: 🏗 Setup monorepo
171+   #        uses: ./.github/actions/setup-monorepo
172+   #        with:
173+   #          github-token: ${{ secrets.GITHUB_TOKEN }}
174+   # 
175+   #      - name: Run test migrations
176+   #        run: psql -f test-db/seed.sql postgresql://postgres:postgres@localhost:5432/postgres
177+   # 
178+   #      - name: 📦 Build
179+   #        id: build
180+   #        run: RUSTFLAGS="-A dead_code" cargo build
181+   # 
182+   #      - name: ⚡️ Check
183+   #        id: check
184+   #        run: RUSTFLAGS="-A dead_code" cargo check
185+   # 
186+   #      - name: 🦺 Test
187+   #        id: test
188+   #        run: RUSTFLAGS="-A dead_code" cargo test
0 commit comments