www/content/customization/_index.md
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.
GoReleaser also has a jsonschema file, which you can use to have better editor support:
{{< tabs >}}
{{< tab name="OSS" >}}
https://goreleaser.com/static/schema.json
You 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.json
{{< /tab >}} {{< tab name="Pro" >}}
https://goreleaser.com/static/schema-pro.json
You 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-pro.json
{{< /tab >}} {{< /tabs >}}
You can also generate it for your specific version using the
goreleaser jsonschema command.
You can pin the version by getting the schema from the GitHub tag, for example,
for __VERSION__ (latest):
{{< tabs >}}
{{< tab name="OSS" >}}
https://raw.githubusercontent.com/goreleaser/goreleaser/__VERSION__/www/docs/static/schema.json
{{< /tab >}} {{< tab name="Pro" >}}
https://raw.githubusercontent.com/goreleaser/goreleaser/__VERSION__/www/docs/static/schema-pro.json
{{< /tab >}} {{< /tabs >}}
While most of the documentation refers to the .goreleaser.yaml filename
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