Skip to content

ci: emit a status check named ci - #103

Open
Bircck wants to merge 1 commit into
mainfrom
standard-ci-job
Open

Bircck wants to merge 1 commit into
mainfrom
standard-ci-job

Conversation

@Bircck

@Bircck Bircck commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Every PR in this repo shows this, and it never resolves:

ci   Expected — Waiting for status to be reported   Required

The org ruleset context-and-oss-required-ci requires a status check named ci. GitHub names a check run after the job key (or its name:, when one is set) — never after the file name or the workflow name:. This repo's workflow is already titled CI, but its jobs are keyed generator and website, so those are the two checks it emits. Nothing ever reports ci, so the row waits forever.

The change

  • ci-pipeline.ymlci.yml (file rename only; nothing referenced the old name)
  • a third job keyed ci that runs nothing — it just waits for generator and website and fails unless both succeeded

Both existing jobs and every step in them are untouched. if: always() makes the gate report even when an upstream job failed, and the step then turns that into a red check, so ci is green exactly when the real work is green.

A fan-in job is used here rather than renaming one of the existing jobs, because a required check can only be one name and this repo legitimately has two parallel builds.

After merge

New PRs get a real ci row instead of the waiting one. Already-open PRs pick it up on their next push — the check list is built per commit, so existing commits are not re-evaluated retroactively.

The release workflows are untouched and stay separate; they are never the required check.

Context

None of the 17 repos in context-and-oss emits ci today — this is part of fixing that everywhere. Reference PR for the simple case (a plain job rename): XrmPluginCore#23. Standard: Repository Requirements.

Comment thread .github/workflows/ci.yml
Comment on lines +54 to +67
needs: [generator, website]
if: always()
runs-on: ubuntu-latest
steps:
- name: Fail if any CI job did not succeed
run: |
set -euo pipefail
echo "generator=${{ needs.generator.result }} website=${{ needs.website.result }}"
for result in "${{ needs.generator.result }}" "${{ needs.website.result }}"; do
if [[ "$result" != 'success' ]]; then
echo "::error::A required CI job did not succeed ($result)."
exit 1
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants