hugo/hugoreleaser.toml
2024-11-05 11:40:42 +01:00

287 lines
9.7 KiB
TOML

project = "hugo"
# In Hugo v0.103.0 we removed the archive name replacements (e.g. amd64 => 64bit).
# Using standard GOOS/GOARCH values makes it easier for scripts out there,
# but to prevent breakage in Netlify etc. that has adopted to the old names,
# we create aliases for the most common variants.
# According to download numbers from v0.101.0, these are by a good margin the two most popular:
# hugo_extended_0.101.0_Linux-64bit.tar.gz Downloaded 129,016 times
# hugo_0.101.0_Linux-64bit.tar.gz Downloaded 87,846 times
# This replacement will create 2 extra alias archives.
archive_alias_replacements = { "linux-amd64.tar.gz" = "Linux-64bit.tar.gz" }
[go_settings]
go_proxy = "https://proxy.golang.org"
go_exe = "go"
[build_settings]
binary = "hugo"
flags = ["-buildmode", "exe"]
env = ["CGO_ENABLED=0"]
ldflags = "-s -w -X github.com/gohugoio/hugo/common/hugo.vendorInfo=gohugoio"
[archive_settings]
name_template = "{{ .Project }}_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
extra_files = [
{ source_path = "README.md", target_path = "README.md" },
{ source_path = "LICENSE", target_path = "LICENSE" },
]
[archive_settings.type]
format = "tar.gz"
extension = ".tar.gz"
[release_settings]
name = "${HUGORELEASER_TAG}"
type = "github"
repository = "hugo"
repository_owner = "gohugoio"
draft = true
prerelease = false
[release_settings.release_notes_settings]
# Use Hugoreleaser's autogenerated release notes.
generate = true
# Collapse releases with < 10 changes below one title.
short_threshold = 10
short_title = "What's Changed"
groups = [
# Group the changes in the release notes by title.
# You need at least one.
# The groups will be tested in order until a match is found.
# The titles will so be listed in the given order in the release note.
# Any match with ignore=true title will be dropped.
{ regexp = "Merge commit|Squashed|releaser:", ignore = true },
{ title = "Note", regexp = "(note|deprecated)", ordinal = 10 },
{ title = "Bug fixes", regexp = "fix", ordinal = 15 },
{ title = "Dependency Updates", regexp = "deps", ordinal = 30 },
{ title = "Build Setup", regexp = "(snap|release|update to)", ordinal = 40 },
{ title = "Documentation", regexp = "(doc|readme)", ordinal = 40 },
{ title = "Improvements", regexp = ".*", ordinal = 20 },
]
[[builds]]
path = "container1/unix/regular"
[[builds.os]]
goos = "darwin"
[[builds.os.archs]]
goarch = "universal"
[[builds.os]]
goos = "linux"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os.archs]]
goarch = "arm64"
[[builds.os.archs]]
goarch = "arm"
[builds.os.archs.build_settings]
env = ["CGO_ENABLED=0", "GOARM=7"]
# Unix BSD variants
[[builds.os]]
goos = "dragonfly"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os]]
goos = "freebsd"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os]]
goos = "netbsd"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os]]
goos = "openbsd"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os]]
goos = "solaris"
[[builds.os.archs]]
goarch = "amd64"
[[builds]]
path = "container1/unix/extended"
[builds.build_settings]
flags = ["-buildmode", "exe", "-tags", "extended"]
env = ["CGO_ENABLED=1"]
[[builds.os]]
goos = "darwin"
[builds.os.build_settings]
env = ["CGO_ENABLED=1", "CC=o64-clang", "CXX=o64-clang++"]
[[builds.os.archs]]
goarch = "universal"
[[builds.os]]
goos = "linux"
[[builds.os.archs]]
goarch = "amd64"
[[builds]]
path = "container1/unix/extended-withdeploy"
[builds.build_settings]
flags = ["-buildmode", "exe", "-tags", "extended,withdeploy"]
env = ["CGO_ENABLED=1"]
[[builds.os]]
goos = "darwin"
[builds.os.build_settings]
env = ["CGO_ENABLED=1", "CC=o64-clang", "CXX=o64-clang++"]
[[builds.os.archs]]
goarch = "universal"
[[builds.os]]
goos = "linux"
[[builds.os.archs]]
goarch = "amd64"
[[builds]]
path = "container2/linux/extended"
[builds.build_settings]
flags = ["-buildmode", "exe", "-tags", "extended"]
[[builds.os]]
goos = "linux"
[builds.os.build_settings]
env = [
"CGO_ENABLED=1",
"CC=aarch64-linux-gnu-gcc",
"CXX=aarch64-linux-gnu-g++",
]
[[builds.os.archs]]
goarch = "arm64"
[[builds]]
path = "container1/windows/regular"
[[builds.os]]
goos = "windows"
[builds.os.build_settings]
binary = "hugo.exe"
[[builds.os.archs]]
goarch = "amd64"
[[builds.os.archs]]
goarch = "arm64"
[[builds]]
path = "container1/windows/extended"
[builds.build_settings]
flags = ["-buildmode", "exe", "-tags", "extended"]
env = [
"CGO_ENABLED=1",
"CC=x86_64-w64-mingw32-gcc",
"CXX=x86_64-w64-mingw32-g++",
]
ldflags = "-s -w -X github.com/gohugoio/hugo/common/hugo.vendorInfo=gohugoio -extldflags '-static'"
[[builds.os]]
goos = "windows"
[builds.os.build_settings]
binary = "hugo.exe"
[[builds.os.archs]]
goarch = "amd64"
[[builds]]
path = "container1/windows/extended-withdeploy"
[builds.build_settings]
flags = ["-buildmode", "exe", "-tags", "extended,withdeploy"]
env = [
"CGO_ENABLED=1",
"CC=x86_64-w64-mingw32-gcc",
"CXX=x86_64-w64-mingw32-g++",
]
ldflags = "-s -w -X github.com/gohugoio/hugo/common/hugo.vendorInfo=gohugoio -extldflags '-static'"
[[builds.os]]
goos = "windows"
[builds.os.build_settings]
binary = "hugo.exe"
[[builds.os.archs]]
goarch = "amd64"
[[archives]]
paths = ["builds/container1/unix/regular/**"]
[[archives]]
paths = ["builds/container1/unix/extended/**"]
[archives.archive_settings]
name_template = "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[[archives]]
paths = ["builds/container1/unix/extended-withdeploy/**"]
[archives.archive_settings]
name_template = "{{ .Project }}_extended_withdeploy_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[[archives]]
# Only extended builds in container2.
paths = ["builds/container2/**"]
[archives.archive_settings]
name_template = "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[[archives]]
paths = ["builds/**/windows/regular/**"]
[archives.archive_settings.type]
format = "zip"
extension = ".zip"
[[archives]]
paths = ["builds/**/windows/extended/**"]
[archives.archive_settings]
name_template = "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[archives.archive_settings.type]
format = "zip"
extension = ".zip"
[[archives]]
paths = ["builds/**/windows/extended-withdeploy/**"]
[archives.archive_settings]
name_template = "{{ .Project }}_extended_withdeploy_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[archives.archive_settings.type]
format = "zip"
extension = ".zip"
[[archives]]
paths = ["builds/**/regular/linux/{arm64,amd64}"]
[archives.archive_settings]
binary_dir = "/usr/local/bin"
extra_files = []
[archives.archive_settings.type]
format = "_plugin"
extension = ".deb"
[archives.archive_settings.plugin]
id = "deb"
type = "gorun"
command = "github.com/gohugoio/hugoreleaser-archive-plugins/deb@v0.6.1"
[archives.archive_settings.custom_settings]
vendor = "gohugo.io"
homepage = "https://github.com/gohugoio/hugo"
maintainer = "Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>"
description = "A fast and flexible Static Site Generator written in Go."
license = "Apache-2.0"
[[archives]]
paths = ["builds/**/extended/linux/{arm64,amd64}"]
[archives.archive_settings]
binary_dir = "/usr/local/bin"
extra_files = []
name_template = "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
[archives.archive_settings.type]
format = "_plugin"
extension = ".deb"
[archives.archive_settings.plugin]
id = "deb"
type = "gorun"
command = "github.com/gohugoio/hugoreleaser-archive-plugins/deb@latest"
[archives.archive_settings.custom_settings]
vendor = "gohugo.io"
homepage = "https://github.com/gohugoio/hugo"
maintainer = "Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>"
description = "A fast and flexible Static Site Generator written in Go."
license = "Apache-2.0"
[[releases]]
paths = ["archives/**"]
path = "r1"
# The above should allow the following build commands:
# hugoreleaser build -paths "builds/container1/**"
# hugoreleaser build -paths "builds/container2/**"
# hugoreleaser archive
# hugoreleaser release