mirror of
https://github.com/neon-mmd/websurfx.git
synced 2024-11-22 05:58:21 -05:00
Create releases.yml
This commit is contained in:
parent
16d76bf70d
commit
a301be7cdb
74
.github/workflows/releases.yml
vendored
Normal file
74
.github/workflows/releases.yml
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
name: Releases
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- rolling
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: "main-branch"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
changelog:
|
||||||
|
if: github.repository == 'neon-mmd/websurfx '
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Create a temporary, uniquely named branch to push release info to
|
||||||
|
- name: create temporary branch
|
||||||
|
uses: peterjgrainger/action-create-branch@v2.3.0
|
||||||
|
id: create-branch
|
||||||
|
with:
|
||||||
|
branch: "release-from-${{ github.sha }}"
|
||||||
|
sha: "${{ github.sha }}"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# check out the repository afterwards
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# fetch branches and switch to the temporary branch
|
||||||
|
- name: switch to new branch
|
||||||
|
run: git fetch --all && git checkout --track origin/release-from-${{ github.sha }}
|
||||||
|
|
||||||
|
# update app config with version
|
||||||
|
- name: get-npm-version
|
||||||
|
id: package-version
|
||||||
|
uses: martinbeentjes/npm-get-version-action@master
|
||||||
|
- name: update app config
|
||||||
|
run: sed -i 's/0.0.0/${{ steps.package-version.outputs.current-version}}/g' 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,./config/app.json"
|
||||||
|
git-branch: "release-from-${{ github.sha }}"
|
||||||
|
skip-on-empty: false
|
||||||
|
skip-git-pull: true
|
||||||
|
|
||||||
|
# create PR using GitHub CLI
|
||||||
|
- name: create PR with release info
|
||||||
|
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
|
||||||
|
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
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
if: steps.changelog.outputs.skipped == 'false'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.CHANGELOG_RELEASE }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ steps.changelog.outputs.tag }}
|
||||||
|
release_name: ${{ steps.changelog.outputs.tag }}
|
||||||
|
body: ${{ steps.changelog.outputs.clean_changelog }}
|
Loading…
Reference in New Issue
Block a user