Skip to content

Commit

Permalink
refactor: adding back release to release.yml [WTEL-5567] (https://web…
Browse files Browse the repository at this point in the history
  • Loading branch information
VladimirBeria committed Nov 21, 2024
1 parent d238825 commit 3ce8220
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# NOTES:
# generating changelog for release is performed twice because first changelog generates for release notes,
# so it runs before release step, and second changelog generates for updating CHANGELOG.md file, so it runs after release step.
# if i'd try to generate changelog once, changes will be marked as "master" branch changes, cause there's no new tag yet.

name: styleguide client release

on:
Expand All @@ -6,7 +11,74 @@ on:
- main

jobs:
release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: get prevTag
id: prevTag
uses: "WyriHaximus/github-action-get-previous-tag@v1"

# for release notes // why 2 changelogs? see NOTES
- name: generate Release Changelog
id: changelog
uses: requarks/changelog-action@v1
continue-on-error: true
with:
writeToFile: false
reverseOrder: true
excludeTypes: build
token: ${{ github.token }}
fromTag: ${{ github.ref_name }}
toTag: ${{ steps.prevTag.outputs.tag }}

- name: get-npm-version
id: package-version
uses: martinbeentjes/[email protected]

- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: "v${{ steps.package-version.outputs.current-version}}"
name: "@webitel/styleguide v${{ steps.package-version.outputs.current-version}}"
body: ${{ steps.changelog.outputs.changes }}

# update tags list after prev step release, so that we fetch new tag, created by prev step
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: get newTag
id: newTag
uses: "WyriHaximus/github-action-get-previous-tag@v1"

# update CHANGELOG.md file // why 2 changelogs? see NOTES
- name: update Release Changelog
id: update-changelog
uses: requarks/changelog-action@v1
continue-on-error: true
with:
reverseOrder: true
excludeTypes: build
token: ${{ github.token }}
fromTag: ${{ steps.newTag.outputs.tag }}
toTag: ${{ steps.prevTag.outputs.tag }}

- name: commit changelog
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: autoupdate changelog
file_pattern: 'CHANGELOG.md'
push_options: --force

publish:
needs: [ release ]
runs-on: ubuntu-latest

steps:
Expand Down

0 comments on commit 3ce8220

Please sign in to comment.