| ... | ... | @@ -259,13 +259,76 @@ jobs: |
| 259 | 259 | - name: Typecheck |
| 260 | 260 | run: vp run typecheck |
| 261 | 261 | |
| 262 | # Keep tests on their own runners, using the same package split and server |
| 263 | # shards as CI, so the release check job does not spend its budget on tests. |
| 264 | test: |
| 265 | name: Release tests |
| 266 | needs: [preflight] |
| 267 | if: ${{ !failure() && !cancelled() && needs.preflight.result == 'success' }} |
| 268 | runs-on: blacksmith-8vcpu-ubuntu-2404 |
| 269 | timeout-minutes: 10 |
| 270 | steps: |
| 271 | - name: Checkout |
| 272 | uses: actions/checkout@v6 |
| 273 | with: |
| 274 | ref: ${{ needs.preflight.outputs.ref }} |
| 275 | sparse-checkout: | |
| 276 | /* |
| 277 | !/.repos/ |
| 278 | sparse-checkout-cone-mode: false |
| 279 | |
| 280 | - name: Setup Vite+ |
| 281 | uses: voidzero-dev/setup-vp@v1 |
| 282 | with: |
| 283 | node-version-file: package.json |
| 284 | cache: true |
| 285 | run-install: true |
| 286 | |
| 287 | - name: Ensure Electron runtime is installed |
| 288 | run: vp run --filter @t3tools/desktop ensure:electron |
| 289 | |
| 262 | 290 | - uses: ./.github/actions/setup-apt-mirrors |
| 263 | 291 | |
| 264 | 292 | - name: Install browser secret helper build libraries |
| 265 | | run: sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config |
| 293 | run: | |
| 294 | sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources |
| 295 | sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config build-essential |
| 296 | |
| 297 | - name: Test |
| 298 | run: vp run --parallel --concurrency-limit 4 --filter '!t3' --filter '!@t3tools/monorepo' test |
| 299 | |
| 300 | test_server: |
| 301 | name: Release server tests ${{ matrix.shard }} |
| 302 | needs: [preflight] |
| 303 | if: ${{ !failure() && !cancelled() && needs.preflight.result == 'success' }} |
| 304 | runs-on: blacksmith-8vcpu-ubuntu-2404 |
| 305 | timeout-minutes: 10 |
| 306 | strategy: |
| 307 | fail-fast: false |
| 308 | matrix: |
| 309 | shard: [1, 2, 3] |
| 310 | steps: |
| 311 | - name: Checkout |
| 312 | uses: actions/checkout@v6 |
| 313 | with: |
| 314 | ref: ${{ needs.preflight.outputs.ref }} |
| 315 | sparse-checkout: | |
| 316 | /* |
| 317 | !/.repos/ |
| 318 | sparse-checkout-cone-mode: false |
| 319 | |
| 320 | - name: Setup Vite+ |
| 321 | uses: voidzero-dev/setup-vp@v1 |
| 322 | with: |
| 323 | node-version-file: package.json |
| 324 | cache: true |
| 325 | run-install: true |
| 266 | 326 | |
| 327 | # No Electron setup here: `t3` (apps/server) has no Electron dependency |
| 328 | # and none of its tests touch the runtime. Only the non-server `test` |
| 329 | # job, which covers @t3tools/desktop, needs the download. |
| 267 | 330 | - name: Test |
| 268 | | run: vp run test |
| 331 | run: vp run --filter t3 test --shard ${{ matrix.shard }}/${{ strategy.job-total }} |
| 269 | 332 | |
| 270 | 333 | relay_public_config: |
| 271 | 334 | name: Resolve T3 Connect public config |
| ... | ... | @@ -630,13 +693,15 @@ jobs: |
| 630 | 693 | preflight, |
| 631 | 694 | relay_public_config, |
| 632 | 695 | quality, |
| 696 | test, |
| 697 | test_server, |
| 633 | 698 | desktop_mac_arm64, |
| 634 | 699 | desktop_linux_x64, |
| 635 | 700 | desktop_linux_arm64, |
| 636 | 701 | desktop_win_x64, |
| 637 | 702 | desktop_win_arm64, |
| 638 | 703 | ] |
| 639 | | if: ${{ !failure() && !cancelled() && needs.preflight.result == 'success' && needs.relay_public_config.result == 'success' && needs.quality.result == 'success' && needs.desktop_mac_arm64.result == 'success' && needs.desktop_linux_x64.result == 'success' && needs.desktop_linux_arm64.result == 'success' && needs.desktop_win_x64.result == 'success' && needs.desktop_win_arm64.result == 'success' }} |
| 704 | if: ${{ !failure() && !cancelled() && needs.preflight.result == 'success' && needs.relay_public_config.result == 'success' && needs.quality.result == 'success' && needs.test.result == 'success' && needs.test_server.result == 'success' && needs.desktop_mac_arm64.result == 'success' && needs.desktop_linux_x64.result == 'success' && needs.desktop_linux_arm64.result == 'success' && needs.desktop_win_x64.result == 'success' && needs.desktop_win_arm64.result == 'success' }} |
| 640 | 705 | runs-on: ubuntu-24.04 # blacksmith-8vcpu-ubuntu-2404 |
| 641 | 706 | timeout-minutes: 15 |
| 642 | 707 | permissions: |