Introduction
GoReleaser can be customized by tweaking a .goreleaser.yaml1 file.
You can generate an example config by running
goreleaser init or start from scratch.
You can also check if your config is valid by running
goreleaser check, which will tell you if are
using deprecated or invalid options.
JSON Schema
GoReleaser also has a jsonschema file, which you can use to have better editor support:
https://goreleaser.com/static/schema.jsonYou can also specify it in your .goreleaser.yml config file by adding a
comment like the following:
# yaml-language-server: $schema=https://goreleaser.com/static/schema.jsonYou can also generate it for your specific version using 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.14.3 (latest):
https://raw.githubusercontent.com/goreleaser/goreleaser/v2.14.3/www/docs/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