Introduction
GoReleaser can be customized by tweaking a .goreleaser.yaml1
file.
Run goreleaser init to generate an example config, or start from scratch.
Run goreleaser check to verify your config: it tells you whether you’re using
deprecated or invalid options.
JSON Schema
GoReleaser publishes a JSON Schema file, which you can use to get better editor support:
https://goreleaser.com/static/schema.jsonYou can also reference it from your config file by adding a comment like the following:
# yaml-language-server: $schema=https://goreleaser.com/static/schema.jsonTo generate the schema for the exact version you run, use the
goreleaser jsonschema command.
Pin the schema version
You can pin the version by getting the schema from the GitHub tag, for example,
for v2.18.0 (latest):
https://raw.githubusercontent.com/goreleaser/goreleaser/v2.18.0/www/static/schema.jsonWhile most of the documentation refers to the
.goreleaser.yamlfilename for simplicity, a few different variants of it are actually accepted. In order of precedence:.config/goreleaser.yml.config/goreleaser.yaml.goreleaser.yml.goreleaser.yamlgoreleaser.ymlgoreleaser.yaml