Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
feat: release action
Browse files Browse the repository at this point in the history
  • Loading branch information
eddiejaoude authored Jun 30, 2024
1 parent e56e4d8 commit 409147f
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Release
on:
push:
branches:
- main

jobs:
changelog:
if: github.repository == 'EddieHubCommunity/EddieHubCommunity.github.io'
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 }}

# 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 }}

0 comments on commit 409147f

Please sign in to comment.