feat(ci): Set up remote PR debugging via yarn debug-pr - #21191
Draft
dschom wants to merge 1 commit into
Draft
Conversation
dschom
force-pushed
the
dev-stack-ssh
branch
2 times, most recently
from
September 11, 2026 23:06
e2d8bb6 to
34f808b
Compare
dschom
force-pushed
the
dev-stack-ssh
branch
from
September 11, 2026 23:40
34f808b to
75f7830
Compare
Because: * Validating a branch end to end means checking it out and running the whole stack locally, which is slow and machine specific. * CI already builds and boots that exact stack for the functional tests, then tears it down. Reaching it by hand takes several UI steps, and an SSH rerun needs a finished workflow, which the functional-test approval hold never allows in `test_pull_request`. This commit: * Adds a `dev_stack` workflow, gated by a `run_dev_stack` pipeline parameter, whose single job installs, builds and starts the stack on the builder image; `functional-test-executor` gains an `image` parameter for that. * Adds `yarn debug-pr`: triggers the workflow, reruns with SSH, pins the host key, and opens a tunnel, a shell, or both, with a 20-minute session cap. * Adds the `/fxa-debug-pr` skill, which drives `--tunnel` and runs Playwright against the tunnelled stack. * Skips `store-artifacts`, since pm2 logs from a hands-on session would publish whatever the operator typed. * Documents the flow, ports, access model and cost in the CircleCI README.
dschom
force-pushed
the
dev-stack-ssh
branch
from
September 12, 2026 00:20
75f7830 to
e9ce45a
Compare
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.
Because
test_pull_request.This pull request
dev_stackworkflow gated by arun_dev_stackpipeline parameter (defaultfalse, so ordinary pipelines never run it) with one self-containedDev Stack (SSH)job:provision,nx build fxa-shared, migrations,start-services.sh, on the builder image.functional-test-executoranimageparameter; the default is unchanged, so the Playwright jobs are unaffected.yarn debug-pr [--tunnel | --shell] [pr-number | branch](_scripts/debug-pr.sh): triggers the workflow, cancels the first pass, reruns withenable_ssh, pins the host key CircleCI reports, and opens a tunnel and/or shell with a 20-minute session cap./fxa-debug-prskill, which boots the stack via--tunnel, reports when it is up, and can run Playwright (--project=local) against it.store-artifactson the job, since pm2 logs from a hands-on session would publish whatever the operator typed..circleci/README.md.Issue that this pull request solves
Closes: N/A
Checklist
Put an
xin the boxes that applyHow to review (Optional)
_scripts/debug-pr.sh; in.circleci/config.yml, thedev-stackjob, thedev_stackworkflow, and the executorimageparameter.config.yml, then the script, thenSKILL.md.enable_sshrequires a terminal workflow); the executor parameter (default preserved); session-end handling (hitting the cap cancels the job, a disconnect does not).Screenshots (Optional)
Please attach the screenshots of the changes made in case of change in user interface.
Other information (Optional)
/fxa-security-reviewwas run on an earlier revision; its Medium finding (pm2 logs from an interactive session published as artifacts) is fixed by skippingstore-artifacts. The SSH rerun installs only the token owner's VCS keys, confirmed on a live job.fxa-writeandfxa-adminshave push/admin;svcopsandfxa-communityare read-only.fxa-sharedbuilt (fixed with a build step); the second boots to a tunnel in about seven minutes, andseverity-1 #smoke › can reset passwordpassed against the tunnelled stack via/fxa-debug-pr.ci-builder-v10; bump it with the other-vNreferences when the images change.