Improve e2e CI: comment/dispatch triggers, run summary, script tidy-up#7192
Open
ewels wants to merge 2 commits into
Open
Improve e2e CI: comment/dispatch triggers, run summary, script tidy-up#7192ewels wants to merge 2 commits into
ewels wants to merge 2 commits into
Conversation
…dy-up Make the Seqera Platform showcase e2e test launchable beyond the [e2e prod]/[e2e stage] commit tag, surface its result, and consolidate CI-only scripts under .github/. - Extract e2e logic into a reusable .github/workflows/e2e.yml (workflow_call + workflow_dispatch). build.yml calls it after the build is green; standalone dispatch runs it for a chosen environment. - Add workflow_dispatch inputs to build.yml (e2e, release) so both can be triggered manually, mirroring the commit-tag behaviour. - Merge the comment trigger into a single pr-commands.yml (replacing claude.yml) so each PR comment fires one workflow run, not two. A maintainer's /e2e-prod or /e2e-stage comment delegates to e2e.yml, which reacts, builds the PR head, launches, and posts the run URL back. - Capture the dispatched showcase-automation run URL (gh workflow run returns nothing) and surface it: an aggregating summary job in build.yml plus a self-summary in the launch script. - Move release.sh, test-ci.sh and the e2e launch script into .github/scripts/; move the e2e docker build context into .github/test-e2e/ (installScratch path updated accordingly). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Phil Ewels <phil.ewels@seqera.io>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
A dispatched release (release: true) could previously run from any branch selected in the Actions UI. Gate it to the same branches the push trigger allows (master, test*, dev*, STABLE-*) so a release can't be launched from an arbitrary feature branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Phil Ewels <phil.ewels@seqera.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fairly minimal actual code changes here, mostly tidying things up a bit (moving things specific to GitHub actions out of the root and into
.github) plus the addition of new ways to trigger tests / release.Why
The Seqera Platform showcase e2e test could only be launched by pushing a commit tagged
[e2e prod]/[e2e stage], the logic was buried insidebuild.yml, and the test it kicks off runs in a separate repo (seqeralabs/showcase-automation) whose run URL is never printed — so you had to dig through logs and that other repo to find out if it worked. Releases were likewise tag-only ([release]). CI-only scripts were also scattered at the repo root.Usage
Unchanged: pushing a commit tagged
[e2e prod]/[e2e stage]still launches e2e after the build passes, and[release]still triggers a release. Same tags, same behaviour.Launch e2e:
OWNER/MEMBER/COLLABORATOR) posts a line starting with/e2e-prodor/e2e-stage. The bot reacts 👀, builds the PR head, launches, and posts the showcase run URL back to the PR.workflow_dispatchon Nextflow e2e with anenvironmentchoice (standalone, skips build + tests).Trigger a release:
workflow_dispatchon Nextflow CI with thereleaseinput. Runs the full build + tests first and then releases, exactly like the[release]tag — just without needing a specially-worded commit. Limited to the same branches the push trigger allows (master,test*,dev*,STABLE-*), so it can't be launched from a feature branch. The same dispatch can also set thee2einput, so one run can release and launch e2e.Result is now surfaced: an aggregating
summaryjob writes one top-level box per run — pass/fail per job plus the e2e launcher image and the showcase run URL with a note that CI only launches the test (open the link to confirm it passed).What changed
.github/workflows/e2e.yml(workflow_call+workflow_dispatch).build.ymlcalls it viauses:once the build is green.workflow_dispatchinputs tobuild.yml—e2e(none/staging/production) andrelease(boolean) — so both can be kicked off from the Actions tab, gated on the same build + test success as the commit tags (and, for release, the same branch allowlist)..github/workflows/pr-commands.yml(replacesclaude.yml) so each PR comment fires one workflow run, not two — it routes to either Claude (@claude) or e2e (/e2e-*). Note: this renames the workflow/check from "Claude PR Assistant" to "PR commands".gh workflow runreturns nothing) by pollinggh run list, with a fallback to the workflow runs page.secrets: inherit), comment bodies handled via env vars — checked withzizmor+actionlint.Cleanup
release.sh,test-ci.shand the e2e launch script →.github/scripts/(the latter renamed toe2e-launch.sh).Dockerfile,.gitignore) →.github/test-e2e/;installScratchpath inpacking.gradleupdated to match.🤖 Generated with Claude Code