Skip to content

Commit 997209f

Browse files
committed
chore: Improve release-note publishing resiliency in release-codegen-3.yml by making the draft-release publish step non-blocking while keeping robust release lookup logic.
1 parent e928019 commit 997209f

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/release-codegen-3.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ jobs:
294294
- name: Publish prepared draft release notes
295295
# Publishes the draft release created in prepare-release workflow.
296296
if: inputs.dry_run != 'true'
297+
continue-on-error: true
297298
uses: actions/github-script@v8
298299
with:
299300
script: |
@@ -306,8 +307,26 @@ jobs:
306307
const { data } = await github.rest.repos.getReleaseByTag({ owner, repo, tag });
307308
release = data;
308309
} catch (error) {
309-
core.setFailed(`Expected prepared draft release for tag ${tag}, but it was not found.`);
310-
return;
310+
if (error.status !== 404) {
311+
core.warning(`Failed to fetch release by tag ${tag}: ${error.message}`);
312+
}
313+
314+
// Fallback: search drafts directly in case tag lookup is temporarily inconsistent.
315+
try {
316+
const { data: releases } = await github.rest.repos.listReleases({
317+
owner,
318+
repo,
319+
per_page: 100
320+
});
321+
release = releases.find((candidate) => candidate.tag_name === tag);
322+
} catch (listError) {
323+
core.warning(`Failed to list releases while looking for ${tag}: ${listError.message}`);
324+
}
325+
326+
if (!release) {
327+
core.warning(`Prepared draft release for tag ${tag} was not found. Continue workflow; publish it manually.`);
328+
return;
329+
}
311330
}
312331
313332
if (!release.draft) {

0 commit comments

Comments
 (0)