Skip to content

ci(functional-tests): reserve node 0 for serialized phone tests#20876

Open
nshirley wants to merge 1 commit into
mainfrom
fxa-functional-tests-reserve-phone-node
Open

ci(functional-tests): reserve node 0 for serialized phone tests#20876
nshirley wants to merge 1 commit into
mainfrom
fxa-functional-tests-reserve-phone-node

Conversation

@nshirley

@nshirley nshirley commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Because:

  • Node 0 was doing double duty: running the serialized #phone tests AND receiving its share of the timings-based split, making it the long pole that gated the whole functional-test job.

This commit:

  • Makes run-playwright-tests reserve node 0 for the serialized #phone tests whenever #phone is grep-inverted out of the split and there is more than one node. Node 0 then skips the split (its phone tests already ran) and the split is redistributed across the remaining nodes via --total/--index shifted down by one.
  • Infers the reservation from the existing grep_invert: '#phone' signal rather than a separate flag, so payments and single-node smoke jobs (which run no phone tests) keep the full split unchanged.
  • Uses exit 0 (not step halt) so node 0 still stores/uploads its phone-test artifacts.

Closes: (issue number)

Checklist

Put an x in the boxes that apply

  • My commit is GPG signed.
  • If applicable, I have modified or added tests which pass locally.
  • I have added necessary documentation (if appropriate).
  • I have verified that my changes render correctly in RTL (if appropriate).
  • I have manually reviewed all AI generated code.

How to review (Optional)

  • Key files/areas to focus on:
  • Suggested review order:
  • Risky or complex parts:

Screenshots (Optional)

Please attach the screenshots of the changes made in case of change in user interface.

Other information (Optional)

Any other information that is important to this pull request.

@nshirley
nshirley force-pushed the fxa-functional-tests-reserve-phone-node branch from c558272 to fcf91df Compare July 15, 2026 20:22
@nshirley
nshirley marked this pull request as ready for review July 15, 2026 21:06
@nshirley
nshirley requested a review from a team as a code owner July 15, 2026 21:06
Copilot AI review requested due to automatic review settings July 15, 2026 21:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CircleCI Playwright functional-test splitting so that when #phone tests are run serially on node 0, node 0 is removed from the timings-based split and the remaining nodes pick up the redistributed workload.

Changes:

  • Skip running split Playwright tests on node 0 when #phone tests are excluded and the job is running with parallelism > 1.
  • Redistribute the CircleCI timing split across nodes 1..N by shifting --total/--index down by one.
  • Clarify the relationship between serialized phone tests and the split (comment update).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .circleci/config.yml
Comment thread .circleci/config.yml Outdated
Because:
- Node 0 was doing double duty: running the serialized #phone tests AND
  receiving its share of the timings-based split, making it the long pole
  that gated the whole functional-test job.

This commit:
- Makes run-playwright-tests reserve node 0 for the serialized #phone
  tests whenever #phone is grep-inverted out of the split and there is
  more than one node. Node 0 then skips the split (its phone tests already
  ran) and the split is redistributed across the remaining nodes via
  --total/--index shifted down by one.
- Keys the behavior off the existing grep_invert: '#phone' signal rather
  than a separate flag, so payments and single-node smoke jobs (which run
  no phone tests) keep the full split.
- Uses exit 0 (not step halt) so node 0 still stores/uploads its
  phone-test artifacts.
@nshirley
nshirley force-pushed the fxa-functional-tests-reserve-phone-node branch from c590496 to 89dc155 Compare July 15, 2026 21:49
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.

2 participants