Skip to content

ci: run UI e2e tests in CI - #742

Merged
rebEllieous merged 5 commits into
mainfrom
feature/627-integrate-ui-e2e-tests-to-ci
Aug 14, 2026
Merged

ci: run UI e2e tests in CI#742
rebEllieous merged 5 commits into
mainfrom
feature/627-integrate-ui-e2e-tests-to-ci

Conversation

@rebEllieous

@rebEllieous rebEllieous commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

What

Runs the Playwright UI e2e suite in CI, with failures reported in the PR.
Closes #627

Why

The UI had no CI coverage at all
Run strategy: the new job hangs off buildAndPush, reusing the existing ok-to-e2e / ok-to-image gate instead of adding an additional label.

Reporting: Playwright's built-in github reporter writes failure annotations into the PR diff, and the HTML report (with traces and failure screenshots) is attached to the run as the playwright-report artifact.

Testing

  • okay-to-e2e gh pr label

Notes for reviewers

  • dev-cluster.sh creates ghcr-pull-secret whenever GHCR_TOKEN is non-empty, including locally if you have it exported

Checklist

  • Tests added/updated
  • No breaking changes (or upgrade path documented above)
  • Readable commit history (squashed and cleaned up as desired)
  • AI code review considered and comments resolved

Summary by CodeRabbit

  • New Features

    • Added automated UI end-to-end testing in CI, with Playwright reports retained for seven days.
    • Added support for configurable container images and private registry credentials in development clusters.
  • Bug Fixes

    • Improved end-to-end test coverage for profile ownership, target listings, and selector formatting.
  • Documentation

    • Expanded frontend development guidance for CI testing, image reuse, namespaces, impersonation, and local clusters.
  • Chores

    • Improved TypeScript configuration and development tooling support.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@rebEllieous, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 21 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b99a17fc-09a2-46ef-9a41-61cb2447cfe3

📥 Commits

Reviewing files that changed from the base of the PR and between 626bb8a and ee2118c.

📒 Files selected for processing (1)
  • hack/dev-cluster.sh

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ea5c62b2-09ca-42a4-9dcc-4da20d1b3c3d

📥 Commits

Reviewing files that changed from the base of the PR and between 5d57909 and 626bb8a.

⛔ Files ignored due to path filters (1)
  • web/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • .github/workflows/test-e2e.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/test-e2e.yaml

📝 Walkthrough

Walkthrough

The PR adds a UI E2E job to CI with Playwright report artifacts, configurable local or registry-based cluster images, optional GHCR authentication, updated frontend test configuration, and documentation for the CI flow.

Changes

UI E2E CI integration

Layer / File(s) Summary
Configurable E2E cluster images
Makefile, hack/dev-cluster.sh
The cluster setup now supports configurable registry and tag values, local image loading, and optional GHCR pull secrets.
CI execution and Playwright reporting
.github/workflows/test-e2e.yaml, web/playwright.config.ts, web/tsconfig.json, web/package.json, web/e2e/pipeline-journey.spec.ts
CI runs UI E2E tests and uploads Playwright reports. Test mocks and TypeScript configuration support the updated execution path.
Frontend CI documentation
docs/developer-guide/frontend-development.md
The guide documents UI E2E execution, image reuse, report handling, and the separate Kind cluster.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to 626bb

No actionable merge-blocking risk remains; the PR is merge-ready after normal checks and review.

Sequence Diagram(s)

sequenceDiagram
  participant GitHubActions
  participant Nix
  participant Makefile
  participant Kind
  participant Playwright
  participant ArtifactStorage
  GitHubActions->>Nix: Configure the test environment
  Nix->>Makefile: Run UI E2E target
  Makefile->>Kind: Create the configured E2E cluster
  Kind->>Playwright: Execute UI E2E tests
  Playwright->>ArtifactStorage: Upload the HTML report
Loading

Suggested labels: ok-to-image

Suggested reviewers: yocaba

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the primary change: running UI end-to-end tests in CI.
Description check ✅ Passed The description includes all required sections and explains the CI strategy, reporting, testing, reviewer notes, and checklist status.
Linked Issues check ✅ Passed The changes integrate UI E2E tests into CI, provide PR and artifact reporting, and define a label-based run strategy for issue #627.
Out of Scope Changes check ✅ Passed The workflow, tooling, documentation, test configuration, and supporting changes all directly enable or document the requested UI E2E CI integration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/627-integrate-ui-e2e-tests-to-ci

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rebEllieous rebEllieous added ok-to-test PR is allowed to be tested ok-to-e2e PR is allowed to run E2E tests labels Aug 11, 2026

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/test-e2e.yaml:
- Around line 52-79: Update the test-ui-e2e job to mirror the existing test-e2e
job’s needs: buildAndPush dependency and job-level if condition requiring the
ok-to-e2e and ok-to-image labels. Keep the existing runner, setup steps,
environment, and test command unchanged.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6241679b-acbb-4fa6-aad5-f74a7d181b65

📥 Commits

Reviewing files that changed from the base of the PR and between 9c5af75 and 5d57909.

⛔ Files ignored due to path filters (1)
  • web/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (8)
  • .github/workflows/test-e2e.yaml
  • Makefile
  • docs/developer-guide/frontend-development.md
  • hack/dev-cluster.sh
  • web/e2e/pipeline-journey.spec.ts
  • web/package.json
  • web/playwright.config.ts
  • web/tsconfig.json

Comment thread .github/workflows/test-e2e.yaml
@coveralls

coveralls commented Aug 11, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 31800651011

Coverage remained the same at 80.329%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 6 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

6 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
pkg/controller/target_controller.go 4 78.26%
pkg/discovery/runner.go 2 89.09%

Coverage Stats

Coverage Status
Relevant Lines: 6807
Covered Lines: 5468
Line Coverage: 80.33%
Coverage Strength: 37.32 hits per line

💛 - Coveralls

@coderabbitai coderabbitai Bot mentioned this pull request Aug 14, 2026
4 tasks
Comment thread hack/dev-cluster.sh

@olzemal olzemal 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.

lgtm

@rebEllieous
rebEllieous enabled auto-merge August 14, 2026 12:44
@rebEllieous
rebEllieous merged commit 9e64a92 into main Aug 14, 2026
24 checks passed
@rebEllieous
rebEllieous deleted the feature/627-integrate-ui-e2e-tests-to-ci branch August 14, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ok-to-e2e PR is allowed to run E2E tests ok-to-test PR is allowed to be tested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate UI E2E tests into CI

5 participants