Skip to content

Merge pull request #17 from controlplaneio-fluxcd/update-images-v2.2.3 #42

Merge pull request #17 from controlplaneio-fluxcd/update-images-v2.2.3

Merge pull request #17 from controlplaneio-fluxcd/update-images-v2.2.3 #42

Workflow file for this run

name: Conformance tests
on:
workflow_dispatch:
inputs:
version:
description: 'Flux version'
required: false
push:
branches:
- 'main'
- 'test-*'
- 'release-*'
tags-ignore:
- '*'
permissions:
contents: read
jobs:
kind:
strategy:
fail-fast: false
matrix:
variant:
- alpine
- distroless
kubernetes:
- v1.29.0
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Latest release
id: release
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=$(gh release view --json tagName -q '.tagName')
branch=${{ github.ref_name }}
prefix="release-"
if [[ "${branch}" =~ ^$prefix.* ]]; then
VERSION=${branch#"$prefix"}
fi
if [ "${{ github.event.inputs.version }}" != "" ]; then
VERSION="${{ github.event.inputs.version }}"
fi
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Setup Flux
uses: fluxcd/flux2/action@5c5c15ea212b8f029a110f9975851d25c8272695 #v2.2.2
with:
version: ${{ steps.release.outputs.version }}
- name: Setup Kubernetes
uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0
with:
cluster_name: flux
node_image: kindest/node:${{ matrix.kubernetes }}
- name: Install Flux
id: install
run: |
kubectl create ns flux-system
flux create secret oci flux-enterprise-auth \
--url=ghcr.io \
--username=${{ github.actor }} \
--password=${{ secrets.GHCR_READONLY }}
flux install \
--components-extra="image-reflector-controller,image-automation-controller" \
--registry=ghcr.io/controlplaneio-fluxcd/${{ matrix.variant }} \
--image-pull-secret=flux-enterprise-auth
- name: Verify images
run: kubectl -n flux-system get deployments.apps -o yaml | grep ${{ matrix.variant }}
- name: Setup cluster reconciliation
env:
FLUX_VERSION: ${{ steps.release.outputs.version }}
shell: bash
run: |
flux create source git flux-system \
--url=${{ github.event.repository.html_url }} \
--branch=${{ github.ref_name }} \
--username=${GITHUB_ACTOR} \
--password=${{ secrets.GITHUB_TOKEN }} \
--ignore-paths="clusters/**/flux-system/"
flux create kustomization flux-system \
--source=flux-system \
--path=./tests/${FLUX_VERSION:0:4}/clusters/kind
- name: Verify cluster reconciliation
run: |
kubectl -n flux-system wait kustomization/sources --for=condition=ready --timeout=2m
kubectl -n flux-system wait kustomization/appliers --for=condition=ready --timeout=2m
- name: Verify managed resources
run: |
flux tree kustomization flux-system
- 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