Skip to content

feat(e2e): harden browser lifecycle, smoke gate, and RHDH naming#5004

Open
schultzp2020 wants to merge 27 commits into
mainfrom
feat/e2e-hardening
Open

feat(e2e): harden browser lifecycle, smoke gate, and RHDH naming#5004
schultzp2020 wants to merge 27 commits into
mainfrom
feat/e2e-hardening

Conversation

@schultzp2020

@schultzp2020 schultzp2020 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

PR 4 in the E2E modernization stack (after #5002 OXC toolchain and #5003 pedantic).

Reliability and lifecycle

  • Browser lifecycle: teardownBrowser() closes the Playwright context; auth-provider specs call it in afterAll
  • Smoke gate: Poll /healthcheck via waitForRhdhReady() before guest login; removed smoke-project 10 retries (root cause was starting before RHDH was ready)
  • Click reliability: Replaced dispatchEvent("click") with native .click() / getByRole("link")
  • Polling: pollUntil helpers replace fixed sleeps; per-spec timeouts moved into Playwright project config

Architecture

  • Fixtures: Worker-scoped rhdhPage / rhdhContext in coverage/test.ts; AuthProviderHarness for auth-provider deployment setup; serial specs migrated off managed-browser.ts
  • POMs: Collapse page-objects/ into support/selectors + page modules; deepen core POMs (direct ui-helper/* imports); move residual spec locators into Settings/Sidebar/Home POMs
  • Naming: BackstageShowcaseRhdhInstance, RHDH_INSTANCE_TABLE page object; CI project IDs unchanged (showcase, showcase-rbac, etc.)
  • A11y: Enforce critical axe violations as test failures

Test separation

  • E2E: *.spec.ts under playwright/e2e/ (Playwright testDir narrowed)
  • Unit: *.test.ts under e2e-tests/unit/ (Vitest); 15 tests for poll-until.ts; yarn test:unit in CI
  • Oxlint: Playwright plugin scoped to **/*.spec.ts, Vitest plugin scoped to **/*.test.ts (no global cross-disable overrides)

Merge order

  1. fix(ci): hygiene — working-directory, lint gaps, and cleanup #5000 — CI hygiene (merged)
  2. feat(e2e): strict oxlint, oxfmt, and type-aware linting #5002 — OXC toolchain
  3. feat(e2e): enable oxlint pedantic category #5003 — oxlint pedantic
  4. This PR — e2e hardening (feat/e2e-hardening)
  5. PR 5+ — monorepo oxfmt and remaining modernization

Test plan

  • cd e2e-tests && yarn lint — 0 errors
  • cd e2e-tests && yarn fmt:check — clean
  • cd e2e-tests && yarn test:list — 336 tests in 29 files
  • cd e2e-tests && yarn test:unit — 15 passed
  • Smoke and auth-provider projects green in Prow after feat(e2e): enable oxlint pedantic category #5003 merges

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxlint-pedantic branch from e403a5f to 002da5f Compare June 23, 2026 18:25
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxlint-pedantic branch from 002da5f to fa8b88e Compare June 23, 2026 22:15
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxlint-pedantic branch from fa8b88e to c9f8ecd Compare June 24, 2026 13:32
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxlint-pedantic branch from c9f8ecd to 5a38cc9 Compare June 24, 2026 16:26
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

schultzp2020 and others added 2 commits June 25, 2026 17:26
Worker-scoped rhdhContext runs before testInfo.file is set; fall back to
worker index for video output paths. Exclude documented RHDHPLAN-954 shell
axe rules and wait for progress bars before scanning.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use --first-parent and match subject-line skip tags only so merged main
chore commits and fix commit prose do not skip the PR image build.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

schultzp2020 and others added 2 commits June 26, 2026 08:44
Reconcile e2e hardening with main's runtime/kube-client refactor and fix
worker-scoped rhdhPage fixture crash when testInfo.titlePath is unset.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Use toHaveCount(0) when waiting for template text to clear from self-service,
and log in per-test via the page fixture instead of worker-scoped rhdhPage.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

schultzp2020 and others added 2 commits June 26, 2026 11:19
The POM refactor exposed getSideBarMenuItem scoping to login-button,
which never exists after guest login. Scope to nav sections instead and
make openSidebarButton idempotent so verify-then-navigate flows work.

Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate main dependency patch (#4996) while keeping vitest from the
e2e hardening branch so Prow can merge the PR ref cleanly.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Scope sidebar navigation to nav and force-click nested links that sit
under expandable section headers, which blocked Docs navigation in CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

schultzp2020 and others added 2 commits June 26, 2026 14:12
page.locator('nav') matched duplicate Home links across nav roots and
force-clicks did not reliably route to Docs. Scope to the expandable
sidebar nav and use link href navigation when available.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace goto/force-click workarounds with role-scoped locators, visible-link
resolution for duplicate DOM entries, aria-expanded section expand, and real
link clicks. Add openSidebarLinkInSection for nested menu flows.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

schultzp2020 and others added 2 commits June 26, 2026 15:49
Collapse competing expanded sections, scope links to their section group,
and retry clicks with href fallback when MUI layout intercepts pointer events.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

Prow treats .github/ changes as image-relevant and waits 60 minutes for a
commit-specific Quay tag. Revert these workflow/action updates so e2e-only
PRs use the existing next image while the hermetic build was still running.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@sonarqubecloud

Copy link
Copy Markdown

@openshift-ci

openshift-ci Bot commented Jun 27, 2026

Copy link
Copy Markdown

@schultzp2020: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-ocp-helm bee4550 link true /test e2e-ocp-helm

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

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