Files
open-cluster-management/.github/workflows/e2e.yml
T
3da28e4bf7 🐛 fix(placement): correct debug permission checks and reject bad methods (#1623)
Map GET/POST debug requests to get/create SAR verbs and return 403 on
denial. Reject unsupported HTTP methods with 405 instead of treating
them as GET. Update the GET RBAC integration test Role to grant get.

Also free unused disk on e2e runners before image builds to reduce
"no space left on device" flakes.

Fixes open-cluster-management-io/ocm#1622

Signed-off-by: Roke Jung <roke@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 07:27:40 +00:00

135 lines
5.0 KiB
YAML

name: E2E
on:
workflow_dispatch: {}
pull_request:
paths-ignore:
- 'solutions/**'
- 'assets/**'
- 'troubleshooting/**'
- ".github/ISSUE_TEMPLATE/*"
- 'README.md'
- '*.md'
branches:
- main
- release-*
env:
GO_VERSION: '1.26'
GO_REQUIRED_MIN_VERSION: ''
USE_EXISTING_CLUSTER: false # set to true to use an existing kind cluster for debugging with act
KUBERNETES_VERSION: 'v1.29.2'
permissions:
contents: read
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- name: add permisson to docker.sock
run: sudo chown runner:docker /var/run/docker.sock
if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Free disk space
run: bash .github/scripts/free-disk-space.sh
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: ${{ env.GO_VERSION }}
- name: Setup kind
if: ${{ env.USE_EXISTING_CLUSTER != 'true' }}
run: kind create cluster --image kindest/node:${{ env.KUBERNETES_VERSION }} --wait 300s
- name: Set KUBECONFIG
run: |
mkdir -p /home/runner/.kube
kind get kubeconfig > /home/runner/.kube/config
if: ${{ env.USE_EXISTING_CLUSTER == 'true' }}
- name: Test E2E
run: |
IMAGE_TAG=e2e make test-e2e
env:
KUBECONFIG: /home/runner/.kube/config
e2e-hosted:
runs-on: ubuntu-latest
steps:
- name: add permisson to docker.sock
run: sudo chown runner:docker /var/run/docker.sock
if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Free disk space
run: bash .github/scripts/free-disk-space.sh
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: ${{ env.GO_VERSION }}
- name: Setup kind
if: ${{ env.USE_EXISTING_CLUSTER != 'true' }}
run: kind create cluster --image kindest/node:${{ env.KUBERNETES_VERSION }} --wait 300s
- name: Set KUBECONFIG
run: |
mkdir -p /home/runner/.kube
kind get kubeconfig > /home/runner/.kube/config
if: ${{ env.USE_EXISTING_CLUSTER == 'true' }}
- name: Test E2E
run: |
IMAGE_TAG=e2e KLUSTERLET_DEPLOY_MODE=SingletonHosted make test-e2e
env:
KUBECONFIG: /home/runner/.kube/config
e2e-singleton:
runs-on: ubuntu-latest
steps:
- name: add permisson to docker.sock
run: sudo chown runner:docker /var/run/docker.sock
if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Free disk space
run: bash .github/scripts/free-disk-space.sh
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: ${{ env.GO_VERSION }}
- name: Setup kind
if: ${{ env.USE_EXISTING_CLUSTER != 'true' }}
run: kind create cluster --image kindest/node:${{ env.KUBERNETES_VERSION }} --wait 300s
- name: Set KUBECONFIG
run: |
mkdir -p /home/runner/.kube
kind get kubeconfig > /home/runner/.kube/config
if: ${{ env.USE_EXISTING_CLUSTER == 'true' }}
- name: Test E2E
run: |
IMAGE_TAG=e2e KLUSTERLET_DEPLOY_MODE=Singleton make test-e2e
env:
KUBECONFIG: /home/runner/.kube/config
e2e-grpc:
runs-on: ubuntu-latest
steps:
- name: add permisson to docker.sock
run: sudo chown runner:docker /var/run/docker.sock
if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Free disk space
run: bash .github/scripts/free-disk-space.sh
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: ${{ env.GO_VERSION }}
- name: Setup kind
if: ${{ env.USE_EXISTING_CLUSTER != 'true' }}
run: kind create cluster --image kindest/node:${{ env.KUBERNETES_VERSION }} --wait 300s
- name: Set KUBECONFIG
run: |
mkdir -p /home/runner/.kube
kind get kubeconfig > /home/runner/.kube/config
if: ${{ env.USE_EXISTING_CLUSTER == 'true' }}
- name: Test E2E
run: |
IMAGE_TAG=e2e REGISTRATION_DRIVER=grpc make test-e2e
env:
KUBECONFIG: /home/runner/.kube/config