Skip to content

fix(release): harden Gitee Release synchronization - #705

Draft
stephamie7 wants to merge 5 commits into
devfrom
fix-gitee-release-tag-gate
Draft

fix(release): harden Gitee Release synchronization#705
stephamie7 wants to merge 5 commits into
devfrom
fix-gitee-release-tag-gate

Conversation

@stephamie7

Copy link
Copy Markdown
Contributor

Summary

  • handle published GitHub Releases where draft is the valid boolean value false
  • verify Gitee Release state with a post-write lookup instead of relying on the write response shape
  • report Gitee API transport failures explicitly
  • treat Gitee's HTTP 200 with a JSON null body as a missing Release and create it

Root cause

The release sync stopped before Gitee processing because jq -e treats false as an unsuccessful result. After that was corrected, the live Gitee API exposed two additional compatibility behaviors: a missing Release lookup returns HTTP 200 with null, and write responses should not be assumed to contain the final Release object.

Impact

Published GitHub Releases can now be retried safely. The workflow still requires an exact GitHub/Gitee tag SHA match before creating or updating a Gitee Release, and the operation remains idempotent.

Validation

  • YAML parsing
  • bash -n for all 5 workflow run blocks
  • actionlint .github/workflows/sync-gitee.yml
  • git diff --check
  • live manual sync of v2026.8.12: Gitee tag SHA matched, Release POST returned HTTP 201, verification GET returned HTTP 200

Evidence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant