summaryrefslogtreecommitdiff
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml40
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..9748355
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,40 @@
+# https://docs.github.com/en/actions
+
+name: "Release"
+
+on: # yamllint disable-line rule:truthy
+ push:
+ tags:
+ - "**"
+
+jobs:
+ release:
+ name: "Release"
+
+ runs-on: "ubuntu-latest"
+
+ steps:
+ - name: "Determine tag"
+ run: "echo \"RELEASE_TAG=${GITHUB_REF#refs/tags/}\" >> $GITHUB_ENV"
+
+ - name: "Create release"
+ uses: "actions/github-script@v6"
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
+ script: |
+ try {
+ const response = await github.rest.repos.createRelease({
+ draft: false,
+ generate_release_notes: true,
+ name: process.env.RELEASE_TAG,
+ owner: context.repo.owner,
+ prerelease: false,
+ repo: context.repo.repo,
+ tag_name: process.env.RELEASE_TAG,
+ });
+
+ core.exportVariable('RELEASE_ID', response.data.id);
+ core.exportVariable('RELEASE_UPLOAD_URL', response.data.upload_url);
+ } catch (error) {
+ core.setFailed(error.message);
+ }