diff --git a/.github/workflows/kubernetes-test.yml b/.github/workflows/kubernetes-test.yml new file mode 100644 index 000000000..dcf7d0680 --- /dev/null +++ b/.github/workflows/kubernetes-test.yml @@ -0,0 +1,66 @@ +name: Sandbox Kubernetes Tests + +on: + pull_request: + branches: [ main ] + paths: + - 'kubernetes/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + GO_VERSION: '1.24' + +jobs: + controller-e2e: + name: Controller E2E Tests (Kubernetes v${{ matrix.version }}) + strategy: + fail-fast: false + matrix: + version: ["1.21.1", "1.22.4", "1.24.4", "1.26.4", "1.28.6", "1.30.4", "1.32.2", "1.34.2"] + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Go + uses: actions/setup-go@v6 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Run tests + working-directory: kubernetes + run: | + make test-e2e KIND_K8S_VERSION=v${{ matrix.version }} + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Go + uses: actions/setup-go@v6 + with: + go-version: '1.24.0' + + - name: Run golint + working-directory: kubernetes + run: | + make lint + + - name: Build binary + working-directory: kubernetes + run: | + make build + make task-executor-build + + - name: Run tests + working-directory: kubernetes + run: | + make test \ No newline at end of file diff --git a/.github/workflows/sandbox-k8s-e2e.yml b/.github/workflows/sandbox-k8s-e2e.yml deleted file mode 100644 index 2b7df1037..000000000 --- a/.github/workflows/sandbox-k8s-e2e.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Sandbox K8S E2E Tests - -on: - pull_request: - branches: [ main ] - paths: - - 'kubernetes/**' - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - GO_VERSION: '1.24' - -jobs: - e2e-k8s: - name: E2E Tests (K8s v${{ matrix.k8s-version }}) - strategy: - fail-fast: false - matrix: - k8s-version: ["1.21.1", "1.22.4", "1.24.4", "1.26.4", "1.28.6", "1.30.4", "1.32.2", "1.34.2"] - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v6 - - - name: Set up Go - uses: actions/setup-go@v6 - with: - go-version: ${{ env.GO_VERSION }} - - - name: Run tests - run: | - cd kubernetes - make test-e2e KIND_K8S_VERSION=v${{ matrix.k8s-version }} \ No newline at end of file diff --git a/.github/workflows/sandbox-k8s-test.yml b/.github/workflows/sandbox-k8s-test.yml deleted file mode 100644 index 2365d2250..000000000 --- a/.github/workflows/sandbox-k8s-test.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Sandbox K8S Tests - -on: - pull_request: - branches: [ main ] - paths: - - 'kubernetes/**' - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v6 - - - name: Set up Go - uses: actions/setup-go@v6 - with: - go-version: '1.24.0' - - - name: Run golint - run: | - cd kubernetes - make lint - - - name: Build binary - run: | - cd kubernetes - make build - make task-executor-build - - - name: Run tests - run: | - cd kubernetes - make test diff --git a/kubernetes/README.md b/kubernetes/README.md index c7f56bfa8..b668c8de2 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -44,7 +44,7 @@ Intelligent resource management features: ## Runtime API Support Notes -- `pause` / `resume` lifecycle APIs are currently **not supported** by the Kubernetes runtime. +- `pause` / `resume` lifecycle APIs are currently **NOT SUPPORTED** by the Kubernetes runtime. - Calling these APIs against Kubernetes runtime returns `501 Not Implemented`. - Pause/resume semantics in OpenSandbox mean preserving in-memory process state (container-level suspend/resume). Kubernetes provider currently focuses on create/get/list/delete/renew workflows.