Skip to content

Commit 5ce5ebe

Browse files
committed
ci(release): add prerelease workflow
1 parent 31b1579 commit 5ce5ebe

File tree

2 files changed

+111
-55
lines changed

2 files changed

+111
-55
lines changed

.github/workflows/release-pre.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
name: Pre-release
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
prerelease:
8+
name: Pre-release
9+
runs-on: ubuntu-latest
10+
11+
permissions:
12+
contents: write
13+
packages: write
14+
15+
steps:
16+
- name: Checkout sources
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Get Next Version
22+
id: semver
23+
uses: ietf-tools/semver-action@v1
24+
if: ${{ !env.ACT }}
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
branch: master
28+
29+
- name: Short SHA
30+
id: short_sha
31+
run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
32+
33+
- name: Build artifacts
34+
run: make version=${{ steps.semver.outputs.next }}-${{ steps.short_sha.outputs.short_sha }} artifact
35+
36+
- name: Create Draft Release
37+
uses: ncipollo/release-action@v1
38+
if: ${{ !env.ACT }}
39+
with:
40+
allowUpdates: true
41+
artifacts: "rf-liquidsoap*.tar.gz"
42+
draft: true
43+
generateReleaseNotes: true
44+
makeLatest: false
45+
name: ${{ steps.semver.outputs.next }}-pre
46+
omitBodyDuringUpdate: true
47+
prerelease: true
48+
removeArtifacts: true
49+
replacesArtifacts: true
50+
tag: ${{ steps.semver.outputs.next }}-pre
51+
token: ${{ secrets.GITHUB_TOKEN }}
52+
updateOnlyUnreleased: true

.github/workflows/release.yml

Lines changed: 59 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,74 @@
11
---
22
name: Release
3-
on: # yamllint disable-line rule:truthy
3+
on:
44
workflow_dispatch:
5+
branches:
6+
- master
57

68
jobs:
7-
build-and-release:
8-
name: Build & Release
9+
release:
10+
name: Release
911
runs-on: ubuntu-latest
12+
1013
permissions:
11-
contents: read
14+
contents: write
1215
packages: write
1316
steps:
14-
- name: Checkout sources
15-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
16-
with:
17-
fetch-depth: 0
17+
- name: Checkout sources
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
1821

19-
- name: Get Next Version
20-
id: semver
21-
uses: ietf-tools/semver-action@v1
22-
if: ${{ !env.ACT }}
23-
with:
24-
token: ${{ github.token }}
25-
branch: master
22+
- name: Get Next Version
23+
id: semver
24+
uses: ietf-tools/semver-action@v1
25+
if: ${{ !env.ACT }}
26+
with:
27+
token: ${{ github.token }}
28+
branch: master
2629

27-
- name: Build artifacts
28-
run: make version=${{ steps.semver.outputs.next }} artifact
30+
- name: Build artifacts
31+
run: make version=${{ steps.semver.outputs.next }} artifact
2932

30-
- name: Create Draft Release
31-
uses: ncipollo/release-action@v1.12.0
32-
if: ${{ !env.ACT }}
33-
with:
34-
artifacts: "rf-liquidsoap*.tar.gz"
35-
prerelease: true
36-
draft: false
37-
commit: ${{ github.sha }}
38-
tag: ${{ steps.semver.outputs.next }}
39-
name: ${{ steps.semver.outputs.next }}
40-
body: '*pending*'
41-
token: ${{ github.token }}
33+
- name: Create Draft Release
34+
uses: ncipollo/release-action@v1
35+
if: ${{ !env.ACT }}
36+
with:
37+
artifacts: "rf-liquidsoap*.tar.gz"
38+
prerelease: true
39+
draft: false
40+
commit: ${{ github.sha }}
41+
tag: ${{ steps.semver.outputs.next }}
42+
name: ${{ steps.semver.outputs.next }}
43+
body: '*pending*'
44+
token: ${{ github.token }}
4245

43-
- name: Update CHANGELOG
44-
id: changelog
45-
if: ${{ !env.ACT }}
46-
uses: requarks/changelog-action@v1
47-
with:
48-
token: ${{ github.token }}
49-
tag: ${{ github.ref_name }}
46+
- name: Update CHANGELOG
47+
id: changelog
48+
if: ${{ !env.ACT }}
49+
uses: requarks/changelog-action@v1
50+
with:
51+
token: ${{ github.token }}
52+
tag: ${{ github.ref_name }}
5053

51-
- name: Create Release
52-
if: ${{ !env.ACT }}
53-
uses: ncipollo/release-action@v1
54-
with:
55-
artifacts: "rf-liquidsoap*.tar.gz"
56-
allowUpdates: true
57-
draft: false
58-
makeLatest: true
59-
tag: ${{ steps.semver.outputs.next }}
60-
name: ${{ steps.semver.outputs.next }}
61-
body: ${{ steps.changelog.outputs.changes }}
62-
token: ${{ github.token }}
54+
- name: Create Release
55+
if: ${{ !env.ACT }}
56+
uses: ncipollo/release-action@v1
57+
with:
58+
artifacts: "rf-liquidsoap*.tar.gz"
59+
allowUpdates: true
60+
draft: false
61+
makeLatest: true
62+
generateReleaseNotes: true
63+
tag: ${{ steps.semver.outputs.next }}
64+
name: ${{ steps.semver.outputs.next }}
65+
body: ${{ steps.changelog.outputs.changes }}
66+
token: ${{ github.token }}
6367

64-
- name: Commit CHANGELOG.md
65-
if: ${{ !env.ACT }}
66-
uses: stefanzweifel/git-auto-commit-action@v4
67-
with:
68-
branch: main
69-
commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
70-
file_pattern: CHANGELOG.md
68+
- name: Commit CHANGELOG.md
69+
if: ${{ !env.ACT }}
70+
uses: stefanzweifel/git-auto-commit-action@v4
71+
with:
72+
branch: main
73+
commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
74+
file_pattern: CHANGELOG.md

0 commit comments

Comments
 (0)