mirror of
https://github.com/element-plus/element-plus.git
synced 2024-12-15 02:40:46 +08:00
113 lines
4.3 KiB
YAML
113 lines
4.3 KiB
YAML
name: 📮 Lint Commit Message Post
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ['Lint Commit Message']
|
|
types: [completed]
|
|
|
|
jobs:
|
|
result:
|
|
runs-on: ubuntu-latest
|
|
|
|
outputs:
|
|
succeeded: ${{ steps.assert.outputs.succeeded }}
|
|
pr: ${{ steps.pr.outputs.pr }}
|
|
|
|
steps:
|
|
- name: Download result
|
|
uses: dawidd6/action-download-artifact@v2
|
|
with:
|
|
workflow: ${{ github.event.workflow.id }}
|
|
run_id: ${{ github.event.workflow_run.id }}
|
|
name: commit-lint-result
|
|
|
|
- name: Derive PR number
|
|
uses: dawidd6/action-download-artifact@v2
|
|
with:
|
|
workflow: ${{ github.event.workflow.id }}
|
|
run_id: ${{ github.event.workflow_run.id }}
|
|
name: pr-number
|
|
|
|
- name: Assert result
|
|
id: assert
|
|
run: echo "succeeded=$(<lint-result.txt)" >> $GITHUB_OUTPUT
|
|
- name: Get PR number
|
|
id: pr
|
|
run: echo "pr=$(<pr.txt)" >> $GITHUB_OUTPUT
|
|
|
|
on-success:
|
|
runs-on: ubuntu-latest
|
|
needs: result
|
|
if: ${{ needs.result.outputs.succeeded == 'true' }}
|
|
name: Lint successfully
|
|
steps:
|
|
- uses: actions-awesome/pr-helper@1.1.1
|
|
with:
|
|
actions: 'maintain-comment, add-labels, remove-labels'
|
|
token: ${{ github.token }}
|
|
labels-to-add: 'CommitMessage::Qualified'
|
|
labels-to-remove: 'CommitMessage::Unqualified'
|
|
body-filter: '<!-- ELEMENT_PLUS_COMMIT_LINT -->'
|
|
pr-number: ${{ needs.result.outputs.pr }}
|
|
|
|
on-failed:
|
|
runs-on: ubuntu-latest
|
|
needs: result
|
|
name: Lint failed
|
|
if: ${{ needs.result.outputs.succeeded != 'true' }}
|
|
steps:
|
|
- uses: dawidd6/action-download-artifact@v2
|
|
with:
|
|
workflow: ${{ github.event.workflow.id }}
|
|
run_id: ${{ github.event.workflow_run.id }}
|
|
name: commit-lint-report
|
|
|
|
- name: Read lint result
|
|
id: read
|
|
uses: juliangruber/read-file-action@v1
|
|
with:
|
|
path: ./commit-lint.txt
|
|
|
|
- uses: actions-awesome/pr-helper@1.1.1
|
|
with:
|
|
actions: 'remove-labels, add-labels, maintain-comment'
|
|
labels-to-remove: 'CommitMessage::Qualified'
|
|
labels-to-add: 'CommitMessage::Unqualified'
|
|
token: ${{ github.token }}
|
|
pr-number: ${{ needs.result.outputs.pr }}
|
|
comment-body: |
|
|
Hello, @${{ github.event.pull_request.user.login }}, seems like your commit message contains some issues.
|
|
|
|
你好,@${{ github.event.pull_request.user.login }},你的提交消息不符合 Element Plus 的提交消息规范。
|
|
|
|
```
|
|
${{ steps.read.outputs.content }}
|
|
```
|
|
|
|
Please refer to [Commit Example](https://element-plus.org/en-US/guide/commit-examples.html) for fixing it.
|
|
|
|
请参考 [提交示例](https://element-plus.org/en-US/guide/commit-examples.html) 来修改你的提交消息。
|
|
|
|
Note that all your commits will be squashed into one for being linted, so you might need to revision your commits.
|
|
If you do not know how to do so, please refer to [Keeping git commit history clean](https://about.gitlab.com/blog/2018/06/07/keeping-git-commit-history-clean/) to update your commit message.
|
|
|
|
你的所有 commit(s) 会被合并为一个 commit 来被验证,所以你可能需要修改你之前的 commit(s) 消息。
|
|
如果你不知道如何来修改之前已经提交的记录,请参考[让你的 Git 提交历史保持干净](https://about.gitlab.com/blog/2018/06/07/keeping-git-commit-history-clean/)来修改。
|
|
|
|
If you find it hard to do it by yourself, run command below to use an intuitive tool for that.
|
|
|
|
如果你觉得自己写这个提交消息很难,请使用下面的命令来启动一个交互式工具来帮助你生成消息。
|
|
|
|
```shell
|
|
pnpm cz
|
|
```
|
|
|
|
Note that if you do not fix the commit message issue, your PR will be automatically closed within **3 days**.
|
|
|
|
请注意,如果你没有按照规范修改你的提交消息,你的 PR 将会在**三天**内被自动关闭。
|
|
|
|
<sub>Generated with :heart: by ElementPlusBot</sub>
|
|
<!-- ELEMENT_PLUS_COMMIT_LINT -->
|
|
body-filter: '<!-- ELEMENT_PLUS_COMMIT_LINT -->'
|
|
- run: exit 1
|