)]}'
{
  "commit": "d6226840193629b059f9cdad6c29e415de0141e2",
  "tree": "a151794324d4475537dd5bcb22c998fbb9ff6861",
  "parents": [
    "f705d058c128c052820e588d6971df251d7afc78"
  ],
  "author": {
    "name": "morningman",
    "email": "moringman@apache.org",
    "time": "Fri Aug 14 15:37:08 2026 +0800"
  },
  "committer": {
    "name": "morningman",
    "email": "moringman@apache.org",
    "time": "Fri Aug 14 15:37:08 2026 +0800"
  },
  "message": "feat: publish a GitHub release in release step 4 and make it idempotent\n\n04-release-complete.sh now turns the released Git tag into a GitHub release\nwith `gh release create --verify-tag`, so it publishes the existing tag and\nnever creates one. The generated notes link the release-note issue, the\noperator image (apache/doris:operator-\u003cversion\u003e, with its docker pull command\nand Docker Hub page), and the formal source artifacts.\n\nThe full run is now idempotent, so an interrupted release can be repeated:\nrelease files already present in release SVN are detected by name and\npackaging, signing, and the SVN commit are skipped; a release directory\nholding only some of the three files is reported as incomplete and stops the\nrun for manual repair; a GitHub release whose notes already match is left\nuntouched, and differing notes are replaced only after a confirmation. The\nnew --github-only flag publishes or refreshes only the GitHub release.\n\nVote and announcement drafts now start with a Subject line, so the mail title\nno longer has to be retyped.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82973f18373db839fe39ff5c4c587ac397200d51",
      "old_mode": 33261,
      "old_path": "tools/release-tools/03-vote-mail.sh",
      "new_id": "4bbf35be20144eb6a437ba99800ed2a4cda49f88",
      "new_mode": 33261,
      "new_path": "tools/release-tools/03-vote-mail.sh"
    },
    {
      "type": "modify",
      "old_id": "92c8c8cf3693151a12d29814e826a6ce4c7e1dd3",
      "old_mode": 33261,
      "old_path": "tools/release-tools/04-release-complete.sh",
      "new_id": "82d5b0294b37b971464086cdf09ac2d19a21d43b",
      "new_mode": 33261,
      "new_path": "tools/release-tools/04-release-complete.sh"
    },
    {
      "type": "modify",
      "old_id": "9b64a668d90c40a2b238c395fed85153837f5838",
      "old_mode": 33188,
      "old_path": "tools/release-tools/README.md",
      "new_id": "9d6982ef76b21939376d3e20f40956d1c6c14245",
      "new_mode": 33188,
      "new_path": "tools/release-tools/README.md"
    },
    {
      "type": "modify",
      "old_id": "6d7ffab220f3c15e89b38d2936f742bbbcdea790",
      "old_mode": 33188,
      "old_path": "tools/release-tools/lib/release-common.sh",
      "new_id": "eabb0affb5443f21e6ce297b0162e81db3188810",
      "new_mode": 33188,
      "new_path": "tools/release-tools/lib/release-common.sh"
    },
    {
      "type": "modify",
      "old_id": "f5c4b538c9af55aefeb489bd12634385bd838b46",
      "old_mode": 33188,
      "old_path": "tools/release-tools/release.env",
      "new_id": "e466a498bcefaa8099ac41cd60ce63047e044006",
      "new_mode": 33188,
      "new_path": "tools/release-tools/release.env"
    },
    {
      "type": "modify",
      "old_id": "cf00b17f8a2a0473f541e82279da9da8e39c6995",
      "old_mode": 33261,
      "old_path": "tools/release-tools/tests/test-config.sh",
      "new_id": "a2aa5b2ba66bbef08b5e992cc7605ada963af80a",
      "new_mode": 33261,
      "new_path": "tools/release-tools/tests/test-config.sh"
    },
    {
      "type": "modify",
      "old_id": "366828eca1c2903f767490ca395b20e8af4e23f1",
      "old_mode": 33261,
      "old_path": "tools/release-tools/tests/test-mail.sh",
      "new_id": "c58799a07e0276443c783e2eb1a45448683fbeb4",
      "new_mode": 33261,
      "new_path": "tools/release-tools/tests/test-mail.sh"
    },
    {
      "type": "modify",
      "old_id": "34de8c15ad7c6e753cb782f6cb4d58e81d9f9c02",
      "old_mode": 33261,
      "old_path": "tools/release-tools/tests/test-syntax.sh",
      "new_id": "d1ef9ac69c4237cd381cf51b6757839344e787f3",
      "new_mode": 33261,
      "new_path": "tools/release-tools/tests/test-syntax.sh"
    },
    {
      "type": "modify",
      "old_id": "34318f53d8a40114054b7d523c80cd58cdbe6c19",
      "old_mode": 33261,
      "old_path": "tools/release-tools/tests/test-workflows.sh",
      "new_id": "c95086046993e9c86b9913cb5038c029f31b9507",
      "new_mode": 33261,
      "new_path": "tools/release-tools/tests/test-workflows.sh"
    }
  ]
}
