From f1bd6b0655e6abd947cec108f3fa2556a56fe605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Thu, 9 Jul 2026 16:01:49 +0200 Subject: [PATCH] ci: automate smoke-test cnpg matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niccolò Fei --- .github/workflows/bake_targets.yml | 22 +++++++++++++++++++++- Taskfile.yml | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bake_targets.yml b/.github/workflows/bake_targets.yml index 9fdf5bd..94f7e23 100644 --- a/.github/workflows/bake_targets.yml +++ b/.github/workflows/bake_targets.yml @@ -107,6 +107,25 @@ jobs: snyk_token: ${{ secrets.SNYK_TOKEN }} dockerfile: "${{ inputs.extension_name }}/Dockerfile" + generate-smoke-test-matrix: + name: Generate matrix for smoke tests + runs-on: ubuntu-24.04 + permissions: {} + outputs: + versions: ${{ steps.versions.outputs.versions }} + steps: + # main plus the latest and previous supported minor release branches. + - name: Compute CNPG release matrix + id: versions + env: + # renovate: datasource=github-tags depName=cloudnative-pg/cloudnative-pg versioning=semver-coerced extractVersion=^v(?\d+\.\d+)\.\d+$ + LATEST_RELEASE: "1.29" + run: | + PREVIOUS_RELEASE=$(awk -F. '{print $1"."$2-1}' <<< "$LATEST_RELEASE") + versions=$(jq -cn --arg latest "$LATEST_RELEASE" --arg previous "$PREVIOUS_RELEASE" \ + '["main", $previous, $latest]') + echo "versions=$versions" >> "$GITHUB_OUTPUT" + smoke-test: name: Smoke test runs-on: ubuntu-24.04 @@ -115,11 +134,12 @@ jobs: packages: read needs: - testbuild + - generate-smoke-test-matrix strategy: fail-fast: false matrix: image: ${{fromJson(needs.testbuild.outputs.images)}} - cnpg: ["main", "1.28", "1.29"] + cnpg: ${{fromJson(needs.generate-smoke-test-matrix.outputs.versions)}} steps: - name: Checkout Code uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 diff --git a/Taskfile.yml b/Taskfile.yml index 176ab93..45bc85f 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -21,7 +21,7 @@ vars: KIND_NODE_VERSION: v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5 K8S_VERSION: '{{ regexReplaceAll "^v([0-9.]+).*" .KIND_NODE_VERSION "$1" }}' KIND_CLUSTER_NAME: pg-extensions-{{ .K8S_VERSION }} - # renovate: datasource=github-tags depName=cloudnative-pg/cloudnative-pg versioning=semver extractVersion=^v(?\d+\.\d+)\.\d+$ + # renovate: datasource=github-tags depName=cloudnative-pg/cloudnative-pg versioning=semver-coerced extractVersion=^v(?\d+\.\d+)\.\d+$ CNPG_RELEASE_DEFAULT: 1.29 tasks: