Skip to content

Commit b3eb085

Browse files
authored
ci: merge lint into test workflow and gate e2e on both lint and ut (#1105)
1 parent a2bc7b2 commit b3eb085

File tree

2 files changed

+55
-58
lines changed

2 files changed

+55
-58
lines changed

.github/workflows/lint.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/workflows/test.yml

Lines changed: 55 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,46 @@ jobs:
4141
- "!**/_meta.json"
4242
- "!**/dictionary.txt"
4343
44+
# ======== lint ========
45+
lint:
46+
if: github.event_name != 'schedule'
47+
runs-on: ubuntu-latest
48+
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
52+
with:
53+
fetch-depth: 1
54+
55+
- name: Install pnpm
56+
run: |
57+
npm install -g corepack@latest --force
58+
corepack enable
59+
60+
- name: Setup Node.js
61+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
62+
with:
63+
node-version: 22
64+
cache: 'pnpm'
65+
66+
- name: Install Dependencies
67+
run: pnpm install --ignore-scripts
68+
69+
- name: Build Packages
70+
run: pnpm run build
71+
72+
- name: Lint
73+
run: pnpm run lint
74+
75+
- name: Check Dependency Version
76+
run: pnpm run check-dependency-version
77+
78+
- name: Check pnpm Dedupe
79+
run: pnpm dedupe --check
80+
81+
- name: Check Unused Code
82+
run: pnpm run check-unused
83+
4484
# ======== ut ========
4585
ut:
4686
needs: prepare
@@ -103,8 +143,12 @@ jobs:
103143

104144
# ======== e2e ========
105145
e2e:
106-
needs: [prepare, ut]
107-
if: needs.prepare.outputs.changed == 'true' || github.event_name == 'schedule'
146+
needs: [prepare, lint, ut]
147+
if: |
148+
always() &&
149+
(needs.prepare.outputs.changed == 'true' || github.event_name == 'schedule') &&
150+
needs.ut.result == 'success' &&
151+
(github.event_name == 'schedule' || needs.lint.result == 'success')
108152
runs-on: ${{ matrix.os }}
109153
timeout-minutes: 15
110154
strategy:
@@ -168,12 +212,17 @@ jobs:
168212

169213
# ======== gate ========
170214
test-gate:
171-
needs: [prepare, ut, e2e]
215+
needs: [prepare, lint, ut, e2e]
172216
if: always()
173217
runs-on: ubuntu-latest
174218
steps:
175219
- name: Check test requirement
176220
run: |
177-
if [ "${{ github.event_name }}" = "schedule" ] || [ "${{ needs.prepare.outputs.changed }}" = "true" ]; then
178-
[ "${{ needs.ut.result }}" = "success" ] && [ "${{ needs.e2e.result }}" = "success" ]
179-
fi
221+
for result in \
222+
"${{ needs.lint.result }}" \
223+
"${{ needs.ut.result }}" \
224+
"${{ needs.e2e.result }}"; do
225+
if [ "$result" = "failure" ] || [ "$result" = "cancelled" ]; then
226+
exit 1
227+
fi
228+
done

0 commit comments

Comments
 (0)