Repository navigation
[DONE] 정리 4단계 PR 11 — MQTT 벡터가 시험 브로커를 거쳐 토픽과 역할을 가상 패널에 돌려 보고 check:mqtt-vectors 가 생긴다 #100
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Web CI | |
| # Lint + build the Next.js site so broken code can't reach main. | |
| # Only runs when something under web/ (or this workflow) changes — and on | |
| # hardware/case/, because the Build panel's case cards link into it and | |
| # build-cases-data.test.ts checks those paths and the remix READMEs. | |
| on: | |
| pull_request: | |
| paths: | |
| - "web/**" | |
| - "hardware/case/**" | |
| - ".github/workflows/web-ci.yml" | |
| push: | |
| branches: [main] | |
| paths: | |
| - "web/**" | |
| - "hardware/case/**" | |
| - ".github/workflows/web-ci.yml" | |
| # Cancel an in-progress run if newer commits are pushed to the same ref. | |
| concurrency: | |
| group: web-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: web | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: web/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| # Lint is a hard gate, and a warning fails it like an error. The cleanup's | |
| # step 3 took the site from twelve warnings to none; one more fails here. | |
| - name: Lint | |
| run: npm run lint -- --max-warnings=0 | |
| # `next build` type-checks only what it bundles; scripts/ and the smoke | |
| # suites are outside that, and a type error there used to surface as a | |
| # crash the first time somebody ran the script. | |
| - name: Typecheck | |
| run: npm run typecheck | |
| # Build is the hard gate: broken code can't reach main. | |
| - name: Build | |
| run: npm run build | |
| # The smoke suites. Twenty of them existed and CI ran two; the rest ran | |
| # when somebody remembered. `check:ci` is every suite that needs nothing | |
| # a runner lacks (the module builder wants the Xtensa toolchain, so | |
| # `check:module` stays local). | |
| - name: Smoke suites | |
| run: npm run check:ci | |