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: |