fix publishing script
This commit is contained in:
@@ -16,21 +16,53 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const releaseVersion = tag.slice(1);
|
const releaseVersion = tag.slice(1);
|
||||||
|
console.log('Release version', releaseVersion);
|
||||||
|
|
||||||
let releaseId;
|
let releaseId;
|
||||||
try {
|
try {
|
||||||
const latestRelease = await github.client.get(`releases/tags/v${releaseVersion}`);
|
const latestRelease = await github.client.get(`releases/tags/v${releaseVersion}`);
|
||||||
releaseId = latestRelease.data.id;
|
releaseId = latestRelease.data.id;
|
||||||
|
} catch (reason) {
|
||||||
|
if (reason.response.status !== 404) {
|
||||||
|
// 404 just means no release found. Not an error. Anything else though, re throw the error
|
||||||
|
throw reason;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!releaseId) {
|
||||||
|
console.log('No release exist, finding a tag');
|
||||||
|
let releaseCommitHash;
|
||||||
|
try {
|
||||||
|
const tags = await github.client.get(`tags`);
|
||||||
|
const releaseTag = tags.data.find(t => t.name === `v${releaseVersion}`);
|
||||||
|
releaseCommitHash = releaseTag.commit.sha;
|
||||||
|
console.log('Tag found', releaseTag.name, releaseCommitHash);
|
||||||
} catch (reason) {
|
} catch (reason) {
|
||||||
if (reason.response.status !== 404) {
|
if (reason.response.status !== 404) {
|
||||||
// 404 just means no release found. Not an error. Anything else though, re throw the error
|
// 404 just means no release found. Not an error. Anything else though, re throw the error
|
||||||
throw reason;
|
throw reason;
|
||||||
} else {
|
} else {
|
||||||
console.error(`No release found`);
|
console.error('No release tag found');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const newReleaseResponse = await github.client.post('releases', {
|
||||||
|
tag_name: `v${releaseVersion}`,
|
||||||
|
target_commitish: releaseCommitHash,
|
||||||
|
name: `${releaseVersion}`,
|
||||||
|
body: `Grafana-Zabbix ${releaseVersion}`,
|
||||||
|
draft: false,
|
||||||
|
prerelease: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
releaseId = newReleaseResponse.data.id;
|
||||||
|
} catch (reason) {
|
||||||
|
throw reason;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const updateReleaseResponse = await github.client.put(`releases/${releaseId}`, {
|
const updateReleaseResponse = await github.client.put(`releases/${releaseId}`, {
|
||||||
tag_name: `v${releaseVersion}`,
|
tag_name: `v${releaseVersion}`,
|
||||||
|
|||||||
Reference in New Issue
Block a user