-
Notifications
You must be signed in to change notification settings - Fork 51
64 lines (53 loc) · 1.97 KB
/
prepare-release.yml
File metadata and controls
64 lines (53 loc) · 1.97 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
name: Create Release PR
on:
push:
branches: [dev]
permissions: {}
jobs:
prepare-release:
if: "!contains(github.event.head_commit.message, 'chore: prepare release')"
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Generate bot token
id: generate-token
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: true
token: ${{ steps.generate-token.outputs.token }}
- uses: fregante/setup-git-user@024bc0b8e177d7e77203b48dab6fb45666854b35 # v2.0.2
- uses: knope-dev/action@19617851f9f13ab2f27a05989c55efb18aca3675 # v2.1.2
with:
version: 0.22.3
- name: Prepare Release
run: knope prepare-release --verbose
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
- name: Enrich changelog and update release PR
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
run: node .github/scripts/enrich-changelog.mjs --update-release-pr
- name: Amend release commit with enriched changelog
shell: bash
run: |
if [[ "$(git rev-parse --abbrev-ref HEAD)" != "release" ]]; then
echo "Not on release branch — skipping amend."
exit 1
fi
if git diff --cached --name-only | grep -q "CHANGELOG.md"; then
git add CHANGELOG.md
git commit --amend --no-edit
elif git diff --name-only HEAD | grep -q "CHANGELOG.md"; then
git add CHANGELOG.md
git commit --amend --no-edit
fi
- name: Push release branch
shell: bash
run: git push --force --set-upstream origin release