ci(e2e): bootstrap behaviour job on main for pull_request_target - #2793
Conversation
The e2e workflow runs on pull_request_target, so GitHub loads the workflow definition from the PR base branch (main), not the PR head. PR fullsend-ai#1982 adds the full Gherkin behaviour suite and workflow wiring on its branch, but those workflow changes cannot execute in CI until they land on main. This minimal bootstrap PR merges first: a behaviour job in e2e.yml, a make behaviour-test target, and a placeholder TestBehaviourCIWiring test so the job compiles and passes. Once this is on main, PR fullsend-ai#1982 will run real behaviour tests against its head under the new job. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
PR Summary by QodoBootstrap behaviour CI job in e2e workflow for pull_request_target
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Site previewPreview: https://f2a24aae-site.fullsend-ai.workers.dev Commit: |
|
🤖 Review · ❌ Terminated · Started 5:57 PM UTC · Ended 6:04 PM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1.
|
|
🤖 Finished Review · ❌ Failure · Started 5:57 PM UTC · Completed 6:04 PM UTC |
waynesun09
left a comment
There was a problem hiding this comment.
Review Squad Report — 9 agents (Claude, Gemini, Codex)
5 verified MEDIUM findings posted inline. 3 false positives removed during verification. Security model is sound — gate authorization, minimal permissions, SHA-pinned actions, and persist-credentials: false all correctly replicate the existing e2e pattern. No critical or high issues.
Assisted-by: Claude (review), Gemini (review), Codex (review)
waynesun09
left a comment
There was a problem hiding this comment.
Review Squad — 9 agents (Claude, Gemini, Codex)
5 verified MEDIUM findings posted inline. 3 false positives removed during verification. Security model is sound — gate authorization, minimal permissions, SHA-pinned actions, persist-credentials: false all correctly replicate the existing e2e pattern. No critical or high issues.
Assisted-by: Claude (review), Gemini (review), Codex (review)
Merge upstream/main to resolve e2e.yml conflict (main added .github/scripts/ and action.yml to the e2e relevance grep). Review fixes: - Drop redundant e2e/behaviour/** push.paths entry (^e2e/** covers it) - Clarify SYNC-WITH comment: push.paths is a union, greps may differ - Broaden behaviour grep to ^internal/cli/ and narrow scaffold to fullsend-repo/; document why e2e/admin/ triggers behaviour - Align behaviour-test Makefile target with e2e-test (./e2e/behaviour/) Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Finished Review · ✅ Success · Started 5:38 AM UTC · Completed 5:48 AM UTC |
Babysit statusAll CI checks are green on Review feedback from the first pass was addressed in
Branch is up to date with Note: The Awaiting human review/approval. |
ReviewFindingsMedium
Labels: PR adds a behaviour test CI job and e2e test scaffolding. |
|
🤖 Finished Retro · ✅ Success · Started 7:34 AM UTC · Completed 7:41 AM UTC |
Retro: PR #2793 — Bootstrap behaviour CI jobWorkflow went well. This human-authored PR by ifireball added a Timeline
Quality assessment
No new proposalsAll potential improvement areas identified are already covered by existing open issues:
|
Merge upstream/main after bootstrap PR #2793 landed the behaviour CI job on main. Resolve e2e.yml/Makefile conflicts by keeping main's workflow filters and the full Gherkin suite from this branch. Review fixes: - Add DummyRuntime.System() for Runtime interface compliance - Set ScenarioStart before triage comment (workflow trigger point) - Skip artifact dir cleanup when BEHAVIOUR_ARTIFACT_DIR is set (CI upload) - Only clear dummy script when ops were committed - Return first op error from executeBehaviourScript; clean absolute paths - Cap per-file zip extraction at 10 MB Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Why this PR looks strange
This is a bootstrap PR, not the behaviour test feature itself. The real work lives in #1982 (Gherkin suite, install drivers, dummy runtime, docs).
The
pull_request_targetproblemOur e2e workflow uses
pull_request_targetso fork PRs can receive OIDC/GCP secrets after the authorization gate. GitHub always loads the workflow definition from the PR base branch (main), not from the PR head.PR #1982 adds a
behaviourjob to.github/workflows/e2e.ymlon its branch, but that job cannot run in CI on #1982 until the workflow change is merged tomain. Without this bootstrap, #1982 would merge blind — the behaviour job would only start working for PRs opened after #1982 lands.What this PR does
Minimal wiring only:
behaviourjob ine2e.yml— same gate authorization ase2e, behaviour-specific path relevance filtermake behaviour-testtargetTestBehaviourCIWiring— empty pass,//go:build behaviour, no godog depsOnce this merges, #1982's head will execute real behaviour tests under the new job. The placeholder is replaced by the full suite in #1982.
Merge order
mainTest plan
make lint(pre-commit on staged files; gofmt, go vet, actionlint)make behaviour-test— placeholder passes locallymake go-test— no regressionsbehaviourjob passes on this PR (will exercise the new job once merged to main's workflow — on this PR itself the base workflow may not include the job yet; after merge, re-run ci(e2e): add Gherkin behaviour tests with dummy runtime #1982)Made with Cursor