From 919816c2829dc39e42094af7156a27d8bdabe276 Mon Sep 17 00:00:00 2001 From: Alexander Lobyntsev Date: Thu, 5 Dec 2024 12:55:13 +0700 Subject: [PATCH] ci: write changelog after publish --- .github/workflows/publish-latest.yml | 55 +++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-latest.yml b/.github/workflows/publish-latest.yml index 2e693d1bac..665e9f9aba 100644 --- a/.github/workflows/publish-latest.yml +++ b/.github/workflows/publish-latest.yml @@ -16,7 +16,60 @@ jobs: uses: ./.github/workflows/publish-common.yml with: with-update-package-lock: true + auto-options: '--no-changelog' secrets: gh_token: ${{ secrets.GH_TOKEN }} npm_registry_token: ${{ secrets.NPM_REGISTRY_TOKEN }} - + + changelog: + runs-on: ubuntu-latest + needs: [publish] + if: ${{ always() && contains(needs.publish.result, 'success') }} + env: + GITHUB_TOKEN: ${{ secrets.gh_token }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + show-progress: false + fetch-depth: 0 + + - name: Get associated pull request by commit + id: data + uses: actions/github-script@v7 + with: + result-encoding: string + script: | + const res = await github.rest.repos.listPullRequestsAssociatedWithCommit({ + commit_sha: context.sha, + owner: context.repo.owner, + repo: context.repo.repo, + }); + + const data = res?.data[0].body || ''; + + return data; + + - name: Install dependencies + run: | + cd .github/actions/write-changelog + npm ci + + - name: Write changelog + uses: ./.github/actions/write-changelog + with: + data: ${{ steps.data.outputs.result }} + + - name: Extract branch name + id: branch + shell: bash + run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT + + - name: Commit & Push changelog files + uses: actions-js/push@master + with: + github_token: ${{ secrets.gh_token }} + message: 'chore: Update CHANGELOG.md [skip ci]' + branch: ${{ steps.branch.outputs.BRANCH }} + author_name: Salute Frontend Team + author_email: salute.developers@gmail.com