|
45 | 45 | - name: Run docs gate |
46 | 46 | run: uv run python -X utf8 tests/run.py gate docs |
47 | 47 |
|
| 48 | + - name: Run architecture boundary gate |
| 49 | + run: uv run python -X utf8 tests/run.py gate architecture-boundary |
| 50 | + |
| 51 | + - name: Observe plan quality bootstrap |
| 52 | + if: matrix.python-version == '3.12' |
| 53 | + continue-on-error: true |
| 54 | + run: uv run python -X utf8 tests/run.py gate plan-quality |
| 55 | + |
48 | 56 | - name: Run backend gate |
49 | 57 | run: uv run python -X utf8 tests/run.py gate backend |
50 | 58 |
|
| 59 | + - name: Run learning evidence contract |
| 60 | + if: matrix.python-version == '3.12' |
| 61 | + run: uv run python -X utf8 tests/run.py gate learning-evidence-contract |
| 62 | + |
| 63 | + - name: Verify removed learning concepts |
| 64 | + if: matrix.python-version == '3.12' |
| 65 | + run: uv run python -X utf8 tests/run.py gate removed-learning-concepts |
| 66 | + |
| 67 | + - name: Run learning efficacy report contract |
| 68 | + if: matrix.python-version == '3.12' |
| 69 | + run: uv run python -X utf8 tests/run.py gate learning-efficacy-report |
| 70 | + |
| 71 | + - name: Run curriculum quality matrix |
| 72 | + if: matrix.python-version == '3.12' |
| 73 | + timeout-minutes: 20 |
| 74 | + run: uv run python -X utf8 tests/run.py gate curriculum-quality-matrix |
| 75 | + |
| 76 | + - name: Verify repository simplification |
| 77 | + if: matrix.python-version == '3.12' |
| 78 | + timeout-minutes: 10 |
| 79 | + run: uv run python -X utf8 tests/run.py gate repository-simplification |
| 80 | + |
51 | 81 | - name: Run widget-bridge gate |
52 | 82 | run: uv run python -X utf8 tests/run.py gate widget-bridge |
53 | 83 |
|
@@ -95,11 +125,77 @@ jobs: |
95 | 125 |
|
96 | 126 | - name: Install |
97 | 127 | working-directory: landing |
98 | | - run: npm install |
| 128 | + run: npm ci |
99 | 129 |
|
100 | 130 | - name: Build |
101 | 131 | run: python -X utf8 tests/run.py gate landing-build |
102 | 132 |
|
| 133 | + experience: |
| 134 | + runs-on: ubuntu-latest |
| 135 | + timeout-minutes: 120 |
| 136 | + steps: |
| 137 | + - uses: actions/checkout@v4 |
| 138 | + |
| 139 | + - name: Install uv |
| 140 | + uses: astral-sh/setup-uv@v6 |
| 141 | + with: |
| 142 | + enable-cache: true |
| 143 | + |
| 144 | + - name: Set up Python |
| 145 | + run: uv python install 3.12 |
| 146 | + |
| 147 | + - name: Install Python dependencies |
| 148 | + run: uv sync --extra dev --python 3.12 |
| 149 | + |
| 150 | + - name: Setup Node |
| 151 | + uses: actions/setup-node@v4 |
| 152 | + with: |
| 153 | + node-version: "22" |
| 154 | + cache: "npm" |
| 155 | + cache-dependency-path: | |
| 156 | + editor/package-lock.json |
| 157 | + landing/package-lock.json |
| 158 | +
|
| 159 | + - name: Install editor |
| 160 | + working-directory: editor |
| 161 | + run: npm ci |
| 162 | + |
| 163 | + - name: Install landing |
| 164 | + working-directory: landing |
| 165 | + run: npm ci |
| 166 | + |
| 167 | + - name: Install Chromium |
| 168 | + timeout-minutes: 15 |
| 169 | + run: uv run --with playwright python -m playwright install --with-deps chromium |
| 170 | + |
| 171 | + - name: Verify visual assets |
| 172 | + timeout-minutes: 15 |
| 173 | + run: uv run python -X utf8 tests/run.py gate visual-assets |
| 174 | + |
| 175 | + - name: Verify Astryx design system |
| 176 | + timeout-minutes: 15 |
| 177 | + run: uv run python -X utf8 tests/run.py gate design-system-contract |
| 178 | + |
| 179 | + - name: Verify direct learning method |
| 180 | + timeout-minutes: 15 |
| 181 | + run: uv run python -X utf8 tests/run.py gate learning-method |
| 182 | + |
| 183 | + - name: Verify Web learning |
| 184 | + timeout-minutes: 25 |
| 185 | + run: uv run python -X utf8 tests/run.py gate web-learning |
| 186 | + |
| 187 | + - name: Verify public landing |
| 188 | + timeout-minutes: 25 |
| 189 | + run: uv run python -X utf8 tests/run.py gate landing-public |
| 190 | + |
| 191 | + - name: Verify Local Studio |
| 192 | + timeout-minutes: 30 |
| 193 | + run: uv run python -X utf8 tests/run.py gate local-studio-browser |
| 194 | + |
| 195 | + - name: Verify full product experience |
| 196 | + timeout-minutes: 30 |
| 197 | + run: uv run python -X utf8 tests/run.py gate product-experience-browser |
| 198 | + |
103 | 199 | launcher: |
104 | 200 | # 다운로드 엔진(타임아웃/재시도/resume mock 테스트)과 provision 경로를 실제 배포 타깃인 |
105 | 201 | # Windows를 포함한 3개 OS에서 검증한다. "내 로컬은 되는데 다른 환경은 터진다"를 CI에서 막는다. |
|
0 commit comments