Skip to content

Single-use CI approval label, and job names from _resolved - #340

Merged
iainrussell merged 15 commits into
developfrom
ci-approval-single-use
Sep 14, 2026
Merged

iainrussell merged 15 commits into
developfrom
ci-approval-single-use

Conversation

@mcocdawc

@mcocdawc mcocdawc commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Everything the CI rollout has open for this repo, as one pull request instead of a
two-deep stack. Supersedes #337 and #338 — same branch, same commits, no rebase;
GitHub simply refuses to retarget a PR that is part of a stack.

Two changes:

  • Job names come from _resolved.job-name. One name, computed once by
    resolve-deps, instead of each workflow spelling out its own
    ${{ matrix.platform }}, ${{ matrix['cxx-compiler'] }} — which is how the CI
    and cross-repo lanes drift apart.
  • The approved-for-ci label is single-use. require-ci-approval now spends
    the label the moment it is honoured, so one approval buys one run and a
    contributor cannot earn approval on a harmless diff and replay it. Adds
    .github/ci-approval-allowlist.yml for the legacy workflows that are exempt.

The regenerated trigger-downstream{,-hpc}.yml are what actually make downstream
CI green again: the orchestrator now resolves the commit under test through a
context job, and label-gate uses github.token with an explicit
permissions: block rather than a minted App token.

Why downstream CI is red without this

ci-infrastructure@main is at eab560cc, which changed the rendered orchestrator.
This repo's develop still carries the previous render, so the orchestrator's
validate job fails, every consumer job is skipped, and downstream/runner flips
to failure. Verified by re-running the generator's --check against develop
(stale) and against this branch (clean).

Merged develop in; it touched no CI files, and regenerating produces no delta.

🤖 Generated with Claude Code

https://claude.ai/code/session_015RsLA9yt5sthqAuLFjBHdm

🌦️ >> Documentation << 🌦️
https://sites.ecmwf.int/docs/dev-section/eckit/pull-requests/PR-340

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

@codecov-commenter

codecov-commenter commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.60%. Comparing base (6dc80ce) to head (3e205f6).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #340      +/-   ##
===========================================
+ Coverage    67.55%   67.60%   +0.04%     
===========================================
  Files         1182     1182              
  Lines        61862    61862              
  Branches      4675     4675              
===========================================
+ Hits         41793    41822      +29     
+ Misses       20069    20040      -29     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

mcocdawc and others added 2 commits September 10, 2026 14:29
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015RsLA9yt5sthqAuLFjBHdm
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015RsLA9yt5sthqAuLFjBHdm

@marcosbento marcosbento left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready!

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKeM8m3VXyKSiydpp8kPqA
@mcocdawc mcocdawc added the run-downstream-CI Run the downstream fan-out for this PR label Sep 14, 2026
@iainrussell
iainrussell merged commit 3ef42a9 into develop Sep 14, 2026
291 of 302 checks passed
@iainrussell
iainrussell deleted the ci-approval-single-use branch September 14, 2026 12:05
pmaciel pushed a commit that referenced this pull request Sep 14, 2026
Single-use CI approval label, and job names from _resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-downstream-CI Run the downstream fan-out for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants