Как настроить GoReleaser для перевода пивоваренного крана в другое репо

Я хочу настроить сценарий действий github в частном репозитории github, который подталкивает релиз и пивоваренный кран к отдельному общедоступному репозиторию 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. Поскольку я нажимаю на отдельное репо, не должен ли этот скрипт проверять теги в этом репо (а не в текущем)? И даже в этом случае, как мне автоматически создавать тег при каждом нажатии?

1 ответ

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

ПРИМЕЧАНИЕ. Не забудьте создать новый токен и добавить его в качестве секрета в соответствующий репозиторий.

Другие вопросы по тегам