From 48a7aee961de83ce5ee1b9ada06567878665a795 Mon Sep 17 00:00:00 2001 From: Bjørn Erik Pedersen Date: Sun, 22 Dec 2024 16:55:52 +0100 Subject: release: Add withdeploy deb extended archives Also refactor and get the config up to date for new version of Hugoreleaser. Closes #13166 --- .circleci/config.yml | 4 +- hugoreleaser.toml | 307 --------------------------------------------------- hugoreleaser.yaml | 272 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 274 insertions(+), 309 deletions(-) delete mode 100644 hugoreleaser.toml create mode 100644 hugoreleaser.yaml 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/deb@v0.6.1" - [archives.archive_settings.custom_settings] - vendor = "gohugo.io" - homepage = "https://github.com/gohugoio/hugo" - maintainer = "Bjørn Erik Pedersen " - 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 " - 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 + 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 -- cgit v1.2.3