fix(ci): make Tests an independent job (work around Gitea needs-chain scheduler stall) #756
Reference in New Issue
Block a user
Delete Branch "fix/ci-generic-scheduler"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The "Generic: Project CI" Tests job (
needs: lint,if: always() && needs.lint.result == 'success') never ran — it sat inwaitingand was reaped byABANDONED_JOB_TIMEOUT, showing as "Blocked by required conditions". Diagnosis proved the Gitea Actions scheduler does not offer the dependent 2nd job of aneeds-chain to runners, even idle label-matching ones:Lint & Validateclaimed + success;Testswaiting/runner_id 0, never scheduled.Fix (verified)
Drop
needs: lint+ thealways()gate; make Tests an independent job, guarding template repos directly (same conditionlintuses). Verified on run 34999:Testswas claimed by runner 50 and ran — the stall is gone.Trade-off: Tests no longer waits for lint to pass (runs in parallel). Acceptable — both are independent quality signals, and a non-scheduling job is worse than an ungated one.
Scope
ci-generic.ymlis synced from Template-Generic — the canonical fix goes there too (separate PR) so this doesn't regress on the next sync. This fork copy gives immediate working CI (incl. for the #733 PR).Related: #733 (its "Tests" check was the visible symptom). Note
mainrequires no status checks, so this was never a hard merge-blocker — but it makes CI actually function.https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT