2

我希望在私有 github 存储库上设置一个 github 操作脚本,它将发布和 brew tap 推送到单独的公共 git 存储库。我创建了一个.gorelease.yml文件并指定了brews这样的部分:

brews:
- name: myrepo
  goarm: 6
  github:
    owner: myrepo
    name: homebrew-myrepo
  homepage: "https://myrepo.com"

.gorelease.yml文件工作正常并成功构建了二进制文件。我还在 github 操作中为公共存储库指定了一个 github 令牌,这样应该可以工作。

当我运行 github 操作时,我收到此错误:

   fatal: no tag exactly matches '38d505213e445a673a34812929ff858595e1a887'
   ⚠️ No tag found for commit 38d5052. Snapshot forced
   ...
   • signing artifacts        
      • pipe skipped              error=artifact signing is disabled
   • docker images            
      • pipe skipped              error=docker section is not configured
   • publishing               
      • pipe skipped              error=publishing is disabled
   • release succeeded after 159.12s

我不明白为什么当前的 git repo 是相关的。因为我要推送到一个单独的仓库,所以这个脚本不应该检查那个仓库(不是当前的)上的标签吗?即使在这种情况下,我如何在每次推送时自动创建标签?

4

1 回答 1

2

goreleaser使用 semver 找出版本,因此您必须添加格式为v1.2.4

git tag v1.2.4
git push --tags

.goreleaser.yml

brews:
  - github:
      owner: my-repo
      name: homebrew-myrepo
    folder: Formula
    homepage: https://github.com/my-repo/abc

工作流文件

    - name: GoReleaser
      uses: goreleaser/goreleaser-action@v2
      with:
        version: latest
        args: release --rm-dist
      env:
        GITHUB_TOKEN: ${{ secrets.GR_TOKEN }}

注意:不要忘记创建一个新令牌并将其作为机密添加到相关存储库中。

于 2020-06-29T13:19:56.333 回答