Spaces:
Runtime error
Runtime error
name: Releases | |
on: | |
push: | |
branches: | |
- "rolling" | |
concurrency: | |
group: "rolling-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: "./Cargo.toml" | |
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 rolling' --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.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.changelog.outputs.tag }} | |
release_name: ${{ steps.changelog.outputs.tag }} | |
body: ${{ steps.changelog.outputs.clean_changelog }} | |