From 09ddabd01c2bf7f464c4d69c715dd7394cc73d27 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 14 Apr 2019 21:37:17 +0200 Subject: [PATCH] utilize goreleaser builtins and reformat code --- .circleci/config.yml | 95 ++++++++++++++++++++++++++++++++++---------- goreleaser.yml | 4 ++ 2 files changed, 79 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e95899d..3069b51 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,10 +37,10 @@ workflows: - testing - linting filters: - tags: - ignore: /^v[0-9]+(\.[0-9]+)*$/ branches: only: /.*/ + tags: + ignore: /^v[0-9]+(\.[0-9]+)*$/ - publishing: requires: - testing @@ -115,26 +115,81 @@ jobs: name: Execute goreleaser command: CGO_ENABLED=${CGO_ENABLED:-0} ../goreleaser --debug - run: - name: Docker Manifest + name: Enable experimental docker features command: | mkdir -p ~/.docker/ && \ - echo '{"experimental": "enabled"}' > ~/.docker/config.json && \ - docker manifest create containrrr/watchtower:${CIRCLE_TAG} containrrr/watchtower:amd64-${CIRCLE_TAG} containrrr/watchtower:i386-${CIRCLE_TAG} containrrr/watchtower:armhf-${CIRCLE_TAG} containrrr/watchtower:arm64v8-${CIRCLE_TAG} && \ - docker manifest annotate containrrr/watchtower:${CIRCLE_TAG} containrrr/watchtower:i386-${CIRCLE_TAG} --os linux --arch 386 && \ - docker manifest annotate containrrr/watchtower:${CIRCLE_TAG} containrrr/watchtower:armhf-${CIRCLE_TAG} --os linux --arch arm && \ - docker manifest annotate containrrr/watchtower:${CIRCLE_TAG} containrrr/watchtower:arm64v8-${CIRCLE_TAG} --os linux --arch arm64 --variant v8 && \ - docker tag containrrr/watchtower:amd64-${CIRCLE_TAG} containrrr/watchtower:amd64-latest && \ - docker tag containrrr/watchtower:i386-${CIRCLE_TAG} containrrr/watchtower:i386-latest && \ - docker tag containrrr/watchtower:armhf-${CIRCLE_TAG} containrrr/watchtower:armhf-latest && \ - docker tag containrrr/watchtower:arm64v8-${CIRCLE_TAG} containrrr/watchtower:arm64v8-latest && \ - docker push containrrr/watchtower:amd64-latest && \ - docker push containrrr/watchtower:i386-latest && \ - docker push containrrr/watchtower:armhf-latest && \ - docker push containrrr/watchtower:arm64v8-latest && \ - docker manifest create containrrr/watchtower:latest containrrr/watchtower:amd64-latest containrrr/watchtower:i386-latest containrrr/watchtower:armhf-latest containrrr/watchtower:arm64v8-latest && \ - docker manifest annotate containrrr/watchtower:latest containrrr/watchtower:i386-latest --os linux --arch 386 && \ - docker manifest annotate containrrr/watchtower:latest containrrr/watchtower:armhf-latest --os linux --arch arm && \ - docker manifest annotate containrrr/watchtower:latest containrrr/watchtower:arm64v8-latest --os linux --arch arm64 --variant v8 && \ + echo '{"experimental": "enabled"}' > ~/.docker/config.json + - run: + name: Create manifest for version + command: | + docker manifest create \ + containrrr/watchtower:${CIRCLE_TAG} \ + containrrr/watchtower:amd64-${CIRCLE_TAG} \ + containrrr/watchtower:i386-${CIRCLE_TAG} \ + containrrr/watchtower:armhf-${CIRCLE_TAG} \ + containrrr/watchtower:arm64v8-${CIRCLE_TAG} + - run: + name: Annotate i386 version + command: | + docker manifest annotate \ + containrrr/watchtower:${CIRCLE_TAG} \ + containrrr/watchtower:i386-${CIRCLE_TAG} \ + --os linux \ + --arch 386 + - run: + name: Annotate ARM version + command: | + docker manifest annotate \ + containrrr/watchtower:${CIRCLE_TAG} \ + containrrr/watchtower:armhf-${CIRCLE_TAG} \ + --os linux \ + --arch arm + - run: + name: Annotate ARM64 version + command: | + docker manifest annotate \ + containrrr/watchtower:${CIRCLE_TAG} \ + containrrr/watchtower:arm64v8-${CIRCLE_TAG} \ + --os linux \ + --arch arm64 \ + --variant v8 + - run: + name: Create manifest for latest + command: | + docker manifest create \ + containrrr/watchtower:latest \ + containrrr/watchtower:amd64-latest \ + containrrr/watchtower:i386-latest \ + containrrr/watchtower:armhf-latest \ + containrrr/watchtower:arm64v8-latest + - run: + name: Annotate i386 latest + command: | + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:i386-latest \ + --os linux \ + --arch 386 + - run: + name: Annotate ARM latest + command: | + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:armhf-latest \ + --os linux \ + --arch arm + - run: + name: Annotate ARM64 latest + command: | + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:arm64v8-latest \ + --os linux \ + --arch arm64 \ + --variant v8 + - run: + name: Push manifests to Dockerhub + command: | docker manifest push containrrr/watchtower:${CIRCLE_TAG} && \ docker manifest push containrrr/watchtower:latest - run: diff --git a/goreleaser.yml b/goreleaser.yml index a14933c..4fa3841 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -32,6 +32,7 @@ dockers: dockerfile: Dockerfile image_templates: - containrrr/watchtower:amd64-{{ .Version }} + - containrrr/watchtower:amd64-latest binaries: - watchtower - @@ -41,6 +42,7 @@ dockers: dockerfile: Dockerfile image_templates: - containrrr/watchtower:i386-{{ .Version }} + - containrrr/watchtower:i386-latest binaries: - watchtower - @@ -50,6 +52,7 @@ dockers: dockerfile: Dockerfile image_templates: - containrrr/watchtower:armhf-{{ .Version }} + - containrrr/watchtower:armhf-latest binaries: - watchtower - @@ -59,5 +62,6 @@ dockers: dockerfile: Dockerfile image_templates: - containrrr/watchtower:arm64v8-{{ .Version }} + - containrrr/watchtower:arm64v8-latest binaries: - watchtower