diff --git a/.github/workflows/smoke-build.yaml b/.github/workflows/smoke-build.yaml index f081dd4..29ec200 100644 --- a/.github/workflows/smoke-build.yaml +++ b/.github/workflows/smoke-build.yaml @@ -118,7 +118,7 @@ jobs: persist-credentials: false submodules: recursive - - name: Package, Publish, and Sign Helm Chart + - name: Package, Publish, and Sign Helm Chart (oci.stackable.tech) uses: ./publish-helm-chart with: chart-registry-uri: oci.stackable.tech @@ -129,6 +129,17 @@ jobs: chart-version: ${{ matrix.versions }} app-version: ${{ matrix.versions }} + - name: Package, Publish, and Sign Helm Chart (quay.io) + uses: ./publish-helm-chart + with: + chart-registry-uri: quay.io + chart-registry-username: stackable+robot_sdp_charts_github_action_build + chart-registry-password: ${{ secrets.QUAY_ROBOT_SDP_CHARTS_GITHUB_ACTION_BUILD_SECRET }} + chart-repository: stackable/smoke + chart-directory: smoke/helm-chart + chart-version: ${{ matrix.versions }} + app-version: ${{ matrix.versions }} + notify: name: Failure Notification needs: diff --git a/publish-helm-chart/action.yaml b/publish-helm-chart/action.yaml index 1831699..64cdf66 100644 --- a/publish-helm-chart/action.yaml +++ b/publish-helm-chart/action.yaml @@ -146,7 +146,16 @@ runs: # Capture the stdout output to extract the digest. It is sad that Helm doesn't provide # structured output, eg. in JSON. There is a 2-year old open issue about it: # https://github.com/helm/helm/issues/11735 + # Helm outputs the digest on STDERR, for whatever ridiculous reason. Like, who makes these + # decisions? + set +e HELM_OUTPUT=$(helm push "$CHART_ARTIFACT" "oci://${CHART_REGISTRY_URI}/${CHART_REPOSITORY}" 2>&1) + if [ $? -ne 0 ]; then + echo "Helm push command failed" + echo "$HELM_OUTPUT" + exit 1 + fi + set -e # Yuck CHART_DIGEST=$(echo "$HELM_OUTPUT" | awk '/^Digest: sha256:[0-9a-f]{64}$/ { print $2 }')