Files
Ayush Kumar ea409c7437 Refactor: controller setup and improve server tests (#6958)
* Feat: Add integration test setup and cleanup scripts, enhance server testing capabilities

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>

* Refactor: Rename variables for clarity and consistency in core command handling

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>

* refactor: Remove redundant server test targets and enhance logging in core command execution

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>

* Refactor server tests and enhance E2E testing setup

- Updated server_test.go to improve test organization and clarity, including the addition of BeforeSuite and AfterSuite for environment setup and teardown.
- Enhanced the waitWebhookSecretVolume tests to cover various scenarios including empty directories and files.
- Added new tests for syncConfigurations and logging setup functions to ensure proper configuration handling.
- Introduced a new E2E test for the main function in main_e2e_test.go to validate the core functionality of the application.
- Improved the e2e.mk file to set up a k3d cluster for running main_e2e_test with embedded test binaries and added cleanup steps.
- Removed the setup-integration-tests.sh script as its functionality is now integrated into the Makefile.

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>

* Refactor:  improve multicluster test timeouts

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>

---------

Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
2025-11-05 10:23:24 +00:00
..

Kubevela K8s Upgrade E2E Test Action

A comprehensive GitHub composite action for running KubeVela Kubernetes upgrade end-to-end (E2E) tests with complete environment setup, multiple test suites, and failure diagnostics.

Note

: This action requires the GO_VERSION environment variable to be set in your workflow.

Quick Start

Basic Usage

name: E2E Tests
on: [push, pull_request]

jobs:
  e2e-tests:
    runs-on: ubuntu-latest
    env:
      GO_VERSION: '1.23.8'
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        
      - name: Run KubeVela E2E Tests
        uses: ./.github/actions/upgrade-e2e-test

Test Flow Diagram

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ Environment     │    │ E2E Environment  │    │ Test Execution  │
│ Setup           │───▶│ Preparation      │───▶│ (3 Suites)      │
│                 │    │                  │    │                 │
│ • Install tools │    │ • Cleanup        │    │ • API tests     │
│ • Setup Go      │    │ • Core setup     │    │ • Addon tests   │
│ • Dependencies  │    │ • Helm tests     │    │ • General tests │
│ • Build project │    │                  │    │                 │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                                        │
                                                        ▼
                                                ┌─────────────────┐
                                                │ Diagnostics     │
                                                │ (On Failure)    │
                                                │                 │
                                                │ • Cluster logs  │
                                                │ • System events │
                                                │ • Test artifacts│
                                                └─────────────────┘