From 00c2ff733758f63201811c337f8d043e8fcc9d58 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Mon, 5 Feb 2024 09:18:01 -0300 Subject: [PATCH] docs: announce v1.24 (#4602) v1.24 announcement, release planned for tomorrow. This also includes the updated docs generated from goreleaser pro source code. --------- Signed-off-by: Carlos Alexandro Becker --- .../blog/posts/2024-02-05-goreleaser-v1.24.md | 63 +++++++ www/docs/cmd/goreleaser_release.md | 2 +- www/docs/customization/builds.md | 4 +- www/docs/customization/chocolatey.md | 10 ++ www/docs/customization/dmg.md | 65 +++++++ www/docs/customization/homebrew.md | 5 + www/docs/customization/msi.md | 143 ++++++++++++++++ www/docs/customization/sbom.md | 23 +-- www/docs/customization/scoop.md | 14 +- www/docs/customization/sign.md | 19 ++- www/docs/customization/universalbinaries.md | 10 +- www/docs/customization/winget.md | 19 +++ www/docs/pro.md | 6 +- www/docs/static/schema-pro.json | 161 +++++++++++++++++- www/mkdocs.yml | 117 ++++++------- 15 files changed, 566 insertions(+), 95 deletions(-) create mode 100644 www/docs/blog/posts/2024-02-05-goreleaser-v1.24.md create mode 100644 www/docs/customization/dmg.md create mode 100644 www/docs/customization/msi.md diff --git a/www/docs/blog/posts/2024-02-05-goreleaser-v1.24.md b/www/docs/blog/posts/2024-02-05-goreleaser-v1.24.md new file mode 100644 index 00000000000..616d4f7dc76 --- /dev/null +++ b/www/docs/blog/posts/2024-02-05-goreleaser-v1.24.md @@ -0,0 +1,63 @@ +--- +date: 2024-02-05 +slug: goreleaser-v1.24 +categories: [announcements] +authors: [caarlos0] +--- + +# Announcing GoReleaser v1.24 - the first of 2024 + +Happy new year! +The first release of 2024 is here! + + + +## Highlights + +- **security**: goreleaser would log environment variables in some + configurations when run with `--verbose`. Note that we only recommend using + the `--verbose` flag locally, to debug possible issues. + [CVE-2024-23840](https://nvd.nist.gov/vuln/detail/CVE-2024-23840) +- **new**: create DMG images (with `hdutil`/`mkisofs`) (only on [Pro][pro]) +- **new**: create MSI installers (with `wix`/`msitools`) (only on [Pro][pro]) +- **blog**: we fully migrated our blog from Medium to [mkdocs](/blog) +- **git**: options to ignore tag prefixes (only on [Pro][pro]) +- **blob**: ACLs, cache control, and content disposition +- **nfpm**: add libraries to packages +- **artifactory**: allow to publish source archives +- **brew**: improve handling of single OS +- **nix**: improved generated derivations, use `stdenvNoCC` by default +- **jsonschema**: we now validate our jsonschema every time it changes to make + sure it is still valid +- **deprecations**: we deprecated some options in the `changelog` and `blobs` + sections. [Details](/deprecations) + +As always, bug fixes, dependency updates, housekeeping, and documentation +updates are included in this release as well. + +## Other news + +- GoReleaser now has ~12.6k stars and 370 contributors! Thanks, everyone! +- We eventually discuss new features in our Discord server.  + [Join the conversation][discord]! +- nFPM had new releases as well,  + [check it out](https://github.com/goreleaser/nfpm/releases). + +## Download + +You can [install][] or upgrade using your favorite package manager, or see the +full release notes and download the pre-compiled binaries [here][oss-rel] and +[here (for Pro)][pro-rel]. + +## Helping out + +You can help by reporting issues, contributing features, documentation +improvements, and bug fixes. +You can also [sponsor the project](/sponsor), or get a +[GoReleaser Pro licence][pro]. + +[pro]: /pro +[install]: https://goreleaser.com/install +[pro-rel]: https://github.com/goreleaser/goreleaser-pro/releases/tag/v1.24.0-pro +[oss-rel]: https://github.com/goreleaser/goreleaser/releases/tag/v1.24.0 +[discord]: https://goreleaser.com/discord diff --git a/www/docs/cmd/goreleaser_release.md b/www/docs/cmd/goreleaser_release.md index 8b9137f9256..1dedc07e1a6 100644 --- a/www/docs/cmd/goreleaser_release.md +++ b/www/docs/cmd/goreleaser_release.md @@ -26,7 +26,7 @@ goreleaser release [flags] --release-notes string Load custom release notes from a markdown file (will skip GoReleaser changelog generation) --release-notes-tmpl string Load custom release notes from a templated markdown file (overrides --release-notes) --single-target Builds only for current GOOS and GOARCH, regardless of what's set in the configuration file (implies --skip-publish) (Pro only) - --skip strings Skip the given options (valid options are: after, announce, aur, before, chocolatey, docker, fury, homebrew, ko, nfpm, nix, publish, sbom, scoop, sign, snapcraft, validate, winget) + --skip strings Skip the given options (valid options are: after, announce, aur, before, chocolatey, dmg, docker, fury, homebrew, ko, msi, nfpm, nix, publish, sbom, scoop, sign, snapcraft, validate, winget) --snapshot Generate an unversioned snapshot release, skipping all validations and without publishing any artifacts (implies --skip=announce,publish,validate) --split Split the build so it can be merged and published later (implies --prepare) (Pro only) --timeout duration Timeout to the entire release process (default 30m0s) diff --git a/www/docs/customization/builds.md b/www/docs/customization/builds.md index d6ad6b71023..e7920a0de52 100644 --- a/www/docs/customization/builds.md +++ b/www/docs/customization/builds.md @@ -182,8 +182,8 @@ builds: command: test # Set the modified timestamp on the output binary, typically - # you would do this to ensure a build was reproducible. Pass - # empty string to skip modifying the output. + # you would do this to ensure a build was reproducible. + # Pass an empty string to skip modifying the output. # # Templates: allowed. mod_timestamp: "{{ .CommitTimestamp }}" diff --git a/www/docs/customization/chocolatey.md b/www/docs/customization/chocolatey.md index d5f92196841..980baed65c4 100644 --- a/www/docs/customization/chocolatey.md +++ b/www/docs/customization/chocolatey.md @@ -45,6 +45,16 @@ chocolateys: # It is a required field. project_url: https://example.com/ + # Which format to use. + # + # Valid options are: + # - 'msi': msi installers (requires the MSI pipe configured, Pro only) + # - 'archive': archives (only if format is zip), + # + # Default: 'archive' + # Since: v1.24 (pro) + use: msi + # URL which is determined by the given Token (github, # gitlab or gitea). # diff --git a/www/docs/customization/dmg.md b/www/docs/customization/dmg.md new file mode 100644 index 00000000000..219993d26b0 --- /dev/null +++ b/www/docs/customization/dmg.md @@ -0,0 +1,65 @@ +# DMG + +> Since: v1.24 pro + +!!! success "GoReleaser Pro" + + The dmg feature is available only in [GoReleaser Pro feature](/pro/). + +GoReleaser can create DMG images for macOS using `mkisofs` or `hdiutil`. + +The `dmg` section specifies how the images should be created: + +```yaml +# .goreleaser.yaml +dmg: + - # ID of the resulting image. + # + # Default: the project name + id: foo + + # Filename of the image (without the extension). + # + # Default: '{{.ProjectName}}_{{.Arch}}' + # Templates: allowed + name: "myproject-{{.Arch}}" + + # IDs of the archives to use. + # Empty means all IDs. + ids: + - foo + - bar + + # GOAMD64 to specify which amd64 version to use if there are multiple + # versions from the build section. + # + # Default: v1 + goamd64: v1 + + # More files that will be available in the context in which the image + # will be built. + extra_files: + - logo.ico + + # Whether to remove the archives from the artifact list. + # If left as false, your end release will have both the archives and the + # dmg files. + replace: true + + # Set the modified timestamp on the output image, typically + # you would do this to ensure a build was reproducible. Pass an + # empty string to skip modifying the output. + # + # Templates: allowed. + mod_timestamp: "{{ .CommitTimestamp }}" +``` + +## Limitations + +1. Due to the way symbolic links are handled on Windows, the `/Applications` + link inside the image might not work if the image was built on Windows. +1. If running outside macOS, make sure to have `mkisofs` installed. + +!!! tip + + Learn more about the [name template engine](/customization/templates/). diff --git a/www/docs/customization/homebrew.md b/www/docs/customization/homebrew.md index 7dd2e4dfa9e..de5d3c629f7 100644 --- a/www/docs/customization/homebrew.md +++ b/www/docs/customization/homebrew.md @@ -37,6 +37,11 @@ brews: - foo - bar + # Sets the app file within a DMG. + # + # Since: 1.24 (pro) + app: MyApp.app + # GOARM to specify which 32-bit arm version to use if there are multiple # versions from the build section. Brew formulas support only one 32-bit # version. diff --git a/www/docs/customization/msi.md b/www/docs/customization/msi.md new file mode 100644 index 00000000000..7707098351d --- /dev/null +++ b/www/docs/customization/msi.md @@ -0,0 +1,143 @@ +# MSI + +> Since: v1.24 pro + +!!! success "GoReleaser Pro" + + The msi feature is available only in [GoReleaser Pro feature](/pro/). + +GoReleaser can create MSI installers for windows binaries using [msitools][]. + +The `msi` section specifies how the **installers** should be created: + +```yaml +# .goreleaser.yaml +msi: + - # ID of the resulting installer. + # + # Default: the project name + id: foo + + # Filename of the installer (without the extension). + # + # Default: '{{.ProjectName}}_{{.MsiArch}}' + # Templates: allowed + name: "myproject-{{.MsiArch}}" + + # The WXS file used to create the installers. + # The file contents go through the templating engine, so you can do things + # like `{{.Version}}` inside of it. + # + # Templates: allowed + # Required. + wxs: ./windows/app.wsx + + # IDs of the archives to use. + # Empty means all IDs. + ids: + - foo + - bar + + # GOAMD64 to specify which amd64 version to use if there are multiple + # versions from the build section. + # + # Default: v1 + goamd64: v1 + + # More files that will be available in the context in which the installer + # will be built. + extra_files: + - logo.ico + + # Whether to remove the archives from the artifact list. + # If left as false, your end release will have both the zip and the msi + # files. + replace: true + + # Set the modified timestamp on the output installer, typically + # you would do this to ensure a build was reproducible. + # Pass an empty string to skip modifying the output. + # + # Templates: allowed. + mod_timestamp: "{{ .CommitTimestamp }}" +``` + +On Windows, it'll try to use the `candle` and `light` binaries from the +[Wix Toolkit][wix] instead. + +Here's an example `wsx` file that you can build upon: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +## Limitations + +1. Some options available in the [Wix Toolset][wix] won't work with + [msitools][], run a snapshot build and verify the generated installers. +1. Only `amd64` and `386` are supported. + +!!! tip + + Learn more about the [name template engine](/customization/templates/). + +[msitools]: https://wiki.gnome.org/msitools +[wix]: https://wixtoolset.org diff --git a/www/docs/customization/sbom.md b/www/docs/customization/sbom.md index 36741edbda9..12aecdf2138 100644 --- a/www/docs/customization/sbom.md +++ b/www/docs/customization/sbom.md @@ -27,8 +27,7 @@ To customize the artifact cataloging pipeline you can use the following options: ```yaml # .goreleaser.yml sboms: - - - # ID of the sbom config, must be unique. + - # ID of the sbom config, must be unique. # # Default: 'default' id: foo @@ -75,14 +74,17 @@ sboms: - FOO=bar - HONK=honkhonk - # Which artifacts to catalog + # Which artifacts to catalog. # - # any: let the SBOM tool decide what artifacts available in the cwd - # should be cataloged - # source: source archive - # package: linux packages (deb, rpm, apk) - # archive: archives from archive pipe - # binary: binaries output from the build stage + # Valid options are: + # - any: let the SBOM tool decide which artifacts available in + # the cwd should be cataloged + # - source: source archive + # - package: Linux packages (deb, rpm, apk, etc) + # - installer: Windows MSI installers (Pro only) + # - diskimage: macOS DMG disk images (Pro only) + # - archive: archives from archive pipe + # - binary: binaries output from the build stage # # Default: 'archive' artifacts: archive @@ -104,7 +106,7 @@ templates: "artifacts" config item is "any") - `${artifactID}`: the ID of the artifact that will be cataloged (unless "artifacts" config item is "any") -- `${document}`: the SBOM filename generated (corresponds to `${document0}` if +- `${document}`: the SBOM filename generated (corresponds to `${document0}` if the "artifacts" config item is "any") - `${document#}`: the SBOM filenames generated, where `#` corresponds to the list index under the "documents" config item (e.g. `${document0}`) @@ -113,4 +115,3 @@ templates: Container images generated by GoReleaser are not available to be cataloged by the SBOM tool. - diff --git a/www/docs/customization/scoop.md b/www/docs/customization/scoop.md index c9c3bf63e38..ee4c0d4c711 100644 --- a/www/docs/customization/scoop.md +++ b/www/docs/customization/scoop.md @@ -33,6 +33,16 @@ scoops: # In short, it's generally better to leave this empty. folder: Scoops + # Which format to use. + # + # Valid options are: + # - 'msi': msi installers (requires the MSI pipe configured, Pro only) + # - 'archive': archives (only if format is zip), + # + # Default: 'archive' + # Since: v1.24 (pro) + use: msi + # Git author used to commit to the repository. commit_author: name: goreleaserbot @@ -77,13 +87,13 @@ scoops: # An array of dependencies. # - # Since GoReleaser v1.16 + # Since: v1.16 depends: ["git", "foo"] # A two-dimensional array of string, specifies the shortcut values to make available in the startmenu. # The array has to contain an executable/label pair. The third and fourth element are optional. # - # Since GoReleaser v1.17.0. + # Since: v1.17 shortcuts: [["drumroll.exe", "drumroll"]] # GOAMD64 to specify which amd64 version to use if there are multiple versions diff --git a/www/docs/customization/sign.md b/www/docs/customization/sign.md index f0b0a409ae5..1a402e3547e 100644 --- a/www/docs/customization/sign.md +++ b/www/docs/customization/sign.md @@ -54,14 +54,17 @@ signs: # Which artifacts to sign # - # all: all artifacts - # none: no signing - # checksum: only checksum file(s) - # source: source archive - # package: linux packages (deb, rpm, apk) - # archive: archives from archive pipe - # binary: binaries if archiving format is set to binary - # sbom: any Software Bill of Materials generated for other artifacts + # Valid options are: + # - none no signing + # - all: all artifacts + # - checksum: checksum files + # - source: source archive + # - package: Linux packages (deb, rpm, apk, etc) + # - installer: Windows MSI installers (Pro only) + # - diskimage: macOS DMG disk images (Pro only) + # - archive: archives from archive pipe + # - binary: binaries output from the build stage + # - sbom: any SBOMs generated for other artifacts # # Default: 'none' artifacts: all diff --git a/www/docs/customization/universalbinaries.md b/www/docs/customization/universalbinaries.md index 7a37ef746f7..1495255c675 100644 --- a/www/docs/customization/universalbinaries.md +++ b/www/docs/customization/universalbinaries.md @@ -9,7 +9,7 @@ Here's how to use it: ```yaml # .goreleaser.yaml universal_binaries: - - # ID of resulting universal binary. + - # ID of the resulting universal binary. # # Default: the project name id: foo @@ -31,13 +31,13 @@ universal_binaries: name_template: "{{.ProjectName}}_{{.Version}}" # Whether to remove the previous single-arch binaries from the artifact list. - # If left as false, your end release might have both several macOS archives: - # amd64, arm64 and all. + # If left as false, your end release might have as much as three + # archives for macOS: 'amd64', 'arm64' and 'all'. replace: true # Set the modified timestamp on the output binary, typically - # you would do this to ensure a build was reproducible. Pass - # empty string to skip modifying the output. + # you would do this to ensure a build was reproducible. + # Pass an empty string to skip modifying the output. # # Templates: allowed. # Since: v1.20 diff --git a/www/docs/customization/winget.md b/www/docs/customization/winget.md index 6c8bd087de9..db73cfa031a 100644 --- a/www/docs/customization/winget.md +++ b/www/docs/customization/winget.md @@ -57,12 +57,31 @@ winget: - foo - bar + # Which format to use. + # + # Valid options are: + # - '': archives or binaries + # - 'msi': msi installers (requires the MSI pipe configured, Pro only) + # - 'archive': archives (only if format is zip), + # - 'binary': binaries + # + # Default: '' + # Since: v1.24 (pro) + use: msi + # GOAMD64 to specify which amd64 version to use if there are multiple # versions from the build section. # # Default: v1 goamd64: v1 + # Product code to be used. + # + # Usually needed when `use: msi`. + # + # Since: v1.24 (pro) + product_code: AAAA-BBB-CCC-DDD-EEEFFF + # URL which is determined by the given Token (github, gitlab or gitea). # # Default depends on the client. diff --git a/www/docs/pro.md b/www/docs/pro.md index 1b0bfe77fce..5c90f7f2b86 100644 --- a/www/docs/pro.md +++ b/www/docs/pro.md @@ -3,7 +3,9 @@ GoReleaser Pro is a paid, closed-source GoReleaser distribution with some additional features: -- [x] `goreleaser release --single-target` to build the whole pipeline for a +- [x] Create [macOS disk images (DMGs)](/customization/dmg); +- [x] Create [Windows installers](/customization/msi); +- [x] Use `goreleaser release --single-target` to build the whole pipeline for a single architecture locally; - [x] Check boxes in pull request templates; - [x] [Template entire files](/customization/templatefiles) and add them to the @@ -50,11 +52,9 @@ additional features: We don't have a properly organized public road map (_yet_), but these are some of the things we plan to work on, in one form or another: -- [x] `--single-target` & friends for `goreleaser release`; - [ ] `--dry-run` to test the release locally, possibly skipping the actual build of the binaries to focus on faster iteration of the other parts; - [ ] first-class macOS signing; -- [ ] create Windows installers; That said, your input is always welcome! Once you buy it, feel free to diff --git a/www/docs/static/schema-pro.json b/www/docs/static/schema-pro.json index dc218472551..c448117f7e9 100644 --- a/www/docs/static/schema-pro.json +++ b/www/docs/static/schema-pro.json @@ -436,7 +436,13 @@ "type": "boolean" }, "buildmode": { - "type": "string" + "type": "string", + "enum": [ + "c-archive", + "c-shared", + "" + ], + "default": "" }, "ldflags": { "$ref": "#/$defs/StringArray" @@ -497,7 +503,13 @@ "type": "string" }, "buildmode": { - "type": "string" + "type": "string", + "enum": [ + "c-archive", + "c-shared", + "" + ], + "default": "" }, "ldflags": { "$ref": "#/$defs/StringArray" @@ -597,7 +609,7 @@ "type": "boolean" } ], - "description": "use disable_disable instead" + "description": "use disable instead" } }, "additionalProperties": false, @@ -751,6 +763,14 @@ }, "goamd64": { "type": "string" + }, + "use": { + "type": "string", + "enum": [ + "archive", + "msi" + ], + "default": "archive" } }, "additionalProperties": false, @@ -842,6 +862,42 @@ }, "type": "array" }, + "DMG": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "goamd64": { + "type": "string" + }, + "extra_files": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replace": { + "type": "boolean" + }, + "mod_timestamp": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, "Discord": { "properties": { "enabled": { @@ -1408,6 +1464,9 @@ }, "type": "array" }, + "app": { + "type": "string" + }, "tap": { "$ref": "#/$defs/RepoRef", "description": "use repository instead" @@ -1760,6 +1819,21 @@ "additionalProperties": false, "type": "object" }, + "Libdirs": { + "properties": { + "header": { + "type": "string" + }, + "carchive": { + "type": "string" + }, + "cshared": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, "LinkedIn": { "properties": { "enabled": { @@ -1772,6 +1846,46 @@ "additionalProperties": false, "type": "object" }, + "MSI": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "wxs": { + "type": "string" + }, + "ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "goamd64": { + "type": "string" + }, + "extra_files": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replace": { + "type": "boolean" + }, + "mod_timestamp": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "wxs" + ] + }, "Mastodon": { "properties": { "enabled": { @@ -1987,6 +2101,9 @@ "bindir": { "type": "string" }, + "libdirs": { + "$ref": "#/$defs/Libdirs" + }, "changelog": { "type": "string" }, @@ -2508,6 +2625,18 @@ }, "type": "array" }, + "msi": { + "items": { + "$ref": "#/$defs/MSI" + }, + "type": "array" + }, + "dmg": { + "items": { + "$ref": "#/$defs/DMG" + }, + "type": "array" + }, "aurs": { "items": { "$ref": "#/$defs/AUR" @@ -3025,9 +3154,10 @@ "enum": [ "source", "package", + "diskimage", + "installer", "archive", "binary", - "any", "any" ], "default": "archive" @@ -3159,6 +3289,14 @@ "goamd64": { "type": "string" }, + "use": { + "type": "string", + "enum": [ + "archive", + "msi" + ], + "default": "archive" + }, "bucket": { "$ref": "#/$defs/RepoRef", "description": "use repository instead" @@ -3195,7 +3333,9 @@ "package", "archive", "binary", - "sbom" + "sbom", + "installer", + "diskimage" ] }, "ids": { @@ -4019,6 +4159,17 @@ "$ref": "#/$defs/WingetDependency" }, "type": "array" + }, + "product_code": { + "type": "string" + }, + "use": { + "type": "string", + "enum": [ + "archive", + "binary", + "msi" + ] } }, "additionalProperties": false, diff --git a/www/mkdocs.yml b/www/mkdocs.yml index 9a1ce7469c4..90ee6fced25 100644 --- a/www/mkdocs.yml +++ b/www/mkdocs.yml @@ -78,13 +78,13 @@ extra: nav: - Home: index.md - Getting Started: - - intro.md - - install.md - - quick-start.md - - how-it-works.md - - Limitations: - - limitations/cgo.md - - limitations/semver.md + - intro.md + - install.md + - quick-start.md + - how-it-works.md + - Limitations: + - limitations/cgo.md + - limitations/semver.md - Customization: - customization/index.md - Basics: @@ -106,6 +106,8 @@ nav: - Packaging and Archiving: - customization/archive.md - customization/nfpm.md + - customization/dmg.md + - customization/msi.md - customization/checksum.md - customization/snapcraft.md - customization/chocolatey.md @@ -170,58 +172,57 @@ nav: - ci/travis.md - ci/woodpecker.md - - More resources: - - sponsors.md - - users.md - - deprecations.md - - Common errors: - - errors/dirty.md - - errors/multiple-tokens.md - - errors/release-upload.md - - errors/docker-build.md - - errors/no-main.md - - errors/build.md - - errors/resource-not-accessible-by-integration.md - - errors/no-history.md - - errors/multiple-binaries-archive.md - - errors/scoop-archive.md - - Cookbooks: - - About: cookbooks/index.md - - Blog Posts: cookbooks/blog-posts.md - - Add a new cookbook: cookbooks/contributing.md - - cookbooks/private-monorepo-public-release.md - - cookbooks/multi-platform-docker-images.md - - cookbooks/build-go-modules.md - - cookbooks/cgo-and-crosscompiling.md - - cookbooks/debconf-templates.md - - cookbooks/using-jfrog-cli-to-publish-to-artifactory.md - - cookbooks/publish-to-nexus.md - - cookbooks/release-a-library.md - - cookbooks/semantic-release.md - - cookbooks/set-a-custom-git-tag.md - - cookbooks/using-main.version.md - - cookbooks/override-image-name.md - - cookbooks/goreleaser-xx.md - - Command Line Usage: - - cmd/goreleaser.md - - cmd/goreleaser_init.md - - cmd/goreleaser_healthcheck.md - - cmd/goreleaser_check.md - - cmd/goreleaser_changelog.md - - cmd/goreleaser_build.md - - cmd/goreleaser_release.md - - cmd/goreleaser_continue.md - - cmd/goreleaser_publish.md - - cmd/goreleaser_announce.md - - cmd/goreleaser_completion.md - - cmd/goreleaser_completion_bash.md - - cmd/goreleaser_completion_fish.md - - cmd/goreleaser_completion_powershell.md - - cmd/goreleaser_completion_zsh.md - - cmd/goreleaser_jsonschema.md - - contributing.md - - links.md + - sponsors.md + - users.md + - deprecations.md + - Common errors: + - errors/dirty.md + - errors/multiple-tokens.md + - errors/release-upload.md + - errors/docker-build.md + - errors/no-main.md + - errors/build.md + - errors/resource-not-accessible-by-integration.md + - errors/no-history.md + - errors/multiple-binaries-archive.md + - errors/scoop-archive.md + - Cookbooks: + - About: cookbooks/index.md + - Blog Posts: cookbooks/blog-posts.md + - Add a new cookbook: cookbooks/contributing.md + - cookbooks/private-monorepo-public-release.md + - cookbooks/multi-platform-docker-images.md + - cookbooks/build-go-modules.md + - cookbooks/cgo-and-crosscompiling.md + - cookbooks/debconf-templates.md + - cookbooks/using-jfrog-cli-to-publish-to-artifactory.md + - cookbooks/publish-to-nexus.md + - cookbooks/release-a-library.md + - cookbooks/semantic-release.md + - cookbooks/set-a-custom-git-tag.md + - cookbooks/using-main.version.md + - cookbooks/override-image-name.md + - cookbooks/goreleaser-xx.md + - Command Line Usage: + - cmd/goreleaser.md + - cmd/goreleaser_init.md + - cmd/goreleaser_healthcheck.md + - cmd/goreleaser_check.md + - cmd/goreleaser_changelog.md + - cmd/goreleaser_build.md + - cmd/goreleaser_release.md + - cmd/goreleaser_continue.md + - cmd/goreleaser_publish.md + - cmd/goreleaser_announce.md + - cmd/goreleaser_completion.md + - cmd/goreleaser_completion_bash.md + - cmd/goreleaser_completion_fish.md + - cmd/goreleaser_completion_powershell.md + - cmd/goreleaser_completion_zsh.md + - cmd/goreleaser_jsonschema.md + - contributing.md + - links.md - Get Pro: pro.md - Blog: - blog/index.md