Skip to content

Migrate all 11 Helm Cypress E2E features to Playwright - #16901

Open
sowmya-sl wants to merge 4 commits into
openshift:mainfrom
sowmya-sl:helm-playwright-migration
Open

Migrate all 11 Helm Cypress E2E features to Playwright#16901
sowmya-sl wants to merge 4 commits into
openshift:mainfrom
sowmya-sl:helm-playwright-migration

Conversation

@sowmya-sl

@sowmya-sl sowmya-sl commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Migrate all 11 Helm Cypress/Gherkin E2E features to Playwright, completing the Helm E2E migration. This incorporates patterns from PR #16711 (helm-release lifecycle) and adds coverage for all remaining features.

New Playwright specs (8 files, covering all 11 features)

Spec file Cypress feature(s) covered Test count
helm-release.spec.ts helm-release, actions-on-helm-release, actions-on-helm-release-after-upgrade 3 (lifecycle test covers install → status → filter → details → upgrade → rollback → delete)
helm-navigation.spec.ts helm-navigation 7 (YAML view, install, filters, search, 2 manual skips)
helm-page-tabs.spec.ts helm-page-tabs 7 (tab navigation, repository CRUD)
install-url-chart.spec.ts install-url-chart 6 (URL/OCI install, validation, upgrade)
topology-helm-release.spec.ts topology-helm-release 2 (sidebar tabs, resource links for 5 resource types)
install-helm-chart.spec.ts install-helm-chart 3 automatable + 6 manual skips (Add page card, chart versions, namespace-scoped repos)
helm-installation-view.spec.ts helm-installation-view 1 automatable + 3 skips (non-configurable chart message)
helm-compatibility.spec.ts helm-compatibility 1 automatable + 2 manual skips (compatible charts in catalog)

helm-feature-flag.feature: All scenarios are @manual — no automation needed.

New page objects

  • helm-details-page.ts: Helm release details page — section heading, tabs (Resources, Revision history, Release notes), actions menu, status, delete modal
  • helm-page.ts: Extended with kebab menu actions, upgrade/rollback flows, chart version dropdown, status getters, catalog navigation, and filter helpers
  • helm-url-chart-page.ts: URL chart form — chart URL/release name/version inputs, validation, install/reset

Extended page objects

  • topology-page.ts: clickOnHelmGroup() for Helm release group nodes
  • topology-sidebar-page.ts: getTab()/selectTab() for sidebar navigation, clickResourceLink() for resource links

Analysis / Root cause:
The Helm plugin had 11 Cypress/Gherkin E2E feature files that were not running in CI. This PR migrates all of them to Playwright using the console's standard page object patterns.

Solution description:
Created 8 Playwright spec files covering all 11 Cypress features. Three features (helm-release, actions-on-helm-release, actions-on-helm-release-after-upgrade) are consolidated into a single lifecycle test in helm-release.spec.ts. Manual-only scenarios are preserved as test.skip() stubs with explanations.

Screenshots / screen recording:

Test setup:
Requires an OpenShift cluster with Helm chart repositories configured (default openshift-helm-charts repo).

Test cases:
All migrated test cases are listed in the table above. Run with:

cd frontend && npx playwright test --grep @helm

Browser conformance:

  • Chrome (Playwright default)
  • Firefox
  • Safari (or Epiphany on Linux)

Additional info:

Summary by CodeRabbit

  • Tests

    • Added comprehensive end-to-end coverage for Helm navigation, chart installation, repositories, releases, upgrades, rollbacks, filtering, validation, and topology integration.
    • Added coverage for installing charts from HTTP URLs and OCI registries.
    • Added checks for Helm chart compatibility, installation views, release details, resource links, and repository workflows.
  • Chores

    • Retired the legacy Helm integration-test suite and its supporting configuration.
    • Added Cypress commands for Knative integration testing.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Added Playwright page objects and end-to-end tests for Helm navigation, repositories, releases, URL installations, upgrades, rollbacks, deletions, and topology links. Removed the Helm Cypress integration-test package and added Knative Cypress scripts.

Changes

Helm Playwright migration

