|
|
|
|
@ -128,49 +128,3 @@ jobs:
|
|
|
|
|
echo "updated_sha=$updated_sha" >> "$GITHUB_OUTPUT"
|
|
|
|
|
echo "updated_short_sha=${updated_sha:0:12}" >> "$GITHUB_OUTPUT"
|
|
|
|
|
|
|
|
|
|
# Step 7: Find and Publish Draft Release
|
|
|
|
|
- name: Find and Publish Draft Release
|
|
|
|
|
uses: actions/github-script@v9.0.0
|
|
|
|
|
with:
|
|
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
|
script: |
|
|
|
|
|
const { owner, repo } = context.repo;
|
|
|
|
|
const tagName = process.env.TAG_VERSION;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
let release;
|
|
|
|
|
try {
|
|
|
|
|
const response = await github.rest.repos.getReleaseByTag({
|
|
|
|
|
owner,
|
|
|
|
|
repo,
|
|
|
|
|
tag: tagName
|
|
|
|
|
});
|
|
|
|
|
release = response.data;
|
|
|
|
|
} catch (tagError) {
|
|
|
|
|
core.info(`Release not found by tag, searching all releases...`);
|
|
|
|
|
const releases = await github.rest.repos.listReleases({
|
|
|
|
|
owner,
|
|
|
|
|
repo,
|
|
|
|
|
per_page: 100
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
release = releases.data.find(r => r.draft && r.tag_name === tagName);
|
|
|
|
|
if (!release) {
|
|
|
|
|
throw new Error(`No release found with tag ${tagName}`);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await github.rest.repos.updateRelease({
|
|
|
|
|
owner,
|
|
|
|
|
repo,
|
|
|
|
|
release_id: release.id,
|
|
|
|
|
draft: false,
|
|
|
|
|
prerelease: release.prerelease
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const status = release.draft ? "was draft" : "was already published";
|
|
|
|
|
core.info(`Release ${tagName} ensured to be published (${status}).`);
|
|
|
|
|
|
|
|
|
|
} catch (error) {
|
|
|
|
|
core.warning(`Could not find or update release for tag ${tagName}: ${error.message}`);
|
|
|
|
|
}
|
|
|
|
|
|