Commit Graph

10 Commits

Author SHA1 Message Date
gandalf-the-greybeard[bot] 444ee7dcdb fix: correct package name from headlamp-solaris to headlamp-polaris
Fixes the ArtifactHub package name typo introduced in 0.6.0.
Only changes the name field in artifacthub-pkg.yml, package.json,
and package-lock.json. No dependency or workflow changes.

Fixes #25

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:30:32 +00:00
gandalf-the-greybeard[bot] 83897fb532 ci: add E2E preflight check for Headlamp connectivity and plugin version
Adds a diagnostic step before E2E tests that:
- Logs the expected plugin version from package.json
- Verifies Headlamp is reachable (fails fast if not)
- Attempts to list installed plugins for debugging

This surfaces version mismatches and connectivity issues immediately
instead of requiring analysis of cryptic test timeout failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:17:10 +00:00
hugh-hackman[bot] ceb7f31257 ci: align E2E workflow Node version to 22 (#17)
The CI and release workflows use Node 22, but E2E was still on Node 20.
This aligns all workflows to the same Node version for consistency.

Co-authored-by: gandalf-the-greybeard[bot] <gandalf-the-greybeard[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:12:30 -05:00
Chris Farhood 49bcbe24af ci: use Headlamp service DNS name for E2E tests
Use the Kubernetes service DNS name (headlamp.kube-system.svc.cluster.local)
instead of ClusterIP for reliable in-cluster DNS resolution.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-13 13:17:42 -05:00
Chris Farhood fdad1a6da2 ci: use Headlamp service IP for E2E tests
Use the Headlamp ClusterIP (10.43.61.138) directly instead of the ingress
hostname to avoid DNS resolution and ingress routing issues on local runners.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-13 13:13:52 -05:00
Chris Farhood 7bf00593ef ci: use local-ubuntu-latest runner for E2E tests
Use the local self-hosted runner label for internal network access
to headlamp.animaniacs.farh.net.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-13 11:50:40 -05:00
Chris Farhood 1ca90a7570 Revert "ci: switch E2E workflow to ubuntu-latest runner"
This reverts commit dbc69fb. The Headlamp instance at headlamp.animaniacs.farh.net
is not publicly accessible, so E2E tests require the self-hosted k3s-animaniacs
runner with network access to the internal domain.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-13 10:55:22 -05:00
Chris Farhood dbc69fb41f ci: switch E2E workflow to ubuntu-latest runner
The k3s-animaniacs self-hosted runner is not available. Use GitHub-hosted
ubuntu-latest runner instead to enable automated E2E testing.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-13 10:53:19 -05:00
Chris Farhood 4325babf68 ci: use on-prem runners for E2E tests (#10)
Switch E2E tests from GitHub-hosted runners to self-hosted k3s-animaniacs
runners which have network access to headlamp.animaniacs.farh.net.

Changes:
- runs-on: k3s-animaniacs (from ubuntu-latest)
- Re-enable E2E on push/PR events
- Uses ARC (Actions Runner Controller) self-hosted runners

Resolves DNS resolution failures (ERR_NAME_NOT_RESOLVED) by using
runners in the same network as the Headlamp test instance.

Runner config: kubernetes/base/arc-runners/helmrelease-arc-runner-set.yaml

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2026-02-12 08:15:38 -05:00
Chris Farhood 51b174e68d docs: enhance E2E testing with comprehensive docs and new tests
Add comprehensive Playwright E2E testing documentation and additional
test coverage for app bar badge and plugin settings functionality.

Changes:
- Add GitHub Actions workflow for E2E tests (.github/workflows/e2e.yaml)
- Create .env.example for local test configuration
- Update .gitignore to exclude .env files
- Enhance e2e/README.md with:
  - Detailed test coverage documentation
  - Cluster requirements and prerequisites
  - Debugging guides and troubleshooting tips
  - CI/CD integration instructions for GitHub Actions
  - Best practices and examples for writing new tests
- Add e2e/settings.spec.ts:
  - Test plugin settings page visibility
  - Test refresh interval configuration
  - Test dashboard URL configuration
  - Test connection test button
- Add e2e/appbar.spec.ts:
  - Test badge displays cluster score
  - Test badge navigation to overview
  - Test badge color reflects score level
  - Test badge updates across clusters

Test Results (v0.3.4):
- 5/16 tests passing (sidebar, namespaces, drawer functionality)
- 11/16 failing due to missing v0.3.4 features (settings, app bar badge)
- Tests will pass once plugin is updated to v0.3.4 in cluster

The E2E test suite now provides comprehensive coverage of:
- Plugin registration and loading
- Navigation and routing
- Settings configuration
- App bar integration
- Dark mode support
- Data fetching and rendering

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-11 23:02:05 -05:00