Skip to content

Introduction

GoReleaser can be customized by tweaking a .goreleaser.yaml 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.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

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

You 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.4.7 (latest):

https://raw.githubusercontent.com/goreleaser/goreleaser/v2.4.7/www/docs/static/schema.json
https://raw.githubusercontent.com/goreleaser/goreleaser/v2.4.7/www/docs/static/schema-pro.json