From 5bb893c04e7defff3d404f4aef1e6ecd64abbf15 Mon Sep 17 00:00:00 2001 From: AzurCrystal Date: Wed, 3 Aug 2022 00:12:34 +0800 Subject: [PATCH 1/6] remove drone-hugo validate arg The dependence of drone-hugo validate, hugo check, was removed since v0.92.0. As the hugo check does nothing in fact, a removal of command validate could be considered. - removed command validate in main.go and plugin_test.go - removed unused github.com/pkg/errors in plugin_test.go --- main.go | 6 ------ plugin_test.go | 29 ----------------------------- 2 files changed, 35 deletions(-) diff --git a/main.go b/main.go index 2c52800..0e8891d 100644 --- a/main.go +++ b/main.go @@ -81,11 +81,6 @@ func main() { EnvVar: "PLUGIN_URL", Value: "", }, - cli.BoolFlag{ - Name: "validate", - Usage: "validate config file before generation", - EnvVar: "PLUGIN_VALIDATE", - }, cli.StringFlag{ Name: "hugoversion", Usage: "the hugo version to be used", @@ -110,7 +105,6 @@ func run(c *cli.Context) error { Drafts: c.Bool("drafts"), Expired: c.Bool("expired"), Future: c.Bool("future"), - Validate: c.Bool("validate"), Config: c.String("config"), Content: c.String("content"), Layout: c.String("layout"), diff --git a/plugin_test.go b/plugin_test.go index 2cf047e..d940abf 100644 --- a/plugin_test.go +++ b/plugin_test.go @@ -2,28 +2,8 @@ package main import ( "testing" - - "github.com/pkg/errors" ) -func TestCommandValidate(t *testing.T) { - config := Config{Validate: true} - want := []string{"hugo", "check"} - got := commandValidate(config) - - if err := argsEqual(want, got.Args); err != nil { - t.Errorf("%s", err) - } - - config = Config{Validate: true, Config: "config.toml"} - want = []string{"hugo", "check", "--config", "config.toml"} - got = commandValidate(config) - - if err := argsEqual(want, got.Args); err != nil { - t.Errorf("%s", err) - } -} - func TestVersionEqual(t *testing.T) { want := true if got := versionsEqual("1.0", "1.0"); want != got { @@ -35,12 +15,3 @@ func TestVersionEqual(t *testing.T) { t.Errorf("want: %t, got: %t", want, got) } } - -func argsEqual(want []string, got []string) error { - for i := range want { - if want[i] != got[i] { - return errors.Errorf("Arguments do not match, want: %s, got: %s", want[i], got[i]) - } - } - return nil -} From f692e3cc44b5aaee75a0dc03ce32b4f8d490b110 Mon Sep 17 00:00:00 2001 From: AzurCrystal Date: Wed, 3 Aug 2022 00:32:00 +0800 Subject: [PATCH 2/6] update go.mod - This is auto generated by vscode GO plugin. - Updated urfave/cli from v1.20.0 to v1.22.9. - Removed unused pkg/errors. --- go.mod | 10 ++++++++-- go.sum | 17 +++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 18491f8..b4e8482 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,12 @@ module github.com/drone-plugins/drone-hugo +go 1.18 + require ( - github.com/pkg/errors v0.8.1 - github.com/urfave/cli v1.20.0 + github.com/urfave/cli v1.22.9 +) + +require ( + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect ) diff --git a/go.sum b/go.sum index 46b4788..aa14eef 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,13 @@ -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/urfave/cli v1.22.9 h1:cv3/KhXGBGjEXLC4bH0sLuJ9BewaAbpk5oyMOveu4pw= +github.com/urfave/cli v1.22.9/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From c10a8fc610ad4aa1b6e168da2283f8d179d7142a Mon Sep 17 00:00:00 2001 From: AzurCrystal Date: Wed, 3 Aug 2022 00:34:24 +0800 Subject: [PATCH 3/6] use go 1.18.3 on all places As the docker built-in hugo and drone plugin uses go 1.18.3 as dependence, drone.yml was modified to use go 1.18.3 either. - All golang/1.14 was replaced by golang/1.18.3. --- .drone.windows.yml | 16 ++++++++-------- .drone.yml | 22 +++++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.drone.windows.yml b/.drone.windows.yml index 1f7346a..5d2f8cc 100644 --- a/.drone.windows.yml +++ b/.drone.windows.yml @@ -10,7 +10,7 @@ platform: steps: - name: vet pull: always - image: golang:1.14-windowsservercore-1803 + image: golang:1.18.3-windowsservercore-1803 commands: - go vet ./... environment: @@ -21,7 +21,7 @@ steps: - name: test pull: always - image: golang:1.14-windowsservercore-1803 + image: golang:1.18.3-windowsservercore-1803 commands: - go test -cover ./... environment: @@ -52,7 +52,7 @@ platform: steps: - name: build-push pull: always - image: golang:1.14-windowsservercore-1803 + image: golang:1.18.3-windowsservercore-1803 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe" environment: @@ -65,7 +65,7 @@ steps: - name: build-tag pull: always - image: golang:1.14-windowsservercore-1803 + image: golang:1.18.3-windowsservercore-1803 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe" environment: @@ -77,7 +77,7 @@ steps: - name: executable pull: always - image: golang:1.14-windowsservercore-1803 + image: golang:1.18.3-windowsservercore-1803 commands: - ./release/windows/amd64/drone-hugo.exe --help @@ -148,7 +148,7 @@ platform: steps: - name: build-push pull: always - image: golang:1.14-windowsservercore-1809 + image: golang:1.18.3-windowsservercore-1809 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe" environment: @@ -161,7 +161,7 @@ steps: - name: build-tag pull: always - image: golang:1.14-windowsservercore-1809 + image: golang:1.18.3-windowsservercore-1809 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe" environment: @@ -173,7 +173,7 @@ steps: - name: executable pull: always - image: golang:1.14-windowsservercore-1809 + image: golang:1.18.3-windowsservercore-1809 commands: - ./release/windows/amd64/drone-hugo.exe --help diff --git a/.drone.yml b/.drone.yml index 202f5fb..5bc80c2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,7 +9,7 @@ platform: steps: - name: vet pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - go vet ./... environment: @@ -20,7 +20,7 @@ steps: - name: test pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - go test -cover ./... environment: @@ -50,7 +50,7 @@ platform: steps: - name: build-push pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-hugo" environment: @@ -63,7 +63,7 @@ steps: - name: build-tag pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-hugo" environment: @@ -75,7 +75,7 @@ steps: - name: executable pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - ./release/linux/amd64/drone-hugo --help @@ -134,7 +134,7 @@ platform: steps: - name: build-push pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-hugo" environment: @@ -147,7 +147,7 @@ steps: - name: build-tag pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-hugo" environment: @@ -159,7 +159,7 @@ steps: - name: executable pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - ./release/linux/arm64/drone-hugo --help @@ -218,7 +218,7 @@ platform: steps: - name: build-push pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-hugo" environment: @@ -231,7 +231,7 @@ steps: - name: build-tag pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-hugo" environment: @@ -243,7 +243,7 @@ steps: - name: executable pull: always - image: golang:1.14 + image: golang:1.18.3 commands: - ./release/linux/arm/drone-hugo --help From 84b352b4ec27e4814ee4d016e4fc19b488fd536c Mon Sep 17 00:00:00 2001 From: TP Honey Date: Tue, 2 Aug 2022 11:49:55 +0100 Subject: [PATCH 4/6] remove microbadger from build. --- .drone.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5bc80c2..56e4a57 100644 --- a/.drone.yml +++ b/.drone.yml @@ -311,13 +311,6 @@ steps: username: from_secret: docker_username -- name: microbadger - pull: always - image: plugins/webhook - settings: - url: - from_secret: microbadger_url - trigger: ref: - refs/heads/master From 748a401ceca114675473425ccced091722c83efd Mon Sep 17 00:00:00 2001 From: AzurCrystal Date: Wed, 3 Aug 2022 00:45:29 +0800 Subject: [PATCH 5/6] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 75d0eda..3a7018b 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,6 @@ docker run --rm \ -e PLUGIN_SOURCE=false \ -e PLUGIN_THEME=false \ -e PLUGIN_OUTPUT=false \ - -e PLUGIN_VALIDATE=false \ -v $(pwd):$(pwd) \ -w $(pwd) \ plugins/hugo:latest From e16f04fcf3c557b6c1b048e1200e785d76e9f52e Mon Sep 17 00:00:00 2001 From: AzurCrystal Date: Wed, 3 Aug 2022 00:27:40 +0800 Subject: [PATCH 6/6] add args for dockerfile & update go/hugo versions - Replaced hard-coded golang version and hugo version with GO_VERSION and HUGO_VERSION args. - Update builtin HUGO_VERSION from 0.70.0 to 0.101.0. - Update GO_VERSION from 1.14 to 1.18.3. replace libstdc++ source from v3.15 to edge hugo-extended compiled by go1.18.3 needs libstdc++ v11.2.1 provided by the alpine edge repo. - Changed repository of apk add command in dockerfiles. --- docker/Dockerfile.linux.amd64 | 12 ++++++++---- docker/Dockerfile.linux.arm | 12 ++++++++---- docker/Dockerfile.linux.arm64 | 12 ++++++++---- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/docker/Dockerfile.linux.amd64 b/docker/Dockerfile.linux.amd64 index b55be66..d77eaac 100644 --- a/docker/Dockerfile.linux.amd64 +++ b/docker/Dockerfile.linux.amd64 @@ -1,7 +1,11 @@ -FROM amd64/golang:1.14-alpine AS build +ARG GO_VERSION=1.18.3 + +FROM amd64/golang:$GO_VERSION-alpine AS build + +ARG HUGO_VERSION=0.101.0 RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 https://github.com/gohugoio/hugo.git && \ + git clone --branch v$HUGO_VERSION https://github.com/gohugoio/hugo.git && \ cd hugo/ && \ CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo . && \ CGO_ENABLED=1 go build -tags extended -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo-extended @@ -13,10 +17,10 @@ LABEL maintainer="Drone.IO Community " \ org.label-schema.vendor="Drone.IO Community" \ org.label-schema.schema-version="1.0" -RUN apk --no-cache add git libc6-compat libstdc++ +RUN apk --no-cache --repository http://nl.alpinelinux.org/alpine/edge/main add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=64bit -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=0.101.0 COPY --from=build /tmp/hugo /bin/hugo COPY --from=build /tmp/hugo-extended /bin/hugo-extended diff --git a/docker/Dockerfile.linux.arm b/docker/Dockerfile.linux.arm index 0434b8d..218bcd4 100644 --- a/docker/Dockerfile.linux.arm +++ b/docker/Dockerfile.linux.arm @@ -1,7 +1,11 @@ -FROM arm32v6/golang:1.14-alpine AS build +ARG GO_VERSION=1.18.3 + +FROM arm32v6/golang:$GO_VERSION-alpine AS build + +ARG HUGO_VERSION=0.101.0 RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 https://github.com/gohugoio/hugo.git && \ + git clone --branch v$HUGO_VERSION https://github.com/gohugoio/hugo.git && \ cd hugo/ && \ CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo . && \ CGO_ENABLED=1 go build -tags extended -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo-extended @@ -13,10 +17,10 @@ LABEL maintainer="Drone.IO Community " \ org.label-schema.vendor="Drone.IO Community" \ org.label-schema.schema-version="1.0" -RUN apk --no-cache add git libc6-compat libstdc++ +RUN apk --no-cache --repository http://nl.alpinelinux.org/alpine/edge/main add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=arm -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=0.101.0 COPY --from=build /tmp/hugo /bin/hugo COPY --from=build /tmp/hugo-extended /bin/hugo-extended diff --git a/docker/Dockerfile.linux.arm64 b/docker/Dockerfile.linux.arm64 index b28dd05..a249e3b 100644 --- a/docker/Dockerfile.linux.arm64 +++ b/docker/Dockerfile.linux.arm64 @@ -1,7 +1,11 @@ -FROM arm64v8/golang:1.14-alpine AS build +ARG GO_VERSION=1.18.3 + +FROM arm64v8/golang:$GO_VERSION-alpine AS build + +ARG HUGO_VERSION=0.101.0 RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 https://github.com/gohugoio/hugo.git && \ + git clone --branch v$HUGO_VERSION https://github.com/gohugoio/hugo.git && \ cd hugo/ && \ CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo . && \ CGO_ENABLED=1 go build -tags extended -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo-extended @@ -13,10 +17,10 @@ LABEL maintainer="Drone.IO Community " \ org.label-schema.vendor="Drone.IO Community" \ org.label-schema.schema-version="1.0" -RUN apk --no-cache add git libc6-compat libstdc++ +RUN apk --no-cache --repository http://nl.alpinelinux.org/alpine/edge/main add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=arm64 -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=0.101.0 COPY --from=build /tmp/hugo /bin/hugo COPY --from=build /tmp/hugo-extended /bin/hugo-extended