Add e2e tests

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
Stefan Prodan 2024-04-10 13:36:19 +03:00
parent 537fdc4926
commit 9765f84657
No known key found for this signature in database
GPG key ID: 3299AEB0E4085BAF
2 changed files with 66 additions and 0 deletions

43
.github/workflows/e2e.yaml vendored Normal file
View file

@ -0,0 +1,43 @@
name: e2e
on:
workflow_dispatch:
push:
branches: [ '*' ]
tags-ignore: [ '*' ]
jobs:
kubernetes:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Flux
uses: fluxcd/flux2/action@main
- name: Setup cluster fleet
run: make fleet-up
- name: Install Flux on the hub cluster
run: flux --context=kind-flux-hub install
- name: Setup cluster reconciliation
run: |
flux create source git flux-system \
--url=${{ github.event.repository.html_url }} \
--branch=${GITHUB_REF#refs/heads/} \
--username=${GITHUB_ACTOR} \
--password=${{ secrets.GITHUB_TOKEN }} \
--ignore-paths="hub/flux-system/"
flux create kustomization flux-system \
--source=flux-system \
--path="./hub"
- name: Verify clusters reconciliation
run: |
kubectl -n staging wait kustomization/apps --for=condition=ready --timeout=5m
kubectl -n production wait kustomization/apps --for=condition=ready --timeout=5m
- 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
flux get all --all-namespaces

23
.github/workflows/test.yaml vendored Normal file
View file

@ -0,0 +1,23 @@
name: test
on:
workflow_dispatch:
pull_request:
push:
branches: [ '*' ]
tags-ignore: [ '*' ]
jobs:
manifests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup yq
uses: fluxcd/pkg/actions/yq@main
- name: Setup kubeconform
uses: fluxcd/pkg/actions/kubeconform@main
- name: Setup kustomize
uses: fluxcd/pkg/actions/kustomize@main
- name: Validate manifests
run: make validate