Skip to content

revert(ci): remove sticky build-matrix PR comment breaking restricted callers (2.4.1)#37

Closed
monsieurleberre wants to merge 1 commit into
devfrom
revert/36-matrix-comment
Closed

revert(ci): remove sticky build-matrix PR comment breaking restricted callers (2.4.1)#37
monsieurleberre wants to merge 1 commit into
devfrom
revert/36-matrix-comment

Conversation

@monsieurleberre

Copy link
Copy Markdown
Contributor

Summary

Reverts #36 and cuts 2.4.1. The matrix-comment job added in 2.4.0 requests actions: read — a permission a called workflow cannot request unless the caller's top-level permissions: block grants it. GitHub validates this statically at run creation, so every consumer repo with a restricted permissions block gets startup_failure on every run (push and PR alike — the job-level if: pull_request guard cannot help because no expression is ever evaluated).

Impact observed

  • daml-codegen-csharp-internal: all CI runs startup_failure since 2026-07-14 06:37 (v2 tag moved to 2.4.0 at 07:09) — 6 merged PRs including emitter changes went unbuilt/untested, discovered while validating the 0.4.0-preview.1 release candidate.
  • canton-ledger-api-csharp-internal: identical failure.
  • This repo's own build-and-test stayed green because it tests the helper scripts, not the reusable workflows under a restricted caller.

What this PR does

After merge

Tag v2.4.1 on the merge commit and move the floating v2 tag to it — consumers recover with zero caller changes on their next run (fresh runs re-resolve the tag; do not re-run old runs).

Re-landing the feature

Render the table from the existing per-shard ci-results artifacts (exactly how matrix-output aggregates today) instead of gh api .../runs/.../jobs — no extra caller permissions needed. Alternatively, if the jobs API is required, it is a breaking change for callers (must grant actions: read) and needs a major bump + README caller-prerequisites entry.

… callers (2.4.1)

Reverts #36 (a9b919a). The matrix-comment job requests 'actions: read',
which a called workflow cannot request unless the caller's permissions
block grants it — GitHub rejects the caller run at startup, on every
event type, because the check is static. Every consumer repo with a
restricted top-level permissions block lost CI the moment the floating
v2 tag moved to 2.4.0 (daml-codegen-csharp-internal and
canton-ledger-api-csharp-internal: startup_failure on all runs since
2026-07-14).

The feature should return artifact-based: render the table from the
existing per-shard ci-results artifacts (as matrix-output already does)
instead of the jobs API, needing no extra caller permissions.
@monsieurleberre

Copy link
Copy Markdown
Contributor Author

Decision: keep the feature; consumers grant actions: read instead (it's read-only and there are few callers). Follow-up needed in this repo: document the caller prerequisite (README + a CHANGELOG note) so future restricted-permission callers aren't ambushed by an opaque startup_failure.

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.

1 participant