Skip to content

feat(e2e): enable oxlint pedantic category#5003

Merged
openshift-merge-bot[bot] merged 8 commits into
mainfrom
feat/e2e-oxlint-pedantic
Jun 25, 2026
Merged

feat(e2e): enable oxlint pedantic category#5003
openshift-merge-bot[bot] merged 8 commits into
mainfrom
feat/e2e-oxlint-pedantic

Conversation

@schultzp2020

@schultzp2020 schultzp2020 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

PR 3 in the E2E modernization stack (builds on #5002).

  • Enable pedantic: "error" in e2e-tests/oxlint.config.ts
  • Disable typescript/prefer-readonly-parameter-types — low ROI for Playwright Page / API helpers (~408 noise)
  • Fix ~635 pedantic violations: strict boolean checks, ?? coalescing, unicode regex flags, inline comment cleanup, require-await cleanup
  • Split oversized modules (kube-client, rhdh-deployment, ui-helper, semantic-selectors, api-helper, common) to satisfy max-lines/max-depth
  • Migrate deprecated UI_HELPER_ELEMENTS / MuiCard selectors toward semantic locators and ui-locators.ts
  • Replace per-file oxlint exceptions with directory globs and documented rationale
  • Playwright assertion fixes: await restartDeployment directly, expect().toBeVisible() for About card, table-scoped catalog Name checks; register restartDeployment for expect-expect

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. This PR — oxlint pedantic (feat/e2e-oxlint-pedantic)
  4. feat(e2e): harden browser lifecycle, smoke gate, and RHDH naming #5004 — e2e hardening

Test plan

@github-actions

Copy link
Copy Markdown
Contributor

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

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxc-toolchain branch from 390f0e8 to 782f16b Compare June 23, 2026 18:25
@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.

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

@sonarqubecloud

Copy link
Copy Markdown

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxc-toolchain branch from 75bf7b2 to 40d0f7d Compare June 23, 2026 22:11
@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

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

@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

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
@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxc-toolchain branch from b499d8d to 31ffed4 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 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).

Base automatically changed from feat/e2e-oxc-toolchain to main June 24, 2026 17:53
schultzp2020 and others added 4 commits June 24, 2026 12:54
Turn on pedantic-as-error with prefer-readonly-parameter-types disabled
for test helpers, then fix ~635 violations via stricter booleans, nullish
coalescing, module splits for oversized files, and deprecated selector migrations.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use directory globs instead of named files and document the rationale for each override block.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use plain await for deployment restart, expect().toBeVisible() for the
About card link, and table-scoped verifyText for catalog Name checks.
Register restartDeployment as an assert helper for expect-expect.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@schultzp2020 schultzp2020 force-pushed the feat/e2e-oxlint-pedantic branch from 38d863d to 647a166 Compare June 24, 2026 17:54
@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).

Move kube-client, api-helper, common, rhdh-deployment, and semantic selector
splits into directories with short filenames, matching the ui-helper pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
@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).

Remove redundant top-level common.ts and ui-helper.ts facades so split
modules match api-helper and kube-client (folder + index only). Add
ui-helper/index.ts and move msgraph-helper split into msgraph-helper/.

Co-authored-by: Cursor <cursoragent@cursor.com>
@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).

Folder moves left one-level-too-shallow paths to errors, api-endpoints,
support, and locale modules, which broke type-aware oxlint in CI. Use
global fetch in keycloak helper now that Node 24 provides it natively.

Co-authored-by: Cursor <cursoragent@cursor.com>
@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).

Semantic getAccordion/getCard/getTableRow locators were too narrow or
ambiguous for MUI home page and scaffolder review tables. Scope quick
access items to the accordion root, cards via MuiCard XPath, and rows via
:text-is() matching until semantic selectors cover these layouts.

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

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.77%. Comparing base (256a5f9) to head (b76cb6c).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5003      +/-   ##
==========================================
- Coverage   55.39%   54.77%   -0.62%     
==========================================
  Files         122      110      -12     
  Lines        2365     2147     -218     
  Branches      563      538      -25     
==========================================
- Hits         1310     1176     -134     
+ Misses       1048      969      -79     
+ Partials        7        2       -5     
Flag Coverage Δ
rhdh 54.77% <ø> (-0.62%) ⬇️

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 256a5f9...b76cb6c. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

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

@openshift-ci openshift-ci Bot added the lgtm label Jun 25, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 1de75ee into main Jun 25, 2026
21 checks passed
@openshift-merge-bot openshift-merge-bot Bot deleted the feat/e2e-oxlint-pedantic branch June 25, 2026 08:55
@sonarqubecloud

Copy link
Copy Markdown

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants