Post E2E results to pull requests - #11
Conversation
gh-elm E2E resultsOverall result: ✅ Passed
Control-plane scenario
Lifecycle scenario
|
c45998c to
b01ed4a
Compare
b01ed4a to
b2e0060
Compare
b2e0060 to
edbd75c
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Requiring the new reporting script prevents otherwise valid older candidates from running E2E.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 1
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
.github/workflows/e2e.yml — Making the PR-summary script part of required_harness_files prevents E2E from running for… |
What changed in this PR
Adds sticky E2E result summaries to matching pull requests.
Changes:
- Finds a pull request matching the candidate SHA.
- Renders and updates compact scenario results.
- Removes the skipped pause/resume lifecycle entry.
| File | Description |
|---|---|
.github/workflows/e2e.yml |
Discovers PRs and posts results. |
script/e2e/post-pr-summary.sh |
Renders and manages sticky comments. |
script/e2e/scenarios/lifecycle.sh |
Removes the obsolete skipped result. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
edbd75c to
fdb84dd
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Candidate code receives PR-write access, and stale runs can overwrite the summary after the PR head advances.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 1
New issues introduced by this change (2)
| Severity | Finding |
|---|---|
.github/workflows/e2e.yml — The workflow-level write permission is inherited by the e2e job, where the checked-out candidate… |
|
.github/workflows/e2e.yml — The head SHA is checked only in the earlier resolve job. Because this job can wait for… |
Issues resolved since last review (1)
| Severity | Finding |
|---|---|
.github/workflows/e2e.yml — Making the PR-summary script part of required_harness_files prevents E2E from running for… View resolved comment |
fdb84dd to
67d052e
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Candidate-controlled evidence can expose secrets, and missing evidence can produce a misleading passed report.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 1
New issues introduced by this change (2)
| Severity | Finding |
|---|---|
script/e2e/post-pr-summary.sh — The artifact is produced by candidate-controlled code that receives SOURCE_TOKEN and… |
|
.github/workflows/e2e.yml — If artifact download fails after a successful E2E job, this branch continues and the reporter posts… |
Issues resolved since last review (2)
| Severity | Finding |
|---|---|
.github/workflows/e2e.yml — The head SHA is checked only in the earlier resolve job. Because this job can wait for… View resolved comment |
|
.github/workflows/e2e.yml — The workflow-level write permission is inherited by the e2e job, where the checked-out candidate… View resolved comment |
67d052e to
cc10694
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The security-sensitive workflow depends on externally configured environment branch protections that require human verification.
Review tier: Balanced
Findings: None
Issues resolved since last review (2)
| Severity | Finding |
|---|---|
.github/workflows/e2e.yml — If artifact download fails after a successful E2E job, this branch continues and the reporter posts… View resolved comment |
|
script/e2e/post-pr-summary.sh — The artifact is produced by candidate-controlled code that receives SOURCE_TOKEN and… View resolved comment |
cc10694 to
575efca
Compare
| # Permissions are granted per job. Candidate-controlled code must not receive a | ||
| # token capable of modifying pull requests. | ||
| permissions: {} |
Pull Request is not mergeable
575efca to
09d4b3b
Compare
Discover the same-repository pull request associated with an E2E candidate and post a compact, updatable results summary. Keep candidate execution read-only and perform pull request updates in a separate trusted reporting job. Recheck the pull request head before posting, validate successful-run evidence, and map untrusted artifact values to fixed labels before including them in the comment. Continue running E2E normally when no matching pull request exists.
09d4b3b to
ca1028c
Compare


Summary
Post a compact E2E results summary to the pull request associated with the tested candidate.
Candidate execution and pull request reporting use separate jobs so candidate-controlled code cannot modify pull requests through
GITHUB_TOKEN.What changed
pull-requests: writeonly to the reporting job.