mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
fix(release): rebind untagged draft releases to expected app-v tag (#406)
After create/update, fetch release by id and force tag_name/target_commitish when GitHub returns an unexpected tag (including untagged placeholders). This self-heals release metadata before downstream upload steps consume release_id.
This commit is contained in:
@@ -207,6 +207,30 @@ jobs:
|
|||||||
core.info(`Created release id=${releaseId} tag=${tag} target_commitish=${targetCommitish}`);
|
core.info(`Created release id=${releaseId} tag=${tag} target_commitish=${targetCommitish}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Self-heal: GitHub can occasionally produce a draft release with an untagged
|
||||||
|
// placeholder even when tag_name was requested. Force the expected tag binding.
|
||||||
|
const { data: createdOrUpdated } = await github.rest.repos.getRelease({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
release_id: releaseId,
|
||||||
|
});
|
||||||
|
if ((createdOrUpdated.tag_name || "") !== tag) {
|
||||||
|
core.warning(
|
||||||
|
`Release id=${releaseId} has tag '${createdOrUpdated.tag_name ?? ""}', expected '${tag}'. Re-binding release tag.`
|
||||||
|
);
|
||||||
|
await github.rest.repos.updateRelease({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
release_id: releaseId,
|
||||||
|
tag_name: tag,
|
||||||
|
target_commitish: targetCommitish,
|
||||||
|
name,
|
||||||
|
body,
|
||||||
|
draft,
|
||||||
|
prerelease,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
core.setOutput("release_id", String(releaseId));
|
core.setOutput("release_id", String(releaseId));
|
||||||
- name: validate release id output
|
- name: validate release id output
|
||||||
env:
|
env:
|
||||||
|
|||||||
Reference in New Issue
Block a user