Skip to content
🎉 GoReleaser v2.18 is out! with release summaries, preflight checks, OpenTelemetry traces, and more!
Introduction

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.json

You can also reference it from your config file by adding a comment like the following:

.goreleaser.yaml
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json

To 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.json

  1. 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.yaml
    • goreleaser.yml
    • goreleaser.yaml
     ↩︎
Last updated on