From 442afc9b58e84474092fef20487a8eab859519cd Mon Sep 17 00:00:00 2001 From: Flea Dope Date: Wed, 11 Aug 2021 19:42:36 -0700 Subject: [PATCH 1/2] refactor build code, updated hugo version. --- docker/Dockerfile.linux.amd64 | 20 +++++++++++--------- docker/Dockerfile.linux.arm | 20 +++++++++++--------- docker/Dockerfile.linux.arm64 | 19 ++++++++++--------- docker/scripts/build_hugo.sh | 22 ++++++++++++++++++++++ 4 files changed, 54 insertions(+), 27 deletions(-) create mode 100755 docker/scripts/build_hugo.sh diff --git a/docker/Dockerfile.linux.amd64 b/docker/Dockerfile.linux.amd64 index b55be66..e7b3cb8 100644 --- a/docker/Dockerfile.linux.amd64 +++ b/docker/Dockerfile.linux.amd64 @@ -1,10 +1,12 @@ -FROM amd64/golang:1.14-alpine AS build +ARG GO_VERSION=1.16.7 -RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 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 +FROM amd64/golang:$GO_VERSION-alpine AS hugo_builder + +ARG HUGO_VERSION=0.87.0 + +ADD docker/scripts/build_hugo.sh . + +RUN sh build_hugo.sh $HUGO_VERSION FROM plugins/base:linux-amd64 @@ -16,10 +18,10 @@ LABEL maintainer="Drone.IO Community " \ RUN apk --no-cache add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=64bit -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=$HUGO_VERSION -COPY --from=build /tmp/hugo /bin/hugo -COPY --from=build /tmp/hugo-extended /bin/hugo-extended +COPY --from=hugo_builder /tmp/hugo /bin/hugo +COPY --from=hugo_builder /tmp/hugo-extended /bin/hugo-extended ADD release/linux/amd64/drone-hugo /bin/ ENTRYPOINT ["/bin/drone-hugo"] diff --git a/docker/Dockerfile.linux.arm b/docker/Dockerfile.linux.arm index 0434b8d..1bcb4bc 100644 --- a/docker/Dockerfile.linux.arm +++ b/docker/Dockerfile.linux.arm @@ -1,10 +1,12 @@ -FROM arm32v6/golang:1.14-alpine AS build +ARG GO_VERSION=1.16.7 -RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 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 +FROM arm32v6/golang:$GO_VERSION-alpine AS hugo_builder + +ARG HUGO_VERSION=0.87.0 + +ADD docker/scripts/build_hugo.sh . + +RUN sh build_hugo.sh $HUGO_VERSION FROM plugins/base:linux-arm @@ -16,10 +18,10 @@ LABEL maintainer="Drone.IO Community " \ RUN apk --no-cache add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=arm -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=$HUGO_VERSION -COPY --from=build /tmp/hugo /bin/hugo -COPY --from=build /tmp/hugo-extended /bin/hugo-extended +COPY --from=hugo_builder /tmp/hugo /bin/hugo +COPY --from=hugo_builder /tmp/hugo-extended /bin/hugo-extended ADD release/linux/arm/drone-hugo /bin/ ENTRYPOINT ["/bin/drone-hugo"] diff --git a/docker/Dockerfile.linux.arm64 b/docker/Dockerfile.linux.arm64 index b28dd05..9606c3e 100644 --- a/docker/Dockerfile.linux.arm64 +++ b/docker/Dockerfile.linux.arm64 @@ -1,11 +1,12 @@ -FROM arm64v8/golang:1.14-alpine AS build +ARG GO_VERSION=1.16.7 -RUN apk add --no-cache git build-base && \ - git clone --branch v0.70.0 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 +FROM arm32v6/golang:$GO_VERSION-alpine AS hugo_builder +ARG HUGO_VERSION=0.87.0 + +ADD docker/scripts/build_hugo.sh . + +RUN sh build_hugo.sh $HUGO_VERSION FROM plugins/base:linux-arm64 LABEL maintainer="Drone.IO Community " \ @@ -16,10 +17,10 @@ LABEL maintainer="Drone.IO Community " \ RUN apk --no-cache add git libc6-compat libstdc++ ENV PLUGIN_HUGO_ARCH=arm64 -ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0 +ENV PLUGIN_HUGO_SHIPPED_VERSION=$HUGO_VERSION -COPY --from=build /tmp/hugo /bin/hugo -COPY --from=build /tmp/hugo-extended /bin/hugo-extended +COPY --from=hugo_builder /tmp/hugo /bin/hugo +COPY --from=hugo_builder /tmp/hugo-extended /bin/hugo-extended ADD release/linux/arm64/drone-hugo /bin/ ENTRYPOINT ["/bin/drone-hugo"] diff --git a/docker/scripts/build_hugo.sh b/docker/scripts/build_hugo.sh new file mode 100755 index 0000000..dce3954 --- /dev/null +++ b/docker/scripts/build_hugo.sh @@ -0,0 +1,22 @@ +#! /bin/sh + +set -e + +hugo_version=${HUGO_VERSION:-0.87.0} + +echo "downloading build dependencies..." +apk add -U --no-cache git build-base + +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)" + +echo "downloading hugo version v$hugo_version..." +git clone --branch "v$hugo_version" https://github.com/gohugoio/hugo.git + +echo "building hugo..." +cd hugo + +CGO_ENABLED=0 go build -ldflags "\"$LDFLAGS\"" -o /tmp/hugo . + +CGO_ENABLED=1 go build -tags extended -ldflags "\"$LDFLAGS\"" -o /tmp/hugo-extended + +echo "done." From 6e5809d529a119eef0ffa5f557ff51faec3bb17f Mon Sep 17 00:00:00 2001 From: Samir Faci Date: Tue, 21 Dec 2021 09:44:54 -0600 Subject: [PATCH 2/2] Upgrading Various versions: ChangeLog: - hugo version to 0.91.0 as default. - go version as 1.17 as default. --- docker/Dockerfile.linux.amd64 | 4 ++-- docker/Dockerfile.linux.arm | 4 ++-- docker/Dockerfile.linux.arm64 | 4 ++-- docker/scripts/build_hugo.sh | 2 +- go.mod | 2 ++ pipeline.libsonnet | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docker/Dockerfile.linux.amd64 b/docker/Dockerfile.linux.amd64 index e7b3cb8..16a0439 100644 --- a/docker/Dockerfile.linux.amd64 +++ b/docker/Dockerfile.linux.amd64 @@ -1,8 +1,8 @@ -ARG GO_VERSION=1.16.7 +ARG GO_VERSION=1.17 FROM amd64/golang:$GO_VERSION-alpine AS hugo_builder -ARG HUGO_VERSION=0.87.0 +ARG HUGO_VERSION=0.91.0 ADD docker/scripts/build_hugo.sh . diff --git a/docker/Dockerfile.linux.arm b/docker/Dockerfile.linux.arm index 1bcb4bc..52befd0 100644 --- a/docker/Dockerfile.linux.arm +++ b/docker/Dockerfile.linux.arm @@ -1,8 +1,8 @@ -ARG GO_VERSION=1.16.7 +ARG GO_VERSION=1.17 FROM arm32v6/golang:$GO_VERSION-alpine AS hugo_builder -ARG HUGO_VERSION=0.87.0 +ARG HUGO_VERSION=0.91.0 ADD docker/scripts/build_hugo.sh . diff --git a/docker/Dockerfile.linux.arm64 b/docker/Dockerfile.linux.arm64 index 9606c3e..d80f218 100644 --- a/docker/Dockerfile.linux.arm64 +++ b/docker/Dockerfile.linux.arm64 @@ -1,8 +1,8 @@ -ARG GO_VERSION=1.16.7 +ARG GO_VERSION=1.17 FROM arm32v6/golang:$GO_VERSION-alpine AS hugo_builder -ARG HUGO_VERSION=0.87.0 +ARG HUGO_VERSION=0.91.0 ADD docker/scripts/build_hugo.sh . diff --git a/docker/scripts/build_hugo.sh b/docker/scripts/build_hugo.sh index dce3954..c613c0d 100755 --- a/docker/scripts/build_hugo.sh +++ b/docker/scripts/build_hugo.sh @@ -2,7 +2,7 @@ set -e -hugo_version=${HUGO_VERSION:-0.87.0} +hugo_version=${HUGO_VERSION:-0.91.0} echo "downloading build dependencies..." apk add -U --no-cache git build-base diff --git a/go.mod b/go.mod index 18491f8..fc4c7df 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,7 @@ module github.com/drone-plugins/drone-hugo +go 1.17 + require ( github.com/pkg/errors v0.8.1 github.com/urfave/cli v1.20.0 diff --git a/pipeline.libsonnet b/pipeline.libsonnet index 7f3225b..e5d0e5d 100644 --- a/pipeline.libsonnet +++ b/pipeline.libsonnet @@ -5,7 +5,7 @@ local test_pipeline_name = 'testing'; local windows(os) = os == 'windows'; local golang_image(os, version) = - 'golang:' + '1.14' + if windows(os) then '-windowsservercore-' + version else ''; + 'golang:' + '1.17' + if windows(os) then '-windowsservercore-' + version else ''; { test(os='linux', arch='amd64', version='')::