Как настроить 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 }}
ПРИМЕЧАНИЕ. Не забудьте создать новый токен и добавить его в качестве секрета в соответствующий репозиторий.