From 8adc7119495ce2dfbf73a2b36348408a5463b07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gast=C3=B3n=20Fournier?= Date: Wed, 4 Oct 2023 11:52:46 +0200 Subject: [PATCH] chore: automate changelog generation on release branch (#4914) ## About the changes This generates the changelog in the branch taking into account latest release (it's conditional to wether the release ends with .0 or not) --- .github/workflows/publish-new-version.yaml | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-new-version.yaml b/.github/workflows/publish-new-version.yaml index 54891a183f..7cdd93a998 100644 --- a/.github/workflows/publish-new-version.yaml +++ b/.github/workflows/publish-new-version.yaml @@ -4,6 +4,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +permissions: + contents: write + on: workflow_dispatch: inputs: @@ -19,9 +22,11 @@ jobs: node-version: [18.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - token: ${{ secrets.GH_PUSH_TOKEN }} + fetch-depth: 0 + - name: Set up git-cliff + uses: kenji-miyake/setup-git-cliff@v1 - name: setup git config run: | git config user.name "GitHub Actions Bot" @@ -30,7 +35,20 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - cache: 'yarn' + cache: "yarn" + - if: ${{ endsWith(github.event.inputs.version, '0') }} + run: | + PREV_COMMIT=$(git rev-list --tags --max-count=1) + echo PREV=$(git describe --tags ${PREV_COMMIT}) >> $GITHUB_ENV + - if: ${{ !endsWith(github.event.inputs.version, '0') }} + run: echo PREV=$(git describe --abbrev=0) >> $GITHUB_ENV + - name: Generate changelog if not pre-release + if: ${{ !contains(github.event.inputs.version, '-') }} + env: + PREV: ${{ env.PREV }} + run: | + git-cliff ${PREV}..HEAD --tag v${{ github.event.inputs.version }} --prepend CHANGELOG.md + git commit -am "docs: Update CHANGELOG.md" - run: yarn install --frozen-lockfile --ignore-scripts - name: npm version run: |