]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
release: Add withdeploy deb extended archives
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 22 Dec 2024 15:55:52 +0000 (16:55 +0100)
committerGitHub <noreply@github.com>
Sun, 22 Dec 2024 15:55:52 +0000 (16:55 +0100)
Also refactor and get the config up to date for new version of Hugoreleaser.

Closes #13166

.circleci/config.yml
hugoreleaser.toml [deleted file]
hugoreleaser.yaml [new file with mode: 0644]

index 849d08ad4923a1d700991e471d1114e7583008e7..f7a47a64b3a2c8a87face5890f66c0fe3adde746 100644 (file)
@@ -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 (file)
index c5b7910..0000000
+++ /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 <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
diff --git a/hugoreleaser.yaml b/hugoreleaser.yaml
new file mode 100644 (file)
index 0000000..368bc89
--- /dev/null
@@ -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 <bjorn.erik.pedersen@gmail.com>
+      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