From abb0930359cbb52a65d69f5a3ecd89737bccecc2 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Fri, 10 Jul 2026 05:42:14 -0400 Subject: [PATCH] =?UTF-8?q?ci(tst-03):=20remove=20Windows=20jobs=20?= =?UTF-8?q?=E2=80=94=20a=20gated=20job=20with=20no=20runner=20sticks=20que?= =?UTF-8?q?ued=20forever?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With no working Windows runner (act host-mode on Windows is broken), the windows + live-mxaccess jobs never resolve to 'skipped' (that only happens when a matching runner exists) — they sit 'queued' and block every run from completing. Remove them so portable + java are the whole pipeline and runs finish clean-green. x86 Worker and live-MXAccess verification stay on the manual windev worktree process. Claude-Session: https://claude.ai/code/session_01DMXXvNuPekkkrTEyPNxEkW --- .gitea/workflows/ci.yml | 55 +++++++---------------------------------- 1 file changed, 9 insertions(+), 46 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 957ffbd..3896008 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -120,49 +120,12 @@ jobs: - name: Verify generated tree is clean run: git diff --exit-code -- clients/java/src/main/generated - windows: - # Self-hosted windev runner (10.100.0.48): the only host that can build the x86 / net48 Worker - # and MXAccess-adjacent code. Not required for a green portable build; runs where a runner exists. - runs-on: [self-hosted, windows] - # DISABLED pending a working Windows runner. act_runner v0.6.1 host-mode on Windows is broken: - # its hostexecutor writes each step's script to a path it then cannot resolve ("The system - # cannot find the path specified" / pwsh "not recognized"), independent of shell, and it cannot - # stage JS actions (actions/checkout dist/ missing). Windows containers are impractical for the - # net48/x86/MXAccess Worker. Until this is resolved, x86 Worker verification stays on the manual - # windev worktree process. Re-enable by setting repo variable WINDOWS_CI_ENABLED=true. - if: ${{ vars.WINDOWS_CI_ENABLED == 'true' }} - defaults: - run: - shell: cmd - steps: - - name: Checkout (manual) - run: | - git init -q . - git remote add origin https://gitea.dohertylan.com/%GITHUB_REPOSITORY% - git -c protocol.version=2 fetch -q --depth 1 origin %GITHUB_SHA% - git checkout -q --force FETCH_HEAD - - name: Build x86 Worker - run: dotnet build src/ZB.MOM.WW.MxGateway.Worker/ZB.MOM.WW.MxGateway.Worker.csproj -p:Platform=x86 - - name: Worker tests - run: dotnet test src/ZB.MOM.WW.MxGateway.Worker.Tests/ZB.MOM.WW.MxGateway.Worker.Tests.csproj -p:Platform=x86 - - live-mxaccess: - # Opt-in, scheduled only — needs installed MXAccess COM + live provider state. Never gates a push. - # Also gated by WINDOWS_CI_ENABLED (see the windows job): the Windows host-mode runner is broken. - if: ${{ github.event_name == 'schedule' && vars.WINDOWS_CI_ENABLED == 'true' }} - runs-on: [self-hosted, windows, mxaccess] - env: - MXGATEWAY_RUN_LIVE_MXACCESS_TESTS: '1' - # Same act host-mode constraint as the windows job above. - defaults: - run: - shell: cmd - steps: - - name: Checkout (manual) - run: | - git init -q . - git remote add origin https://gitea.dohertylan.com/%GITHUB_REPOSITORY% - git -c protocol.version=2 fetch -q --depth 1 origin %GITHUB_SHA% - git checkout -q --force FETCH_HEAD - - name: Live MXAccess smoke - run: dotnet test src/ZB.MOM.WW.MxGateway.IntegrationTests/ZB.MOM.WW.MxGateway.IntegrationTests.csproj --filter FullyQualifiedName~WorkerLiveMxAccessSmokeTests + # NOTE: there is intentionally no `windows` or `live-mxaccess` job here. + # The x86 / net48 Worker and live-MXAccess tests need a Windows host, but Gitea's act_runner + # v0.6.1 host-mode on Windows is broken (its hostexecutor writes each step's script to a path it + # then cannot resolve, independent of shell; it also cannot stage JS actions), and Windows + # containers are impractical for the net48/x86/MXAccess Worker. A gated job that no runner can + # satisfy sticks in "queued" forever (it only resolves to "skipped" when a matching runner + # exists), so keeping it here blocks every run from completing. x86 Worker + live-MXAccess + # verification therefore stays on the manual windev worktree process (see CLAUDE.md / + # docs/GatewayTesting.md). Restore these jobs only alongside a Windows runner that actually works.