fix(e2e): add --namespace to RBAC apply in E2E workflow (PR #32 fix) #36

Closed
privilegedescalation-engineer[bot] wants to merge 15 commits from hugh/fix-e2e-rbac-apply into main

15 Commits

Author SHA1 Message Date
Chris Farhood fb6bdb50c9 fix(e2e): add diagnostic output to RBAC apply step to diagnose remaining failure
E2E still failing at step 11 after --namespace fix. Adding detailed
diagnostic output to capture actual kubectl error message before
it cascades. Also verifying RoleExists before apply to detect if
Flux already synced the RBAC from infra repo.

Ref: PRI-851
2026-05-06 15:48:54 +00:00
Chris Farhood ac2292e175 fix(e2e): add --namespace to RBAC apply in E2E workflow
E2E workflow was failing at step 'Apply RBAC for E2E pipeline' with
kubectl apply returning exit code 1 with no output. The RBAC file
contains a Role and RoleBinding with metadata.namespace: headlamp-dev.
Adding explicit --namespace=headlamp-dev to the kubectl apply command
resolves the namespace-scoped resource conflict.

Investigation of run 25444677449 (hugh/add-e2e-workflow-argocd-plugin):
- Step 11 'Apply RBAC for E2E pipeline' failed in <1s
- Subsequent steps 12-17 skipped (cascading failure)
- Diagnostics and teardown steps ran correctly

Ref: PRI-851
2026-05-06 15:39:05 +00:00
privilegedescalation-ceo[bot] 4fa640a5c7 ci(e2e): trigger PR workflow check via API commit 2026-05-06 13:46:56 +00:00
Chris Farhood 8d564dc373 fix(e2e): add kubeconfig setup, RBAC, kubectl logs diagnostics
- Add Get kubeconfig step (matches polaris pattern for ARC runners)
- Add Apply RBAC for E2E pipeline step + deployment/e2e-ci-runner-rbac.yaml
- Pin kubectl to latest (addresses azure/setup-kubectl@v4 Node.js 20 warning)
- Add kubectl logs (current + previous) to failure diagnostics so pod crash
  root cause is visible in CI output

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 13:45:45 +00:00
Chris Farhood 0649b47dba fix(e2e): set executable bit on deploy/teardown scripts
Scripts were committed as 100644 which causes exit code 126
(Permission denied) when the CI runner tries to execute them.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 13:30:07 +00:00
Chris Farhood 825fed0446 fix(e2e): use pnpm with proper detection and E2E_RELEASE config
The argocd-plugin uses pnpm (packageManager: pnpm@10.32.1) but the
original inline workflow used npm commands (npm ci, cache: npm).
This caused the workflow to fail.

Switch to pnpm detection and commands while preserving the
E2E_RELEASE=headlamp-e2e-argocd setting required by the deploy script.
2026-05-05 15:19:19 +00:00
Chris Farhood 27a1878db1 fix: update pnpm-lock.yaml to match current package.json
The lockfile had 'overrides' section that no longer exists in package.json,
causing 'pnpm install --frozen-lockfile' to fail with config mismatch error.

Regenerated lockfile to match current package.json state.
2026-05-05 15:14:06 +00:00
Chris Farhood 8a603d6c9b fix(e2e): use pnpm-capable reusable workflow
The argocd plugin uses pnpm (packageManager: pnpm@10.32.1) but the
inline workflow was using npm-based commands (npm ci, cache: npm).
This caused 'Setup Node.js' to fail because setup-node@v6 with
cache: npm has issues when no package-lock.json exists.

Switch to the reusable plugin-e2e workflow which properly detects
and uses pnpm for projects with pnpm-lock.yaml.
2026-05-05 15:10:59 +00:00
privilegedescalation-engineer[bot] aef48d38c1 Add @playwright/test devDependency 2026-05-05 14:57:10 +00:00
privilegedescalation-engineer[bot] 3c3542b86e Add playwright.config.ts 2026-05-05 14:55:57 +00:00
privilegedescalation-engineer[bot] f47035656e Add e2e/auth.setup.ts 2026-05-05 14:55:56 +00:00
privilegedescalation-engineer[bot] 0675cb6e5b Add e2e/argocd.spec.ts 2026-05-05 14:55:54 +00:00
privilegedescalation-engineer[bot] 3a8ab3847c Add scripts/teardown-e2e-headlamp.sh 2026-05-05 14:55:53 +00:00
privilegedescalation-engineer[bot] f69e83f917 Add scripts/deploy-e2e-headlamp.sh 2026-05-05 14:55:52 +00:00
privilegedescalation-engineer[bot] dc79422417 Add .github/workflows/e2e.yaml 2026-05-05 14:55:51 +00:00