Goreleaser не нашел GITHUB_TOKEN
У меня есть проект , и я пытаюсь настроить goreleaser с помощью GitHub Actions . Но я получаю сообщение об ошибке:
GoReleaser latest installed successfully v0.1.0 tag found for commit '96480db'
/opt/hostedtoolcache/goreleaser-action/1.10.2/x64/goreleaser release --rm-dist
•starting release...
• loading config file file=.goreleaser.yml
⨯release failed after 0serror=yaml: line 26: did not find expected key
Error: The process '/opt/hostedtoolcache/goreleaser-action/1.10.2/x64/goreleaser' failed with exit code 1
.goreleaser.yml
before:
hooks:
- go mod tidy
builds:
- main: cmd/gsolc-select/main.go
binary: gsolc-select
id: gsolc-select-cli
env:
- CGO_ENABLED=0
goos: [ windows,linux,darwin ]
goarch: [ amd64,386,arm,arm64 ]
ignore:
- goos: darwin
goarch: 386
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
flags:
- -trimpath
- main: cmd/solc/main.go
binary: solc
id: solc
env:
- CGO_ENABLED=0
goos: [ windows,linux,darwin ]
goarch: [ amd64,386,arm,arm64 ]
ignore:
- goos: darwin
goarch: 386
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
archives:
- format: zip
id: gsolc-select
builds: [ gsolc-select-cli ]
replacements:
darwin: macOS
- format: zip
id: solc
builds: [ solc ]
replacements:
darwin: macOS
checksum:
algorithm: sha256
.github/рабочие процессы/release.yml
name: Release Binary
on:
push:
tags:
- "v*"
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-go@v3
with:
go-version: 1.18
- uses: goreleaser/goreleaser-action@v3
with:
args: "release --rm-dist"
version: latest
workdir: .
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
Насколько я понимаю, гитхаб сам предоставляет значение secrets.GITHUB_TOKEN . Я пробовал через настройки -> секреты -> добавить пользовательский токен (переменная среды), но ошибка была та же. Я не могу понять, что я делаю неправильно.
1 ответ
Твойgorelease.yml
файл имеет различные проблемы с отступами.
Я не знаком с GoReleaser, и сообщение об ошибке не помогает, но я использую такие инструменты, как:
- http://www.yamllint.com/ (здесь воспроизводится то же сообщение об ошибке при проверке файла: error=yaml: строка 26: не найден ожидаемый ключ)
- Обратите внимание, что
goreleaser check
также возвращает это сообщение.
- Обратите внимание, что
- https://jsonformatter.org/yaml-validator (этот указал на ошибку отступа)
- https://codebeautify.org/yaml-validator (этот тоже указал на ошибку отступа)
Я заметил, что этот блок:
goos: [ windows,linux,darwin ]
goarch: [ amd64,386,arm,arm64 ]
ignore:
- goos: darwin
goarch: 386
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
Вместо этого должно быть так:
goos: [ windows,linux,darwin ]
goarch: [ amd64,386,arm,arm64 ]
ignore:
- goos: darwin
goarch: 386
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
И этот другой блок:
- format: zip
id: solc
builds: [ solc ]
replacements:
darwin: macOS
Вместо этого должно быть так:
- format: zip
id: solc
builds: [ solc ]
replacements:
darwin: macOS
Исправление отступа должно решить проблему. Более того, поскольку это, похоже, не связано с конфигурациями рабочего процесса Github Actions, это должно позволить рабочему процессу работать должным образом.