mirror of
https://github.com/open-cluster-management-io/ocm.git
synced 2026-08-19 04:06:35 +00:00
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>
135 lines
5.0 KiB
YAML
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
|