aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2024-12-22 16:55:52 +0100
committerGitHub <[email protected]>2024-12-22 16:55:52 +0100
commit48a7aee961de83ce5ee1b9ada06567878665a795 (patch)
tree8c50901917a68a58f1d7c15a1aab0cd4ae26787e
parent6c583e322759228d65c4a7576515e19b43f67bc2 (diff)
downloadhugo-48a7aee961de83ce5ee1b9ada06567878665a795.tar.gz
hugo-48a7aee961de83ce5ee1b9ada06567878665a795.zip
release: Add withdeploy deb extended archives
Also refactor and get the config up to date for new version of Hugoreleaser. Closes #13166
-rw-r--r--.circleci/config.yml4
-rw-r--r--hugoreleaser.toml307
-rw-r--r--hugoreleaser.yaml272
3 files changed, 274 insertions, 309 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 849d08ad4..f7a47a64b 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -4,7 +4,7 @@ parameters:
defaults: &defaults
resource_class: large
docker:
- - image: bepsays/ci-hugoreleaser:1.22300.20400
+ - image: bepsays/ci-hugoreleaser:1.22301.20401
environment: &buildenv
GOMODCACHE: /root/project/gomodcache
version: 2
@@ -58,7 +58,7 @@ jobs:
environment:
<<: [*buildenv]
docker:
- - image: bepsays/ci-hugoreleaser-linux-arm64:1.22300.20400
+ - image: bepsays/ci-hugoreleaser-linux-arm64:1.22301.20401
steps:
- *restore-cache
- &attach-workspace
diff --git a/hugoreleaser.toml b/hugoreleaser.toml
deleted file mode 100644
index c5b7910bd..000000000
--- a/hugoreleaser.toml
+++ /dev/null
@@ -1,307 +0,0 @@
-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 = "container2/linux/extended-withdeploy"
-
- [builds.build_settings]
- flags = ["-buildmode", "exe", "-tags", "extended,withdeploy"]
-
- [[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]]
- paths = ["builds/container2/*/extended/**"]
- [archives.archive_settings]
- name_template = "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
-[[archives]]
- paths = ["builds/container2/*/extended-withdeploy/**"]
- [archives.archive_settings]
- name_template = "{{ .Project }}_extended_withdeploy_{{ .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/[email protected]"
- [archives.archive_settings.custom_settings]
- vendor = "gohugo.io"
- homepage = "https://github.com/gohugoio/hugo"
- maintainer = "Bjørn Erik Pedersen <[email protected]>"
- 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 <[email protected]>"
- 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
diff --git a/hugoreleaser.yaml b/hugoreleaser.yaml
new file mode 100644
index 000000000..368bc898f
--- /dev/null
+++ b/hugoreleaser.yaml
@@ -0,0 +1,272 @@
+project: hugo
+
+# Common definitions.
+definitions:
+ archive_type_zip: &archive_type_zip
+ type:
+ format: zip
+ extension: .zip
+ env_extended_linux: &env_extended_linux
+ - CGO_ENABLED=1
+ - CC=aarch64-linux-gnu-gcc
+ - CXX=aarch64-linux-gnu-g++
+ env_extended_windows: &env_extended_windows
+ - CGO_ENABLED=1
+ - CC=x86_64-w64-mingw32-gcc
+ - CXX=x86_64-w64-mingw32-g++
+ env_extended_darwin: &env_extended_darwin
+ - CGO_ENABLED=1
+ - CC=o64-clang
+ - CXX=o64-clang++
+ name_template_extended_withdeploy: &name_template_extended_withdeploy "{{ .Project }}_extended_withdeploy_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
+ name_template_extended: &name_template_extended "{{ .Project }}_extended_{{ .Tag | trimPrefix `v` }}_{{ .Goos }}-{{ .Goarch }}"
+ archive_deb: &archive_deb
+ binary_dir: /usr/local/bin
+ extra_files: []
+ type:
+ format: _plugin
+ extension: .deb
+ plugin:
+ id: deb
+ type: gorun
+ command: github.com/gohugoio/hugoreleaser-archive-plugins/deb@latest
+ custom_settings:
+ vendor: gohugo.io
+ homepage: https://github.com/gohugoio/hugo
+ maintainer: Bjørn Erik Pedersen <[email protected]>
+ description: A fast and flexible Static Site Generator written in Go.
+ license: Apache-2.0
+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
+ type:
+ format: tar.gz
+ extension: .tar.gz
+release_settings:
+ name: ${HUGORELEASER_TAG}
+ type: github
+ repository: hugo
+ repository_owner: gohugoio
+ draft: true
+ prerelease: false
+ release_notes_settings:
+ generate: true
+ short_threshold: 10
+ short_title: What's Changed
+ groups:
+ - 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
+ os:
+ - goos: darwin
+ archs:
+ - goarch: universal
+ - goos: linux
+ archs:
+ - goarch: amd64
+ - goarch: arm64
+ - goarch: arm
+ build_settings:
+ env:
+ - CGO_ENABLED=0
+ - GOARM=7
+ - goos: dragonfly
+ archs:
+ - goarch: amd64
+ - goos: freebsd
+ archs:
+ - goarch: amd64
+ - goos: netbsd
+ archs:
+ - goarch: amd64
+ - goos: openbsd
+ archs:
+ - goarch: amd64
+ - goos: solaris
+ archs:
+ - goarch: amd64
+ - path: container1/unix/extended
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended
+ env:
+ - CGO_ENABLED=1
+ os:
+ - goos: darwin
+ build_settings:
+ env: *env_extended_darwin
+ archs:
+ - goarch: universal
+ - goos: linux
+ archs:
+ - goarch: amd64
+ - path: container1/unix/extended-withdeploy
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended,withdeploy
+ env:
+ - CGO_ENABLED=1
+ os:
+ - goos: darwin
+ build_settings:
+ env: *env_extended_darwin
+ archs:
+ - goarch: universal
+ - goos: linux
+ archs:
+ - goarch: amd64
+ - path: container2/linux/extended
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended
+ os:
+ - goos: linux
+ build_settings:
+ env: *env_extended_linux
+ archs:
+ - goarch: arm64
+ - path: container2/linux/extended-withdeploy
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended,withdeploy
+ os:
+ - goos: linux
+ build_settings:
+ env: *env_extended_linux
+ archs:
+ - goarch: arm64
+ - path: container1/windows/regular
+ os:
+ - goos: windows
+ build_settings:
+ binary: hugo.exe
+ archs:
+ - goarch: amd64
+ - goarch: arm64
+ - path: container1/windows/extended
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended
+ env: *env_extended_windows
+ ldflags: -s -w -X github.com/gohugoio/hugo/common/hugo.vendorInfo=gohugoio -extldflags '-static'
+ os:
+ - goos: windows
+ build_settings:
+ binary: hugo.exe
+ archs:
+ - goarch: amd64
+ - path: container1/windows/extended-withdeploy
+ build_settings:
+ flags:
+ - -buildmode
+ - exe
+ - -tags
+ - extended,withdeploy
+ env: *env_extended_windows
+ ldflags: -s -w -X github.com/gohugoio/hugo/common/hugo.vendorInfo=gohugoio -extldflags '-static'
+ os:
+ - goos: windows
+ build_settings:
+ binary: hugo.exe
+ archs:
+ - goarch: amd64
+archives:
+ - paths:
+ - builds/container1/unix/regular/**
+ - paths:
+ - builds/container1/unix/extended/**
+ archive_settings:
+ name_template: *name_template_extended
+ - paths:
+ - builds/container1/unix/extended-withdeploy/**
+ archive_settings:
+ name_template: *name_template_extended_withdeploy
+ - paths:
+ - builds/container2/*/extended/**
+ archive_settings:
+ name_template: *name_template_extended
+ - paths:
+ - builds/container2/*/extended-withdeploy/**
+ archive_settings:
+ name_template: *name_template_extended_withdeploy
+ - paths:
+ - builds/**/windows/regular/**
+ archive_settings: *archive_type_zip
+ - paths:
+ - builds/**/windows/extended/**
+ archive_settings:
+ name_template: *name_template_extended
+ <<: *archive_type_zip
+ - paths:
+ - builds/**/windows/extended-withdeploy/**
+ archive_settings:
+ name_template: *name_template_extended_withdeploy
+ <<: *archive_type_zip
+ - paths:
+ - builds/**/regular/linux/{arm64,amd64}
+ archive_settings: *archive_deb
+ - paths:
+ - builds/**/extended/linux/{arm64,amd64}
+ archive_settings:
+ name_template: *name_template_extended
+ <<: *archive_deb
+ - paths:
+ - builds/**/extended-withdeploy/linux/{arm64,amd64}
+ archive_settings:
+ name_template: *name_template_extended_withdeploy
+ <<: *archive_deb
+releases:
+ - paths:
+ - archives/**
+ path: r1