This repository has been archived by the owner on Oct 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
69 lines (60 loc) · 2.44 KB
/
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: Release
on:
push:
branches:
- main
jobs:
changelog:
if: github.repository == 'EddieHubCommunity/CreatorsRegistry'
runs-on: ubuntu-latest
steps:
# check out the repository with all releases
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Create a temporary, uniquely named branch to push release info to
- name: create temporary branch
run: git branch "release-from-${{ github.sha }}" "${{ github.sha }}"
# switch to the temporary branch
- name: switch to new branch
run: git checkout release-from-${{ github.sha }}
# update app config with version
- name: get-npm-version
id: package-version
run: |
LF_VERSION=$(cat package.json | jq -r '.version')
echo "current-version=$LF_VERSION" >> "$GITHUB_OUTPUT"
- name: update app config
run: sed -i 's/0.0.0/${{ steps.package-version.outputs.current-version}}/g' src/config/app.json
# create release info and push it upstream
- name: conventional Changelog Action
id: changelog
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version-file: "./package.json,./package-lock.json,./src/config/app.json"
git-branch: "release-from-${{ github.sha }}"
skip-git-pull: true
# create PR using GitHub CLI
- name: create PR with release info
if: steps.changelog.outputs.skipped == 'false'
id: create-pr
run: gh pr create --base main --head release-from-${{ github.sha }} --title 'Merge new release into main' --body 'Created by Github action'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# merge PR using GitHub CLI
- name: merge PR with release info
if: steps.changelog.outputs.skipped == 'false'
id: merge-pr
run: gh pr merge --admin --merge --subject 'Merge release info' --delete-branch
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# release info is now in main so we can continue as before
- name: create release with last commit
if: steps.changelog.outputs.skipped == 'false'
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.CHANGELOG_RELEASE }}
tag: ${{ steps.changelog.outputs.tag }}
name: ${{ steps.changelog.outputs.tag }}
body: ${{ steps.changelog.outputs.clean_changelog }}