feat: add support & tests for Kubernetes 1.31 #1161
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Run tests | |
run: go test -v -tags integration -race -coverprofile=coverage.txt ./... | |
- name: Upload coverage reports to Codecov | |
if: > | |
!startsWith(github.head_ref, 'renovate/') && | |
!startsWith(github.head_ref, 'release-please--') | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
kubernetes: | |
name: kubernetes ${{ matrix.k3s }} | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.k3s }} | |
cancel-in-progress: true | |
strategy: | |
fail-fast: false # Continue tests matrix if a flaky run occur. | |
matrix: | |
include: | |
- k3s: v1.27 | |
k8s-test: v1.27.15 | |
- k3s: v1.28 | |
k8s-test: v1.28.13 | |
- k3s: v1.29 | |
k8s-test: v1.29.8 | |
- k3s: v1.30 | |
k8s-test: v1.30.4 | |
- k3s: v1.31 | |
k8s-test: v1.30.1 | |
env: | |
K3S_CHANNEL: ${{ matrix.k3s }} | |
K8S_TEST_VERSION: ${{ matrix.k8s-test }} | |
ENV: gha-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.k3s }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- uses: opentofu/setup-opentofu@v1 | |
with: | |
tofu_version: v1.8.2 # renovate: datasource=github-releases depName=opentofu/opentofu | |
tofu_wrapper: false | |
- uses: docker/setup-buildx-action@v3 | |
- uses: yokawasa/action-setup-kube-tools@v0.11.1 | |
with: | |
setup-tools: | | |
helm | |
kubectl | |
skaffold | |
helm: v3.15.4 # renovate: datasource=github-releases depName=helm/helm | |
kubectl: v1.31.0 # renovate: datasource=github-releases depName=kubernetes/kubernetes | |
skaffold: v2.13.2 # renovate: datasource=github-releases depName=GoogleContainerTools/skaffold | |
- name: Setup k3sup | |
run: curl -sLS https://get.k3sup.dev | sh | |
- name: Setup k8s test binaries | |
run: make -C test/e2e/kubernetes bin | |
- uses: hetznercloud/tps-action@main | |
- name: Setup environment | |
run: make -C dev up | |
- name: Run skaffold | |
run: | | |
source dev/files/env.sh | |
skaffold run | |
- name: Run parallel tests | |
run: | | |
source dev/files/env.sh | |
make -C test/e2e/kubernetes parallel | |
- name: Run serial tests | |
run: | | |
source dev/files/env.sh | |
make -C test/e2e/kubernetes serial | |
- name: Cleanup | |
if: always() | |
continue-on-error: true | |
run: make -C dev down | |
deploy-manifests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: yokawasa/action-setup-kube-tools@v0.11.1 | |
with: | |
setup-tools: | | |
helm | |
helm: v3.15.4 # renovate: datasource=github-releases depName=helm/helm | |
- uses: actions/checkout@v4 | |
- name: Generate manifests from helm chart | |
run: hack/update-deployment-yamls.sh | |
- name: Check for diff | |
run: git diff --exit-code -- deploy/ | |
- name: Show warning | |
if: failure() | |
run: echo "::error title=Deployment Manifests outdated::Please run hack/update-deployment-yamls.sh and commit the changes to deploy/" | |
helm-chart: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: yokawasa/action-setup-kube-tools@v0.11.1 | |
with: | |
setup-tools: | | |
helm | |
helm: v3.15.4 # renovate: datasource=github-releases depName=helm/helm | |
- uses: actions/checkout@v4 | |
# This step also verifies that the chart builds | |
- name: Verify Snapshots | |
run: | | |
hack/update-helm-snapshots.sh | |
git diff --exit-code -- deploy/ | |
- name: Show warning | |
if: failure() | |
run: echo "::error title=Helm Snapshots outdated::Please run hack/update-helm-snapshots.sh and commit the changes to chart/.snapshots/" | |
- name: Helm Lint | |
run: helm lint chart/ |