From d27a619f95f7f65af9ebf8df3e8a9c057b924919 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sat, 17 Oct 2026 10:53:19 -0400 Subject: [PATCH] [CI] (.github/workflows): skip the shader prewarm in the ctest lanes - the unit and integration lanes set MOBILEGL_DISABLE_SHADER_PREWARM=1: every entry is its own process and none compiles enough to repay ~100 ms of table building - the retrace legs and the benchmark keep the prewarm; they replay or measure real application startup - locally the unit suite took 71 s with it set against 101 s without, all 3114 entries passing both ways --- .github/workflows/test.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 039f1ad1..70ffe3d0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -321,6 +321,11 @@ jobs: runs-on: ubuntu-latest needs: [build-linux] + # Every ctest entry is its own short-lived process, and none compiles enough to repay + # Initialize()'s glslang table prewarm. The retrace legs keep it: they replay real apps. + env: + MOBILEGL_DISABLE_SHADER_PREWARM: "1" + steps: - name: Checkout repo uses: actions/checkout@v6 @@ -393,6 +398,8 @@ jobs: matrix: include: ${{ fromJSON((github.ref_name == 'feat/disaggregated' || github.ref_name == 'codex/fix-github-ci' || github.ref_name == 'cleanup') && '[{"lane":"monolith-control","transport":"monolith"},{"lane":"inproc-acceptance","transport":"inproc"}]' || '[{"lane":"monolith-control","transport":"monolith"}]') }} env: + # Short-lived test processes skip the glslang prewarm, as in the test job. + MOBILEGL_DISABLE_SHADER_PREWARM: "1" MOBILEGL_TRANSPORT: ${{ matrix.transport }} MOBILEGL_IPC_ROLE_SPLIT_STATE: "1" MOBILEGL_IPC_STRICT_ERRORS: "1" @@ -739,6 +746,10 @@ jobs: timeout-minutes: 180 needs: [build-linux-verify] + # Short-lived test processes skip the glslang prewarm, as in the test job. + env: + MOBILEGL_DISABLE_SHADER_PREWARM: "1" + steps: - name: Checkout repo uses: actions/checkout@v6 @@ -986,6 +997,11 @@ jobs: runs-on: ubuntu-latest needs: [build-linux-verify-split] timeout-minutes: 180 + + # Short-lived test processes skip the glslang prewarm, as in the test job. + env: + MOBILEGL_DISABLE_SHADER_PREWARM: "1" + steps: - name: Checkout repo uses: actions/checkout@v6 @@ -1451,6 +1467,10 @@ jobs: timeout-minutes: 120 needs: [build-linux-split] + # Short-lived test processes skip the glslang prewarm, as in the test job. + env: + MOBILEGL_DISABLE_SHADER_PREWARM: "1" + steps: - name: Checkout repo uses: actions/checkout@v6 @@ -1687,6 +1707,10 @@ jobs: timeout-minutes: 60 needs: [build-linux-split] + # Short-lived test processes skip the glslang prewarm, as in the test job. + env: + MOBILEGL_DISABLE_SHADER_PREWARM: "1" + steps: - name: Checkout repo uses: actions/checkout@v6