diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c59eed3..4c19728 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -323,7 +323,7 @@ jobs: if [ "${HOST}" = "github.com" ]; then RELEASE_PAYLOAD="{\"tag_name\":\"${TAG}\",\"target_commitish\":\"${TARGET_COMMITISH}\",\"name\":\"${RELEASE_TITLE}\",\"body\":${BODY_JSON},\"draft\":false,\"prerelease\":false}" else - RELEASE_PAYLOAD="{\"tag_name\":\"${TAG}\",\"target\":\"${TARGET_COMMITISH}\",\"title\":\"${RELEASE_TITLE}\",\"note\":${BODY_JSON},\"draft\":false,\"prerelease\":false}" + RELEASE_PAYLOAD="{\"tag_name\":\"${TAG}\",\"target_commitish\":\"${TARGET_COMMITISH}\",\"name\":\"${RELEASE_TITLE}\",\"body\":${BODY_JSON},\"draft\":false,\"prerelease\":false}" fi echo ">>> Создание релиза для тега ${TAG}..." @@ -363,14 +363,13 @@ jobs: exit 1 fi - # Always PATCH the release to guarantee title + note are set + # Always PATCH the release to guarantee name + body are set # (handles race condition when parallel run creates empty release) - echo ">>> Обновление релиза (ID: ${RELEASE_ID}) — title + note..." + echo ">>> Обновление релиза (ID: ${RELEASE_ID}) — name + body..." + PATCH_PAYLOAD="{\"name\":\"${RELEASE_TITLE}\",\"body\":${BODY_JSON}}" if [ "${HOST}" = "github.com" ]; then - PATCH_PAYLOAD="{\"name\":\"${RELEASE_TITLE}\",\"body\":${BODY_JSON}}" PATCH_URL="https://api.github.com/repos/${REPO}/releases/${RELEASE_ID}" else - PATCH_PAYLOAD="{\"title\":\"${RELEASE_TITLE}\",\"note\":${BODY_JSON}}" PATCH_URL="${SERVER}/api/v1/repos/${REPO}/releases/${RELEASE_ID}" fi PATCH_RESP=$(curl -sS -X PATCH \ @@ -379,7 +378,8 @@ jobs: "${EXTRA_HEADERS[@]}" \ "${PATCH_URL}" \ -d "${PATCH_PAYLOAD}") - echo ">>> Релиз обновлён" + PATCH_NAME=$(printf '%s' "${PATCH_RESP}" | python3 -c "import sys,json; print(json.load(sys.stdin).get('name',''))" 2>/dev/null || echo '') + echo ">>> Релиз обновлён (name: ${PATCH_NAME})" if [ "${HOST}" = "github.com" ]; then UPLOAD_BASE=$(printf '%s' "${RELEASE_JSON}" | python3 -c "import sys,json; print(json.load(sys.stdin).get('upload_url','').split('{')[0])")