Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion .github/workflows/pr-require-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ jobs:
config: lychee.toml

ci-status:
name: CI Status
needs: [validate-marketplace, lychee]
if: ${{ !cancelled() }}
runs-on: ubuntu-24.04
Expand Down Expand Up @@ -135,8 +136,11 @@ jobs:
# aggregation: the job still fails on the contract step's exit code, and
# the `ci-lanes` status is on the SHA for the next contract-only run.
if: ${{ !cancelled() }}
uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/aggregate-results@594987abe8657a40bccc13d301f1f0d5cccb5348 # v0.39.8
uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/aggregate-results@ac4d8780de793b20e60a66890e767df579c80d83 # ac4d878 2026-11-11
with:
# report-ci-status mirrors this gate under `ci-status` and runs on
# contract-only events too; the run-shape reads must ignore it.
alias-jobs: ci-status
# A contract-only run never waits: while a full run on the SHA is in
# flight it fails with "superseded by full run <url>", and that run's
# newer ci-status decides the gate. Once the full run records
Expand All @@ -150,3 +154,18 @@ jobs:
# lane was already red here.
treat-skipped-as: fail
token: ${{ github.token }}

report-ci-status:
name: ci-status
needs: [ci-status]
if: ${{ always() }}
runs-on: ubuntu-24.04
timeout-minutes: 3
permissions: {}
steps:
- name: Report the conclusion of `CI Status`
env:
RESULT: ${{ needs.ci-status.result }}
run: |
echo "CI Status: $RESULT"
[ "$RESULT" = success ]
Loading