diff --git a/changelog/Dockerfile b/changelog/Dockerfile index 9cb0910..3c878c2 100644 --- a/changelog/Dockerfile +++ b/changelog/Dockerfile @@ -1,4 +1,5 @@ FROM tufin/oasdiff:v1.15.0 +RUN apk add --no-cache jq ENV PLATFORM github-action COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/changelog/entrypoint.sh b/changelog/entrypoint.sh index 91786fe..ea687dc 100755 --- a/changelog/entrypoint.sh +++ b/changelog/entrypoint.sh @@ -99,6 +99,17 @@ fi if [ -n "$output" ] && ! echo "$output" | head -n 1 | grep -q "^No "; then write_output "$output" + # Emit upgrade notice pointing to the free review page + urlencode() { printf '%s' "$1" | jq -sRr @uri; } + base_path=$(echo "$base" | sed 's/.*://') + rev_path=$(echo "$revision" | sed 's/.*://') + owner="${GITHUB_REPOSITORY%%/*}" + repo="${GITHUB_REPOSITORY#*/}" + head_sha=$(jq -r '.pull_request.head.sha // empty' "$GITHUB_EVENT_PATH" 2>/dev/null || echo "") + if [ -z "$head_sha" ]; then head_sha="$GITHUB_SHA"; fi + free_review_url="https://www.oasdiff.com/review?owner=${owner}&repo=${repo}&base_sha=$(urlencode "$GITHUB_BASE_REF")&rev_sha=${head_sha}&base_file=$(urlencode "$base_path")&rev_file=$(urlencode "$rev_path")" + echo "::notice::📋 Review & approve these API changes → ${free_review_url}" + echo "### 📋 [Review & approve these API changes](${free_review_url})" >> "$GITHUB_STEP_SUMMARY" else write_output "No changelog changes" fi