Layer / File(s) Summary
Helm page objects
frontend/e2e/pages/helm*.ts, frontend/e2e/pages/topology*.ts
Added reusable workflows and locators for Helm releases, repositories, charts, URL installation, details pages, and topology sidebars.
Helm navigation and repositories
frontend/e2e/tests/helm/helm-navigation.spec.ts, frontend/e2e/tests/helm/helm-page-tabs.spec.ts, frontend/e2e/tests/helm/helm-compatibility.spec.ts, frontend/e2e/tests/helm/helm-installation-view.spec.ts, frontend/e2e/tests/helm/install-helm-chart.spec.ts
Added coverage for navigation, catalog visibility, installation forms, filtering, release creation, and project- and cluster-scoped repository operations.
URL installation and release lifecycle
frontend/e2e/tests/helm/install-url-chart.spec.ts, frontend/e2e/tests/helm/helm-release.spec.ts, frontend/e2e/tests/helm/topology-helm-release.spec.ts
Added coverage for URL validation, HTTP and OCI installation, upgrades, rollbacks, deletion, release details, and topology resource links.
Cypress integration-test removal
frontend/packages/helm-plugin/integration-tests/*
Removed the Helm Cypress configuration, feature files, support code, page objects, step definitions, fixtures, manifests, and package metadata.

Knative Cypress scripts

Layer / File(s) Summary
Knative test commands
frontend/package.json
Added standard, headless, and nightly Cypress scripts for the Knative plugin.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested reviewers: spadgett, stefanonardo

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning Helm Playwright tests use public redhat-developer.github.io, raw.githubusercontent.com, and ghcr.io URLs for chart installs and repositories. Use mirrored cluster-internal repositories, or mark tests that need public URLs as skipped in disconnected environments and verify with the IPv6 CI job.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the migration of all 11 Helm Cypress E2E features to Playwright.
Description check ✅ Passed The description covers the root cause, solution, test setup, test cases, browser coverage, and additional context.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed All Helm Playwright test and suite titles are literal static strings; Date.now()-generated namespaces occur only in test bodies, and no title includes runtime identifiers.
Test Structure And Quality ✅ Passed The check targets Ginkgo tests, but this PR adds Playwright TypeScript specs using test.describe/test and expect; no Ginkgo It blocks are present in the changed Helm tests.
Microshift Test Compatibility ✅ Passed The PR adds Playwright TypeScript specs using test.describe and test, not new Ginkgo tests; this MicroShift Ginkgo compatibility check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds frontend Playwright *.spec.ts suites using test.describe, not new Ginkgo tests; no SNO-specific multi-node assumptions or guards are applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only frontend Playwright tests/page objects, package scripts, and deletes legacy test fixtures; it adds no deployment, operator, controller, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR changes only Playwright TypeScript and package metadata; no Go/OTE binary code or process-level stdout writes were added.
No-Weak-Crypto ✅ Passed The Helm migration additions contain no MD5, SHA-1, DES, RC4, Blowfish, ECB, crypto API, custom crypto, or secret/token comparison patterns.
Container-Privileges ✅ Passed The complete PR diff adds no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, root, or allowPrivilegeEscalation settings; changed YAML contains only Helm repository/CRD resources.
No-Sensitive-Data-In-Logs ✅ Passed No added console/logger/output sinks were found in the Helm migration; current Helm pages and specs also contain no logging APIs or credential-like values.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: sowmya-sl
Once this PR has been reviewed and has the lgtm label, please assign rhamilto for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@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: 7

🧹 Nitpick comments (1)
frontend/e2e/tests/helm/helm-page-tabs.spec.ts (1)

136-138: 🧹 Nitpick | 🔵 Trivial

External chart-repository URLs introduce a network dependency for these tests.

Several tests fetch a live raw.githubusercontent.com index (also at lines 251-253). If GitHub is unreachable or the file moves, these tests fail for reasons unrelated to the feature under test. Consider whether a stable internal or mocked chart index is feasible for these scenarios.

🤖 Prompt for 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.

In `@frontend/e2e/tests/helm/helm-page-tabs.spec.ts` around lines 136 - 138,
Replace the live raw.githubusercontent.com repository URLs used by
helmPage.fillRepoUrl in the affected tests, including the occurrence near the
later referenced lines, with a stable internal or mocked chart index fixture.
Preserve the tests’ existing chart-repository behavior while removing the
external network dependency.
🤖 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 `@frontend/e2e/pages/helm-page.ts`:
- Around line 87-94: Replace the direct filter-type menu item clicks in
openStatusFilterDropdown and searchByName with this.robustClick, preserving the
existing locators and selection behavior for the Status and Name options.
- Around line 67-72: Remove the duplicate searchCatalogAndSelectChart
implementation, retain searchAndSelectHelmChart as the single shared method, and
update callers in helm-page-tabs.spec.ts to invoke searchAndSelectHelmChart
while preserving the existing helm-navigation.spec.ts usage.
- Around line 82-85: Update clickCreate in the Helm page object to reuse the
existing submit-button click helper, clickSubmit, instead of redeclaring the
submitButton locator and repeating robustClick logic. Preserve the current
asynchronous behavior and button interaction.
- Around line 21-24: Update the catalogSidePaneButton locator in the Helm page
object to target the CTA explicitly with the catalog-details-modal-cta data-test
attribute instead of selecting the first dialog button, while leaving
catalogSidePane unchanged.

In `@frontend/e2e/tests/helm/helm-navigation.spec.ts`:
- Around line 11-20: Before the first Helm navigation in each test, initialize
the SPA with warmupSPA(page) and select the Developer perspective via
HelmPage.switchPerspective('Developer'). Place both calls before
navigateToCatalogHelmCharts, while preserving the existing namespace setup and
chart selection flow.

In `@frontend/e2e/tests/helm/helm-page-tabs.spec.ts`:
- Around line 13-19: Extract the identical namespace setup from the affected
test cases into a shared test.beforeEach hook, preserving the sequence of
createNamespace, cleanup.trackNamespace, warmupSPA,
switchPerspective('Developer'), and navigateToHelmPage. Ensure the hook uses
each test’s ns value and remove the duplicated setup steps from TC01, TC02,
TC03, TC04, and TC06.

In `@frontend/e2e/tests/helm/topology-helm-release.spec.ts`:
- Around line 95-96: Update the Helm release identifier used by the second
test’s “Install Helm chart” step to a name unique to that test, and ensure the
corresponding HELM_RELEASE_NAME references use the same unique value so it
cannot collide with the first test’s release retained until afterAll.

---

Nitpick comments:
In `@frontend/e2e/tests/helm/helm-page-tabs.spec.ts`:
- Around line 136-138: Replace the live raw.githubusercontent.com repository
URLs used by helmPage.fillRepoUrl in the affected tests, including the
occurrence near the later referenced lines, with a stable internal or mocked
chart index fixture. Preserve the tests’ existing chart-repository behavior
while removing the external network dependency.
🪄 Autofix (Beta)

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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d2764826-796c-425a-bc6c-bdf5d84d2212

📥 Commits

Reviewing files that changed from the base of the PR and between d934fc2 and 66af4bf.

📒 Files selected for processing (8)
  • frontend/e2e/pages/helm-page.ts
  • frontend/e2e/pages/helm-url-chart-page.ts
  • frontend/e2e/pages/topology-page.ts
  • frontend/e2e/pages/topology-sidebar-page.ts
  • frontend/e2e/tests/helm/helm-navigation.spec.ts
  • frontend/e2e/tests/helm/helm-page-tabs.spec.ts
  • frontend/e2e/tests/helm/install-url-chart.spec.ts
  • frontend/e2e/tests/helm/topology-helm-release.spec.ts

Comment thread frontend/e2e/pages/helm-page.ts Outdated
Comment on lines +67 to +72
async searchAndSelectHelmChart(chartName: string): Promise<void> {
await this.catalogSearch.fill(chartName);
await this.page.getByTestId(`HelmChart-${chartName}`).first().click();
await expect(this.catalogSidePane).toBeVisible();
await this.robustClick(this.catalogSidePaneButton);
}

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.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Merge duplicate searchAndSelectHelmChart and searchCatalogAndSelectChart.

These two methods have identical bodies. Keep one implementation and update callers (helm-navigation.spec.ts uses searchAndSelectHelmChart; helm-page-tabs.spec.ts uses searchCatalogAndSelectChart) to call the same method. Duplicated implementations can silently diverge if only one is updated later.

♻️ Proposed consolidation
-  async searchAndSelectHelmChart(chartName: string): Promise<void> {
-    await this.catalogSearch.fill(chartName);
-    await this.page.getByTestId(`HelmChart-${chartName}`).first().click();
-    await expect(this.catalogSidePane).toBeVisible();
-    await this.robustClick(this.catalogSidePaneButton);
-  }
+  async searchAndSelectHelmChart(chartName: string): Promise<void> {
+    await this.catalogSearch.fill(chartName);
+    await this.page.getByTestId(`HelmChart-${chartName}`).first().click();
+    await expect(this.catalogSidePane).toBeVisible();
+    await this.robustClick(this.catalogSidePaneButton);
+  }

Remove searchCatalogAndSelectChart (lines 309-314) and update its callers to use searchAndSelectHelmChart.

Also applies to: 309-314

🤖 Prompt for 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.

In `@frontend/e2e/pages/helm-page.ts` around lines 67 - 72, Remove the duplicate
searchCatalogAndSelectChart implementation, retain searchAndSelectHelmChart as
the single shared method, and update callers in helm-page-tabs.spec.ts to invoke
searchAndSelectHelmChart while preserving the existing helm-navigation.spec.ts
usage.

Comment thread frontend/e2e/pages/helm-page.ts
Comment thread frontend/e2e/pages/helm-page.ts
Comment thread frontend/e2e/tests/helm/helm-navigation.spec.ts
Comment thread frontend/e2e/tests/helm/helm-page-tabs.spec.ts
Comment thread frontend/e2e/tests/helm/topology-helm-release.spec.ts Outdated
@sowmya-sl sowmya-sl changed the title Migrate 4 Helm Cypress E2E features to Playwright Migrate all 11 Helm Cypress E2E features to Playwright Aug 4, 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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
frontend/e2e/pages/helm-page.ts (1)

296-302: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Filter by name before deleting the repository.

deleteRepositoryFromKebab ignores name and operates on the first kebab button. If multiple repositories are visible, the helper can delete the wrong repository.

Proposed fix
 async deleteRepositoryFromKebab(name: string, type: string): Promise<void> {
+  await this.filterRepoByName(name);
+  await expect(this.kebabButton.first()).toBeVisible({ timeout: 30_000 });
   await this.robustClick(this.kebabButton.first());
🤖 Prompt for 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.

In `@frontend/e2e/pages/helm-page.ts` around lines 296 - 302, Update
deleteRepositoryFromKebab to locate the repository row or container matching the
provided name before selecting its kebab button, then perform the existing
deleteAction and confirmButton clicks within that scoped element. Remove the
unconditional kebabButton.first() selection so multiple visible repositories
cannot target the wrong one.
🤖 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 `@frontend/e2e/pages/helm-page.ts`:
- Around line 432-436: Update clickInstallButton and the corresponding install,
upgrade, and rollback submission methods to remove submitButton.waitFor({ state:
'visible' }) after robustClick. Rely on waitForLoadingComplete or the expected
destination state to determine submission completion, without requiring the
button to remain attached or visible.
- Around line 441-447: Update upgradeChartVersion so it fails when no visible
console-select-item options are available instead of silently continuing.
Require items.count() to be greater than zero before clicking items.first(), and
use the test framework’s assertion or failure mechanism to report the missing
upgrade version.

---

Outside diff comments:
In `@frontend/e2e/pages/helm-page.ts`:
- Around line 296-302: Update deleteRepositoryFromKebab to locate the repository
row or container matching the provided name before selecting its kebab button,
then perform the existing deleteAction and confirmButton clicks within that
scoped element. Remove the unconditional kebabButton.first() selection so
multiple visible repositories cannot target the wrong one.
🪄 Autofix (Beta)

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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2e3a20d9-5126-467c-aaff-5fe2ddbca04f

📥 Commits

Reviewing files that changed from the base of the PR and between 66af4bf and a21dcf8.

📒 Files selected for processing (6)
  • frontend/e2e/pages/helm-details-page.ts
  • frontend/e2e/pages/helm-page.ts
  • frontend/e2e/tests/helm/helm-compatibility.spec.ts
  • frontend/e2e/tests/helm/helm-installation-view.spec.ts
  • frontend/e2e/tests/helm/helm-release.spec.ts
  • frontend/e2e/tests/helm/install-helm-chart.spec.ts

Comment thread frontend/e2e/pages/helm-page.ts
Comment thread frontend/e2e/pages/helm-page.ts Outdated
@sowmya-sl
sowmya-sl marked this pull request as ready for review August 4, 2026 07:14
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 4, 2026
@openshift-ci
openshift-ci Bot requested review from spadgett and stefanonardo August 4, 2026 07:14
@openshift-ci openshift-ci Bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. component/helm Related to helm-plugin labels Aug 4, 2026
sowmya-sl and others added 3 commits August 4, 2026 13:09
Migrate helm-page-tabs, install-url-chart, topology-helm-release, and
helm-navigation Gherkin features to Playwright specs. This complements
PR openshift#16711 which migrated helm-release.feature, covering 22 additional
test cases across the remaining uncovered Helm E2E scenarios.

New specs:
- helm-page-tabs.spec.ts (7 tests: tab navigation, repository CRUD)
- install-url-chart.spec.ts (6 tests: URL chart install, validation, OCI)
- topology-helm-release.spec.ts (2 tests covering 6 scenarios: sidebar, resource links)
- helm-navigation.spec.ts (7 tests: YAML view, filters, search, 2 manual skips)

New page objects:
- helm-page.ts: Helm releases/repositories tab navigation, status
  filtering, search, YAML view toggle, catalog chart selection,
  repository form CRUD, chart version dropdown, and Create dropdown
- helm-url-chart-page.ts: URL chart form navigation, chart URL/release
  name/version inputs, validation error locators, install/reset actions

Extended page objects:
- topology-page.ts: added clickOnHelmGroup() to search for and click
  a Helm release group node in the topology graph view
- topology-sidebar-page.ts: added getTab() and selectTab() for sidebar
  tab navigation, clickResourceLink() for clicking resource links
  (Deployment, BuildConfig, Service, ImageStream, Route) in the sidebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds specs for helm-release, install-helm-chart, helm-installation-view,
helm-compatibility, actions-on-helm-release, and
actions-on-helm-release-after-upgrade features. The helm-release spec
(adapted from PR openshift#16711) covers the full lifecycle including install,
status verification, filtering, upgrade, rollback, and delete.
helm-feature-flag is all-manual and needs no automation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use data-test locator for catalog side pane button instead of fragile role selector
- Remove duplicate searchCatalogAndSelectChart method, use searchAndSelectHelmChart
- Replace bare .click() with robustClick() for filter menu item selections
- Remove flaky submitButton.waitFor after robustClick in install/upgrade/rollback methods
- Assert upgrade chart versions are available instead of silently skipping
- Add warmupSPA and switchPerspective to helm-navigation tests
- Use unique release name in topology second test to avoid collision

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sowmya-sl
sowmya-sl force-pushed the helm-playwright-migration branch from b5d6cf7 to d65e39f Compare August 4, 2026 07:40
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 4, 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 `@frontend/package.json`:
- Around line 37-39: Update the test-cypress-knative,
test-cypress-knative-headless, and test-cypress-knative-nightly scripts to
invoke the repository’s Playwright runner with the knative project from
playwright.config.ts instead of changing into the legacy integration-tests
directory and running Cypress. Preserve standard, headless, and nightly behavior
using valid Playwright flags, including the knative-setup dependency.
🪄 Autofix (Beta)

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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b2e02194-0b2c-47bf-be39-1a9c3dafff77

📥 Commits

Reviewing files that changed from the base of the PR and between b5d6cf7 and d65e39f.

📒 Files selected for processing (54)
  • frontend/e2e/pages/helm-details-page.ts
  • frontend/e2e/pages/helm-page.ts
  • frontend/e2e/pages/helm-url-chart-page.ts
  • frontend/e2e/pages/topology-page.ts
  • frontend/e2e/pages/topology-sidebar-page.ts
  • frontend/e2e/tests/helm/helm-compatibility.spec.ts
  • frontend/e2e/tests/helm/helm-installation-view.spec.ts
  • frontend/e2e/tests/helm/helm-navigation.spec.ts
  • frontend/e2e/tests/helm/helm-page-tabs.spec.ts
  • frontend/e2e/tests/helm/helm-release.spec.ts
  • frontend/e2e/tests/helm/install-helm-chart.spec.ts
  • frontend/e2e/tests/helm/install-url-chart.spec.ts
  • frontend/e2e/tests/helm/topology-helm-release.spec.ts
  • frontend/package.json
  • frontend/packages/helm-plugin/integration-tests/README.md
  • frontend/packages/helm-plugin/integration-tests/cypress.config.js
  • frontend/packages/helm-plugin/integration-tests/features/BestPractices.md
  • frontend/packages/helm-plugin/integration-tests/features/helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/actions-on-helm-release-after-upgrade.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/actions-on-helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-compatibility.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-feature-flag.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-installation-view.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-navigation.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-page-tabs.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/install-helm-chart.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/install-url-chart.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/topology-helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/package.json
  • frontend/packages/helm-plugin/integration-tests/reporter-config.json
  • frontend/packages/helm-plugin/integration-tests/support/commands/hooks.ts
  • frontend/packages/helm-plugin/integration-tests/support/commands/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/constants/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/constants/navigation.ts
  • frontend/packages/helm-plugin/integration-tests/support/constants/static-text/helm-text.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/helm-details-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/helm-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/rollBack-helm-release-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/upgrade-helm-release-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/url-chart-install-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/common/common.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/actions-on-helm-release-after-upgrade.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-compatibility.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-installation-view.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-navigation.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-release.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/install-url-chart.ts
  • frontend/packages/helm-plugin/integration-tests/test-data/namespaced-helm-chart-repository.yaml
  • frontend/packages/helm-plugin/integration-tests/test-data/namespaced-helm-crd.yaml
  • frontend/packages/helm-plugin/integration-tests/test-data/red-hat-helm-charts.yaml
  • frontend/packages/helm-plugin/integration-tests/tsconfig.json
💤 Files with no reviewable changes (40)
  • frontend/packages/helm-plugin/integration-tests/support/pages/index.ts
  • frontend/packages/helm-plugin/integration-tests/features/helm/actions-on-helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/test-data/red-hat-helm-charts.yaml
  • frontend/packages/helm-plugin/integration-tests/test-data/namespaced-helm-crd.yaml
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-navigation.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm.ts
  • frontend/packages/helm-plugin/integration-tests/features/helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/tsconfig.json
  • frontend/packages/helm-plugin/integration-tests/features/helm/install-url-chart.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/install-helm-chart.feature
  • frontend/packages/helm-plugin/integration-tests/support/commands/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/actions-on-helm-release-after-upgrade.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/url-chart-install-page.ts
  • frontend/packages/helm-plugin/integration-tests/support/commands/hooks.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-installation-view.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/install-url-chart.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/common/common.ts
  • frontend/packages/helm-plugin/integration-tests/features/helm/topology-helm-release.feature
  • frontend/packages/helm-plugin/integration-tests/package.json
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-compatibility.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/rollBack-helm-release-page.ts
  • frontend/packages/helm-plugin/integration-tests/features/BestPractices.md
  • frontend/packages/helm-plugin/integration-tests/features/helm/actions-on-helm-release-after-upgrade.feature
  • frontend/packages/helm-plugin/integration-tests/support/constants/static-text/helm-text.ts
  • frontend/packages/helm-plugin/integration-tests/reporter-config.json
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-feature-flag.feature
  • frontend/packages/helm-plugin/integration-tests/support/constants/index.ts
  • frontend/packages/helm-plugin/integration-tests/cypress.config.js
  • frontend/packages/helm-plugin/integration-tests/test-data/namespaced-helm-chart-repository.yaml
  • frontend/packages/helm-plugin/integration-tests/support/constants/navigation.ts
  • frontend/packages/helm-plugin/integration-tests/support/step-definitions/helm/helm-release.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/upgrade-helm-release-page.ts
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-navigation.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-compatibility.feature
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-page-tabs.feature
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/helm-page.ts
  • frontend/packages/helm-plugin/integration-tests/README.md
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/index.ts
  • frontend/packages/helm-plugin/integration-tests/support/pages/helm/helm-details-page.ts
  • frontend/packages/helm-plugin/integration-tests/features/helm/helm-installation-view.feature
🚧 Files skipped from review as they are similar to previous changes (11)
  • frontend/e2e/pages/topology-page.ts
  • frontend/e2e/tests/helm/helm-installation-view.spec.ts
  • frontend/e2e/pages/helm-details-page.ts
  • frontend/e2e/pages/topology-sidebar-page.ts
  • frontend/e2e/tests/helm/helm-navigation.spec.ts
  • frontend/e2e/tests/helm/helm-release.spec.ts
  • frontend/e2e/tests/helm/helm-compatibility.spec.ts
  • frontend/e2e/tests/helm/install-helm-chart.spec.ts
  • frontend/e2e/tests/helm/install-url-chart.spec.ts
  • frontend/e2e/tests/helm/helm-page-tabs.spec.ts
  • frontend/e2e/pages/helm-page.ts

Comment thread frontend/package.json
All 11 Helm features have been migrated to Playwright. Remove the
legacy Cypress integration-tests directory and associated npm scripts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sowmya-sl
sowmya-sl force-pushed the helm-playwright-migration branch from d65e39f to 4209ae5 Compare August 4, 2026 08:35
@sowmya-sl

Copy link
Copy Markdown
Contributor Author

/test frontend

@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@sowmya-sl: 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/frontend 4209ae5 link true /test frontend

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/helm Related to helm-plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant