Skip to content

Commit cce14f3

Browse files
authored
Merge pull request #10 from kryksyh/add-release-workflow
Add release workflow
2 parents 24de666 + 743e8e8 commit cce14f3

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
run_id:
7+
description: 'Workflow run ID to take artifacts from'
8+
required: true
9+
type: string
10+
tag:
11+
description: 'Tag name (e.g. v1.0.5)'
12+
required: true
13+
type: string
14+
prerelease:
15+
description: 'Mark as pre-release'
16+
required: false
17+
type: boolean
18+
default: false
19+
20+
jobs:
21+
release:
22+
name: Create Release
23+
runs-on: ubuntu-latest
24+
permissions:
25+
contents: write
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- name: Download artifacts
30+
env:
31+
GH_TOKEN: ${{ github.token }}
32+
run: |
33+
mkdir -p release-assets
34+
gh run download ${{ inputs.run_id }} --dir release-artifacts
35+
36+
for dir in release-artifacts/*/; do
37+
name=$(basename "$dir")
38+
(cd "$dir" && zip -r "../../release-assets/${name}.zip" .)
39+
done
40+
41+
- name: Create tag
42+
run: |
43+
git tag ${{ inputs.tag }}
44+
git push origin ${{ inputs.tag }}
45+
46+
- name: Create release
47+
env:
48+
GH_TOKEN: ${{ github.token }}
49+
run: |
50+
gh release create ${{ inputs.tag }} \
51+
--title "${{ inputs.tag }}" \
52+
${{ inputs.prerelease && '--prerelease' || '' }} \
53+
release-assets/*

0 commit comments

Comments
 (0)