Compare commits

..

3 Commits

Author SHA1 Message Date
Chris Farhood f55f76a3be fix(e2e): add plugin-name input to plugin-e2e workflow
Required after PR #157 merges — plugin-name is now a required input to plugin-e2e.yaml.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 17:09:04 +00:00
privilegedescalation-engineer[bot] be254b1eec feat(e2e): consolidate E2E infra + add waitForSidebar (PRI-698) (#42)
* feat(e2e): consolidate E2E test infrastructure + add waitForSidebar (PRI-698)

- Adds e2e/auth.setup.ts, e2e/tns-csi.spec.ts with waitForSidebar helper
- Adds playwright.config.ts, scripts/deploy-e2e-headlamp.sh, scripts/teardown-e2e-headlamp.sh
- Adds .github/workflows/e2e.yaml
- Plugin settings test waits for list before searching

* fix(e2e): add @playwright/test to devDependencies and e2e script (PRI-698)

@playwright/test was missing from devDependencies, causing the
'Install Playwright browsers' step to fail. Added it alongside
the e2e npm script so the reusable workflow can run playwright test.

* fix(e2e): reference @main workflow after .github merge

Co-Authored-By: Paperclip <noreply@paperclip.ing>

---------

Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-06 00:43:55 +00:00
privilegedescalation-engineer[bot] 90efdf5569 fix: override elliptic to patched version for GHSA-848j-6mx2-7j84
Merges pnpm.overrides entry for elliptic >=6.6.1 to address GHSA-848j-6mx2-7j84. Full pipeline cleared: CI + UAT (Patty) + QA (Regina) + CTO (Nancy). Admin override used due to dual-approval bot review limitation.
2026-05-05 14:29:20 +00:00
5 changed files with 539 additions and 543 deletions
+2 -1
View File
@@ -16,8 +16,9 @@ concurrency:
jobs:
e2e:
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@hugh/add-pnpm-support-plugin-e2e
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@main
with:
node-version: '22'
headlamp-version: v0.40.1
e2e-namespace: headlamp-dev
plugin-name: tns-csi
-6
View File
@@ -5,9 +5,3 @@ dist/
.env
.env.local
.eslintcache
# E2E
e2e/.auth/
.env.e2e
playwright-report/
test-results/
+3 -2
View File
@@ -24,14 +24,14 @@ test.describe('TNS CSI plugin smoke tests', () => {
await page.waitForLoadState('networkidle');
await expect(page).toHaveURL(/tns-csi/);
await expect(page.getByRole('heading', { name: /tns.csi.*overview/i })).toBeVisible();
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible();
});
test('TNS CSI page renders content', async ({ page }) => {
await page.goto('/c/main/tns-csi');
await waitForSidebar(page);
await expect(page.getByRole('heading', { name: /tns.csi.*overview/i })).toBeVisible({
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible({
timeout: 15_000,
});
@@ -43,6 +43,7 @@ test.describe('TNS CSI plugin smoke tests', () => {
test('plugin settings page shows TNS CSI plugin entry', async ({ page }) => {
await page.goto('/settings/plugins');
await page.waitForLoadState('networkidle');
await page.waitForSelector('[class*="PluginList"], [class*="plugins"], table, list', { timeout: 10_000 }).catch(() => {});
const pluginEntry = page.locator('text=/tns.csi/i').first();
await expect(pluginEntry).toBeVisible({ timeout: 30_000 });
+4 -4
View File
@@ -24,8 +24,7 @@
"format:check": "prettier --check src/",
"test": "vitest run",
"test:watch": "vitest",
"e2e": "playwright test",
"e2e:headed": "playwright test --headed"
"e2e": "playwright test"
},
"peerDependencies": {
"react": "^18.0.0",
@@ -49,11 +48,12 @@
"react-router-dom": "^5.3.0",
"typescript": "~5.6.2",
"vitest": "^3.2.4",
"@playwright/test": "^1.58.2"
"@playwright/test": "^1.59.1"
},
"overrides": {
"tar": "^7.5.11",
"undici": "^7.24.3",
"vite": ">=6.4.2"
"vite": ">=6.4.2",
"elliptic": ">=6.6.1"
}
}
+530 -530
View File
File diff suppressed because it is too large Load Diff