ci: prevent dependent jobs from hanging when their gate is skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been skipped
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 23s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled

Mirror of Template-Generic fix: key dependent jobs off their gate's
result with always() so a skipped lint/validate (template repos) skips
them cleanly instead of leaving them "waiting" (Gitea act quirk).

- ci-generic.yml `test`: if always() && needs.lint.result == 'success'
- pr-check.yml `pre-release`: if always() && needs.branch-policy.result
  == 'success' && needs.validate.result == 'success'

Authored-by: Moko Consulting
This commit is contained in:
2026-07-04 14:39:51 -05:00
parent 351d847619
commit 393677927f
2 changed files with 6 additions and 2 deletions
+3 -2
View File
@@ -132,8 +132,9 @@ jobs:
name: Tests
runs-on: ubuntu-latest
needs: lint
# Skip on template repos (Template-*) — see lint job.
if: ${{ !startsWith(github.event.repository.name, 'Template-') }}
# 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' }}
steps:
- name: Checkout
+3
View File
@@ -494,6 +494,9 @@ jobs:
name: Build RC Package
runs-on: ubuntu-latest
needs: [branch-policy, validate]
# Run only when both gates succeeded; always() forces evaluation so a skipped
# validate (e.g. template repos) skips this job cleanly instead of hanging.
if: ${{ always() && needs.branch-policy.result == 'success' && needs.validate.result == 'success' }}
steps:
- name: Trigger RC pre-release