Implement the "publish-action" action

This commit is contained in:
MaksimZhukov
2021-05-21 19:59:44 +03:00
parent d90d23df2a
commit d8eb8e53b7
22 changed files with 12475 additions and 0 deletions

26
src/main.ts Normal file
View File

@@ -0,0 +1,26 @@
import * as core from '@actions/core';
import * as github from '@actions/github';
import { updateTag, validateIfReleaseIsPublished } from './api-utils';
import { validateSemverVersionFromTag, getMajorTagFromFullTag } from './version-utils';
async function run(): Promise<void> {
try {
const token = core.getInput('token');
const octokitClient = github.getOctokit(token);
const sourceTagName = core.getInput('source-tag');
validateSemverVersionFromTag(sourceTagName);
await validateIfReleaseIsPublished(sourceTagName, octokitClient);
const majorTag = getMajorTagFromFullTag(sourceTagName);
await updateTag(sourceTagName, majorTag, octokitClient);
core.setOutput('major-tag', majorTag);
core.info(`The '${majorTag}' major tag now points to the '${sourceTagName}' tag`);
} catch (error) {
core.setFailed(error.message);
}
};
run();