From f3389cdb27013774f2cdb83f9496c5a74b7767e0 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Tue, 8 Dec 2020 13:25:38 +0200 Subject: [PATCH] Add Kubernetes Kind e2e test Signed-off-by: Stefan Prodan --- .github/workflows/e2e.yaml | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/e2e.yaml diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml new file mode 100644 index 00000000..1a8d36e9 --- /dev/null +++ b/.github/workflows/e2e.yaml @@ -0,0 +1,47 @@ +name: e2e + +on: + push: + branches-ignore: + - 'main' + tags-ignore: + - '*' + +jobs: + kubernetes: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup tools + uses: ./.github/actions/tools + - name: Setup Flux + uses: fluxcd/flux2/action@main + - name: Setup Kubernetes + uses: engineerd/setup-kind@v0.5.0 + - name: Install Flux in Kubernetes Kind + run: flux install + - name: Setup cluster reconciliation + run: | + flux create source git flux-system \ + --url=${{ github.event.repository.html_url }} \ + --branch=${GITHUB_REF#refs/heads/} + flux create kustomization flux-system \ + --source=flux-system \ + --path=./clusters/staging + - name: Verify cluster reconciliation + run: | + kubectl -n flux-system wait kustomization/kyverno --for=condition=ready --timeout=1m + kubectl -n flux-system wait kustomization/kyverno-policies --for=condition=ready --timeout=1m + kubectl -n flux-system wait kustomization/tenants --for=condition=ready --timeout=1m + - name: Verify tenant reconciliation + run: | + kubectl -n apps wait kustomization/dev-team --for=condition=ready --timeout=1m + kubectl -n apps wait helmrelease/podinfo --for=condition=ready --timeout=1m + - name: Debug failure + if: failure() + run: | + kubectl -n flux-system get all + kubectl -n flux-system logs deploy/source-controller + kubectl -n flux-system logs deploy/kustomize-controller + kubectl -n flux-system logs deploy/helm-controller