diff --git a/.github/workflows/gitflow.yml b/.github/workflows/gitflow.yml index 2d8de92..6ebaf7b 100644 --- a/.github/workflows/gitflow.yml +++ b/.github/workflows/gitflow.yml @@ -187,6 +187,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: + ref: ${{ env.SOURCE_BRANCH }} token: ${{ env.TOKEN }} - name: Checkout commit @@ -203,6 +204,15 @@ jobs: run: | cat ${{ env.CHANGELOG }} \ | grep '^${{ env.VERSION_HEADER }}Unreleased$' \ + || ( \ + echo "$(printf '${{ env.VERSION_HEADER }}Unreleased\n\n' | cat - ${{ env.CHANGELOG }})" > ${{ env.CHANGELOG }}; \ + git config user.name github-actions; \ + git config user.email github-actions@github.com; \ + git add ${{ env.CHANGELOG }}; \ + git commit -m "document: add Unreleased to ${{ env.CHANGELOG }}"; \ + git push; \ + ) \ + && (echo 'warning=changelog-not-modified' >> $GITHUB_OUTPUT; exit 0) \ || (echo 'failure=changelog-not-contains-unreleased' >> $GITHUB_OUTPUT; exit 1) git diff --name-only ${{ env.DESTINATION_COMMIT }} \ | grep --perl-regexp 'changelog\.md' \ @@ -246,13 +256,12 @@ jobs: return `I recommend that you should modify ${{ env.CHANGELOG }}.` } })() - const response = await github.rest.issues.listComments({ + const { data: comments } = await github.rest.issues.listComments({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, - }); - const comments = response.map(json => json.body) - if (comments.some(comment => comment === message)) { + }) + if (comments.some(comment => comment.body === message)) { return } github.rest.issues.createComment({ diff --git a/changelog.md b/changelog.md index 9c62a1e..4da271e 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,7 @@ +## 2.2.2 + +- document: add Unreleased to changelog.md + ## 2.2.1 - fix: use TOKEN instead of GITHUB_TOKEN diff --git a/readme.md b/readme.md index f4749e5..0632747 100644 --- a/readme.md +++ b/readme.md @@ -128,7 +128,7 @@ changelog.md ``` 1. Create (`${FEATURE_TYPE}/name` to `develop`) pull request. -2. GitHub Actions automatically check changelog.md has `## Unreleased`, if not close pull request. +2. GitHub Actions automatically check changelog.md has `## Unreleased`, if possible add `## Unreleased` to changelog.md and commit and push, if not close pull request. 3. GitHub Actions automatically check changelog.md has modification, if not add recommend comment to pull request. 4. Merge. 5. GitHub Actions automatically delete `${FEATURE_TYPE}/name` branch.