-
Notifications
You must be signed in to change notification settings - Fork 1
52 lines (47 loc) · 1.64 KB
/
publish-release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: Publish release for SwiftPM package tag
on:
push:
tags: '*.*.*'
workflow_dispatch: # trigger manually (for debugging)
jobs:
publish-release:
runs-on: ubuntu-latest
steps:
- name: Parse ref
uses: bisgardo/github-action-parse-ref@v1
id: ref
with:
ref: '${{github.ref}}'
- name: 'Print outputs (for debugging)'
run: |
echo "github.ref='${{github.ref}}'"
echo "steps.ref.outputs.ref='${{steps.ref.outputs.ref}}'"
echo "steps.ref.outputs.ref-name='${{steps.ref.outputs.ref-name}}'"
- name: Checkout project
uses: actions/checkout@v4
with:
ref: '${{steps.ref.outputs.ref}}'
- name: Extract tag message
uses: bisgardo/github-action-echo@v1
id: tag-msg
with:
msg: '$(git for-each-ref "${{steps.ref.outputs.ref}}" --format="%(contents)")'
version: '${{steps.ref.outputs.ref-name}}'
- name: Fail if tag is not "annotated" or its message is empty
if: "steps.tag-msg.outputs.msg == ''"
run: exit 1
- name: Extract changelog entries
uses: concordium/github-action-changelog-extract@v1
id: changelog
with:
file: 'CHANGELOG.md'
version: '${{steps.tag-msg.outputs.version}}'
- name: Upload package as GitHub release
uses: softprops/action-gh-release@v2
with:
name: '${{steps.tag-msg.outputs.version}}'
# Release body is the message of the annotated tag followed by the changelog entries for the version.
body: |
${{steps.tag-msg.outputs.msg}}
# Changelog
${{steps.changelog.outputs.section}}