From 28b9d946587412b2eb50df032b930f3a4a218a00 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 5 Jul 2026 22:39:40 -0500 Subject: [PATCH] fix(ci): make Tests an independent job to work around Gitea needs-chain scheduler stall The Gitea Actions scheduler on the current build does not offer the dependent 2nd job of a needs-chain to runners: the Tests job (needs: lint) reaches 'waiting' but is never claimed even with idle, label-matching runners, then is reaped by ABANDONED_JOB_TIMEOUT. Verified via dispatch on idle runners (run 34933: lint claimed+success, Tests waiting/runner_id 0, never scheduled). Drop 'needs: lint' + the always() gate; guard template repos directly so Tests runs as an independent, schedulable job. Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT --- .mokogitea/workflows/ci-generic.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.mokogitea/workflows/ci-generic.yml b/.mokogitea/workflows/ci-generic.yml index 72650d2430..57ef131bd7 100644 --- a/.mokogitea/workflows/ci-generic.yml +++ b/.mokogitea/workflows/ci-generic.yml @@ -131,10 +131,11 @@ jobs: test: name: Tests runs-on: ubuntu-latest - needs: lint - # Run only when lint succeeded; always() forces evaluation so a skipped - # lint (e.g. template repos) skips this job cleanly instead of hanging. - if: ${{ always() && needs.lint.result == 'success' }} + # Independent job (no `needs: lint`): the Gitea Actions scheduler does not + # offer the dependent 2nd job of a needs-chain to runners, so it stalls in + # "waiting" and is reaped by ABANDONED_JOB_TIMEOUT. Guard template repos + # directly (same condition lint uses) instead of gating on lint's result. + if: ${{ !startsWith(github.event.repository.name, 'Template-') }} steps: - name: Checkout -- 2.52.0