@@ -27,12 +27,12 @@ jobs:
2727 images : ${{ steps.images.outputs.images }}
2828 steps :
2929 - name : Checkout Code
30- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
30+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
3131 with :
3232 persist-credentials : false
3333
3434 - name : Log in to the GitHub Container registry
35- uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3
35+ uses : docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
3636 with :
3737 registry : ghcr.io
3838 username : ${{ github.actor }}
@@ -44,12 +44,13 @@ jobs:
4444 platforms : ' linux/arm64'
4545
4646 - name : Set up Docker Buildx
47- uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
47+ uses : docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
4848
4949 - name : Build and push
5050 uses : docker/bake-action@5be5f02ff8819ecd3092ea6b2e6261c31774f2b4 # v6
5151 id : build
5252 env :
53+ BUILDX_METADATA_PROVENANCE : disabled
5354 environment : testing
5455 registry : ghcr.io/${{ github.repository_owner }}
5556 revision : ${{ github.sha }}
9394 image : ${{fromJson(needs.testbuild.outputs.images)}}
9495 steps :
9596 - name : Checkout Code
96- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
97+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
9798 with :
9899 persist-credentials : false
99100
@@ -118,62 +119,37 @@ jobs:
118119 fail-fast : false
119120 matrix :
120121 image : ${{fromJson(needs.testbuild.outputs.images)}}
121- cnpg : ["main", "1.27"]
122- env :
123- # renovate: datasource=github-tags depName=kubernetes-sigs/kind versioning=semver
124- KIND_VERSION : " v0.30.0"
125- # renovate: datasource=docker depName=kindest/node
126- KIND_NODE_VERSION : " v1.34.0"
122+ cnpg : ["main", "1.27", "1.28"]
127123 steps :
128124 - name : Checkout Code
129- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
125+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
130126 with :
131127 persist-credentials : false
132128
133- - name : Create kind cluster
134- uses : helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
135- with :
136- version : ${{ env.KIND_VERSION }}
137- kubectl_version : ${{ env.KIND_NODE_VERSION }}
138- node_image : kindest/node:${{ env.KIND_NODE_VERSION }}
139- config : kind-config.yaml
129+ - name : Install Task
130+ uses : go-task/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1.0.0
140131
141- - name : Install CNPG (${{ matrix.cnpg }})
132+ - name : Install Dagger
142133 env :
143- CNPG_RELEASE : ${{ matrix.cnpg }}
134+ # renovate: datasource=github-tags depName=dagger/dagger versioning=semver
135+ DAGGER_VERSION : 0.19.11
144136 run : |
145- operator_manifest="https://raw.githubusercontent.com/cloudnative-pg/artifacts/release-$CNPG_RELEASE/manifests/operator-manifest.yaml"
146- if [[ "$CNPG_RELEASE" == "main" ]]; then
147- operator_manifest="https://raw.githubusercontent.com/cloudnative-pg/artifacts/main/manifests/operator-manifest.yaml"
148- fi
149- curl -sSfL "$operator_manifest" | kubectl apply --server-side -f -
150- kubectl wait --for=condition=Available --timeout=2m -n cnpg-system deployments cnpg-controller-manager
137+ curl -L https://dl.dagger.io/dagger/install.sh | BIN_DIR=$HOME/.local/bin sh
151138
152- - name : Generate Chainsaw testing values
153- uses : dagger/dagger-for-github@d913e70051faf3b907d4dd96ef1161083c88c644 # v8.2.0
154- env :
155- # renovate: datasource=github-tags depName=dagger/dagger versioning=semver
156- DAGGER_VERSION : 0.19.7
157- with :
158- version : ${{ env.DAGGER_VERSION }}
159- verb : call
160- module : ./dagger/maintenance/
161- args : generate-testing-values --target ${{ inputs.extension_name }} --extension-image ${{ matrix.image }} export --path=${{ inputs.extension_name }}/values.yaml
139+ - name : Set up environment
140+ run : |
141+ task e2e:setup-env
162142
163- - name : Install Chainsaw
164- uses : kyverno/action-install-chainsaw@06560d18422209e9c1e08e931d477d04bf2674c1 # v0.2.14
143+ - name : Generate Chainsaw testing values
144+ run : |
145+ task e2e:generate-values EXTENSION_IMAGE="${{ matrix.image }}" TARGET="${{ inputs.extension_name }}"
165146
166- - name : Run Kyverno/Chainsaw
167- env :
168- EXT_NAME : ${{ inputs.extension_name }}
147+ - name : Run e2e tests
169148 run : |
170- # Common smoke tests
171- chainsaw test ./test --values "$EXT_NAME/values.yaml"
149+ # Get Kind cluster internal kubeconfig
150+ task e2e:export-kubeconfig KUBECONFIG_PATH=./kubeconfig INTERNAL=true
172151
173- # Specific smoke tests
174- if [ -d "$EXT_NAME/test" ]; then
175- chainsaw test "$EXT_NAME/test" --values "$EXT_NAME/values.yaml"
176- fi
152+ task e2e:test TARGET="${{ inputs.extension_name }}" KUBECONFIG_PATH="./kubeconfig"
177153
178154 copytoproduction :
179155 name : Copy images to production
0 commit comments