From 8d426539fa297e7bc901e5c55292accba37b67bd Mon Sep 17 00:00:00 2001 From: Leo Antoli Date: Wed, 14 Oct 2026 13:04:05 +0200 Subject: [PATCH 1/2] ci: Notify the Go SDK validation failure on Slack Post a Slack message to the APIx DevOps Integrations help usergroup when the go-sdk-validation step fails during an OpenAPI spec release. The step is keyed to steps.go-sdk-validation.outcome, so a failure in an earlier setup step does not notify, and it runs once per incident after the automatic release retries are exhausted. --- .../scripts/notify_sdk_validation_failure.sh | 50 +++++++++++++++++++ .github/workflows/release-spec-runner.yml | 4 ++ .github/workflows/release-spec.yml | 3 ++ .../workflows/required-spec-validations.yml | 25 ++++++++++ 4 files changed, 82 insertions(+) create mode 100755 .github/scripts/notify_sdk_validation_failure.sh diff --git a/.github/scripts/notify_sdk_validation_failure.sh b/.github/scripts/notify_sdk_validation_failure.sh new file mode 100755 index 0000000000..75c9925434 --- /dev/null +++ b/.github/scripts/notify_sdk_validation_failure.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Notifies the APIx DevOps Integrations help usergroup when the Go SDK +# validation step fails during an OpenAPI spec release. +# +# The caller keys this notification to the "go-sdk-validation" step outcome, so +# a failure in an earlier setup step (Node, npm, artifact download, Spectral, +# Go) does not notify. The caller also suppresses duplicates across release +# retries. + +set -eou pipefail + +: "${SLACK_BEARER_TOKEN:?SLACK_BEARER_TOKEN is required}" +: "${SLACK_CHANNEL_ID:?SLACK_CHANNEL_ID is required}" +: "${SLACK_HELP_GROUP:?SLACK_HELP_GROUP is required}" +: "${TARGET_ENV:?TARGET_ENV is required}" +: "${RUN_URL:?RUN_URL is required}" + +SLACK_MESSAGE=$( + cat <' + TARGET_ENV: ${{ inputs.env }} + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + run: .github/scripts/notify_sdk_validation_failure.sh From e70295071020e5450806d8930c74985071f4d92d Mon Sep 17 00:00:00 2001 From: Leo Antoli Date: Wed, 14 Oct 2026 13:04:10 +0200 Subject: [PATCH 2/2] ci: Fix the release failure handler duplicate-issue check Correct the duplicate-issue query (an extra brace after the environment made it (dev}) instead of (dev)) and replace the top-level return statements with exit. A run step cannot return, so the step exited 2 and failed the job whenever an open failed-release issue already existed. --- .github/workflows/failure-handler.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/failure-handler.yml b/.github/workflows/failure-handler.yml index a6d94bd7a8..f2981cd515 100644 --- a/.github/workflows/failure-handler.yml +++ b/.github/workflows/failure-handler.yml @@ -41,19 +41,19 @@ jobs: RELEASE_NAME: ${{ inputs.release_name }} REPO: ${{ github.repository }} run: | - query="(${TARGET_ENV}}) The ${RELEASE_NAME} Release has failed." + query="(${TARGET_ENV}) The ${RELEASE_NAME} Release has failed." number_issue=$(gh search issues "${query}" --repo "${REPO}" --state open --label failed-release --json title | jq length) if [ -z "${number_issue}" ]; then echo "There was an issue with the GH APIs. Stopping execution." - return 1 + exit 1 fi echo "number_issue=${number_issue}" if [ "${number_issue}" -gt 0 ]; then echo "An issue already exists. Stopping execution." echo "found-issue=true" >> "${GITHUB_OUTPUT}" - return 0 + exit 0 fi echo "found-issue=false" >> "${GITHUB_OUTPUT}"