当PR合并时如何在GitHub上创建标签?

10

我的当前工作流需要对每个PR进行版本升级,因此我想利用这一点,在每次PR合并时自动在GitHub上创建一个标签,以便出现在“发布”部分。

我看到我可以编写一个后合并挂钩。我的疑问是该挂钩是否在我的本地计算机上运行,远程在GitHub上运行,还是两者都有(假设我在GitHub上合并PR而不是在本地计算机上)。情况是什么?

1个回答

13
我可以编写一个合并后的钩子。我的疑问是该钩子是在我的本地计算机上运行,还是在GitHub远程运行,或者两者都有可能。
2015年:它肯定不会在GitHub上运行(这对于GitHub运行任何用户提供的钩子都不安全)。
您可以拥有拉取请求的Webhook:通过监听其JSON负载,如果PR事件指示已合并 PR,则可以添加标记并将其推回到GitHub。
(也就是说,如果action为“closed”,并且merged键为“true”)
2020年:它肯定会在GitHub上运行:这被称为 GitHub Actions
在OP的情况下,使用 GitHub Tag Action

GitHub Action可以自动提高并标记主版本,以最新的SemVer格式化版本合并。适用于任何平台。

用法

name: Bump version
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
        with:
          # Fetches entire history, so we can analyze commits since last tag
          fetch-depth: 0
      - name: Bump version and push tag
        uses: mathieudutour/github-tag-action@v4.5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

一个类似且更为更新的操作:github-tag-action
请参考Nick Sjostrom的 "Creating A Github Action to Tag Commits"。
name: Bump version
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Bump version and push tag
      uses: anothrNick/github-tag-action@master
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        REPO_OWNER: anothrNick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接