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 = "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.6.1" [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