Skip to content

add policy e2e

add policy e2e #32

Workflow file for this run

name: E2E
on:
workflow_dispatch: {}
pull_request:
branches:
- main
- release-*
env:
GO_VERSION: '1.22'
GO_REQUIRED_MIN_VERSION: ''
USE_EXISTING_CLUSTER: false # set to true to use an existing kind cluster for debugging with act
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@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Install kind
uses: helm/[email protected]
with:
version: v0.22.0
install_only: true
- name: Test kind works and there is no cluster started
run: |
[[ $(kind get clusters | wc -l) -eq 0 ]]
- name: Set KUBECONFIG dir
run: |
mkdir -p /home/runner/.kube
- name: Create Hub cluster
run: |
kind create cluster --name hub
env:
KUBECONFIG: /home/runner/.kube/hub-kubeconfig
- name: Create Spoke cluster
run: |
kind create cluster --name spoke
env:
KUBECONFIG: /home/runner/.kube/spoke-kubeconfig
- name: Test Hub and Spoke clusters
run: |
kubectl cluster-info --kubeconfig /home/runner/.kube/hub-kubeconfig
kubectl get pods -A --kubeconfig /home/runner/.kube/hub-kubeconfig
kubectl cluster-info --kubeconfig /home/runner/.kube/spoke-kubeconfig
kubectl get pods -A --kubeconfig /home/runner/.kube/spoke-kubeconfig
- name: Create internal kubeconfigs
run: |
kind get kubeconfig --internal --name hub > /home/runner/.kube/hub-internal-kubeconfig
kind get kubeconfig --internal --name spoke > /home/runner/.kube/spoke-internal-kubeconfig
- name: Install MCE+Policy
run: |
make e2e-install
env:
KUBECONFIG: /home/runner/.kube/hub-kubeconfig
- name: Import hosted cluster
run: |
make e2e-import-cluster
env:
KUBECONFIG: /home/runner/.kube/hub-kubeconfig
MANAGED_CLUSTER_NAME: spoke
MANAGED_KUBECONFIG: /home/runner/.kube/spoke-internal-kubeconfig
EXTERNAL_MANAGED_KUBECONFIG: /home/runner/.kube/spoke-internal-kubeconfig
- name: Run e2e
run: |
make test-e2e
env:
KUBECONFIG: /home/runner/.kube/hub-kubeconfig
MANAGED_CLUSTER_NAME: spoke