project = "hugo" [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" [archive_settings.replacements] amd64 = "64bit" 386 = "32bit" arm = "ARM" arm64 = "ARM64" darwin = "macOS" linux = "Linux" windows = "Windows" openbsd = "OpenBSD" netbsd = "NetBSD" freebsd = "FreeBSD" dragonfly = "DragonFlyBSD" [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 relases 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 = "Bug fixes", regexp = "fix", ordinal = 10 }, { 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]] 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 = "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" [[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]] # 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/**/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.5.0" [archives.archive_settings.custom_settings] vendor = "gohugo.io" homepage = "https://github.com/gohugoio/hugoreleaser" maintainer = "Bjørn Erik Pedersen " description = "Build, archive and release Go programs." 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/hugoreleaser" maintainer = "Bjørn Erik Pedersen " description = "Build, archive and release Go programs." 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