Title: Consolidate e2e tests: Migrate BASH to GO framework
Problem
Two separate e2e test suites exist for live functionality (acknowledged in e2e/README.md as needing reconciliation):
- GO-based (e2e/live_test.go): declarative fixture tests
- BASH-based (e2e/live/end-to-end-test.sh): procedural scenario tests
Both run every PR, creating maintenance burden and scenario duplication.
Solution
Single unified GO-based e2e test suite handling all scenarios.
Implementation approach
-
Extend GO test framework for sequential scenarios
- Add multi-step test support to
pkg/test/runner
- Create scenario YAML format (like current fixtures)
- No Ginkgo/Gomega needed - standard Go testing sufficient
-
Restructure test infrastructure
- Move
pkg/test/runner/ → e2e/framework/runner/
- Move
pkg/test/live/ → e2e/framework/live/
- Clarifies: production code in pkg/, e2e infrastructure in e2e/
-
Migrate all BASH scenarios to fixtures
- Init commands and variations
- Stdin input handling
- Error and RBAC scenarios
- Symlink handling
- Custom filename support
-
Add multi-version testing via matrix
- Parametrize K8s version in framework
- Use GitHub Actions matrix for parallel testing
- Replaces BASH version loop
-
Clean up
- Delete e2e/live/end-to-end-test.sh
- Delete .github/workflows/e2eEnvironment.yml
- Consolidate to single workflow
What gets migrated
20+ BASH scenarios covering:
- Initialization (init, init --force, init --quiet, custom filenames)
- Stdin operations (apply/status/destroy from stdin)
- Error handling (RBAC, continue-on-error)
- Advanced scenarios (symlinks, custom ResourceGroup names)
- Multi-version testing (K8s 1.21-1.36)
Benefits
Single maintainable suite, no new dependencies, cleaner project structure, faster tests, full coverage retained.
Title: Consolidate e2e tests: Migrate BASH to GO framework
Problem
Two separate e2e test suites exist for live functionality (acknowledged in e2e/README.md as needing reconciliation):
Both run every PR, creating maintenance burden and scenario duplication.
Solution
Single unified GO-based e2e test suite handling all scenarios.
Implementation approach
Extend GO test framework for sequential scenarios
pkg/test/runnerRestructure test infrastructure
pkg/test/runner/→e2e/framework/runner/pkg/test/live/→e2e/framework/live/Migrate all BASH scenarios to fixtures
Add multi-version testing via matrix
Clean up
What gets migrated
20+ BASH scenarios covering:
Benefits
Single maintainable suite, no new dependencies, cleaner project structure, faster tests, full coverage retained.