Skip to content

Commit

Permalink
Helm chart testing (#532)
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Kravec <[email protected]>
  • Loading branch information
kravciak authored Sep 14, 2024
1 parent ae709d9 commit 2148fe6
Showing 1 changed file with 51 additions and 35 deletions.
86 changes: 51 additions & 35 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,63 @@
name: End-to-end tests

on:
workflow_dispatch:
push:
branches:
- "*"
tags:
- "v*"
- "*"
pull_request:
branches:
- "main"
schedule:
- cron: '0 21 * * *'

defaults:
run:
shell: bash

env:
K3D_VERSION: # 'v5.6.3' - optionally pin version
K3D_CLUSTER_NAME: ${{ github.repository_owner }}-${{ github.event.repository.name }}-runner

jobs:
images:
name: "Fetch container images used in the test"
e2e:
strategy:
fail-fast: false
matrix:
mode: [install, upgrade]

# Run schedule workflows only on original repo, not forks
if: github.event_name != 'schedule' || github.repository_owner == 'kubewarden'

runs-on: ubuntu-latest
outputs:
controller-image-repository: ${{ steps.get-controller.outputs.controller-image-repository }}
controller-image-tag: ${{ steps.get-controller.outputs.controller-image-tag }}
policy-server-repository: ${{ steps.get-policy-server.outputs.policy-server-repository }}
policy-server-tag: ${{ steps.get-policy-server.outputs.policy-server-tag }}
steps:
- name: "Checkout repository"
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: "Get controller container image"
id: get-controller
shell: bash
run: |
echo "controller-image-repository=$(helm show values charts/kubewarden-controller | yq '.global.cattle.systemDefaultRegistry + "/" + .image.repository')" >> $GITHUB_OUTPUT
echo "controller-image-tag=$(helm show values charts/kubewarden-controller | yq '.image.tag')" >> $GITHUB_OUTPUT
- name: "Get policy server container image"
id: get-policy-server
shell: bash
run: |
echo "policy-server-repository=$(helm show values charts/kubewarden-defaults | yq '.global.cattle.systemDefaultRegistry + "/" + .policyServer.image.repository')" >> $GITHUB_OUTPUT
echo "policy-server-tag=$(helm show values charts/kubewarden-defaults | yq '.policyServer.image.tag')" >> $GITHUB_OUTPUT
run-e2e-tests:
name: "Tests"
needs: [images]
uses: kubewarden/kubewarden-end-to-end-tests/.github/workflows/e2e-tests.yml@main
with:
controller-image-repository: ${{ needs.images.outputs.controller-image-repository }}
controller-image-tag: ${{ needs.images.outputs.controller-image-tag }}
policy-server-repository: ${{ needs.images.outputs.policy-server-repository }}
policy-server-tag: ${{ needs.images.outputs.policy-server-tag }}
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/kubewarden-end-to-end-tests
path: e2e-tests
submodules: 'true'

- name: "Install kwctl"
uses: kubewarden/github-actions/kwctl-installer@main
with:
KWCTL_VERSION: latest

- run: sudo npm install -g bats

- name: "Create k3d cluster"
run: |
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | TAG=${{ env.K3D_VERSION }} sudo --preserve-env=TAG bash
k3d cluster create ${{ env.K3D_CLUSTER_NAME }} --agents 1
- name: Execute tests
working-directory: e2e-tests
run: |
make KUBEWARDEN_CHARTS_LOCATION=../charts \
CLUSTER_NAME=${{ env.K3D_CLUSTER_NAME }} \
${{matrix.mode}} tests audit-scanner-installation.bats
- name: Clean Up
if: always()
run: |
k3d cluster delete ${{ env.K3D_CLUSTER_NAME }}

0 comments on commit 2148fe6

Please sign in to comment.