WAL 승격: 강제종료해도 마지막 커밋으로 부활하는 머신 #37
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
| # CI: 구조 게이트 + 브라우저 런타임 게이트. 게이트 정의의 SSOT는 tests/ (여기는 디스패치만). | |
| name: ci | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| structure: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - run: npm test | |
| browser: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| # ubuntu 러너에 Google Chrome이 프리인스톨되어 있다. CI=true라 --no-sandbox가 자동 적용된다. | |
| - run: npm run test:browser | |
| env: | |
| PYPROC_BROWSER: /usr/bin/google-chrome | |
| PYPROC_GATE_OUT: gateMeasurements.json | |
| # 러너 실측 수치를 보존한다: 원장/리드미의 로컬 수치와 비교 가능한 근거. | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: gate-measurements | |
| path: gateMeasurements.json | |
| if-no-files-found: ignore | |
| # 예제 실행 게이트: 데모 페이지가 사람이 여는 그대로 완주하는지(진열장 회귀 방지). | |
| - run: npm run test:examples | |
| env: | |
| PYPROC_BROWSER: /usr/bin/google-chrome |