diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 82d16b5..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,227 +0,0 @@ -version: 2.1 - -executors: - py: - docker: - - image: circleci/python:latest - working_directory: ~/repo - go: - docker: - - image: circleci/golang:latest - working_directory: ~/repo - -workflows: - version: 2 - ci: - jobs: - - checkout: - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - linting: - requires: - - checkout - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - testing: - requires: - - checkout - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - build: - requires: - - testing - - linting - filters: - branches: - only: /.*/ - tags: - ignore: /^v[0-9]+(\.[0-9]+)*$/ - - publishing: - requires: - - testing - - linting - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ - - publish-docs: - requires: - - testing - - linting - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ -jobs: - checkout: - executor: go - steps: - - checkout - - persist_to_workspace: - paths: - - . - root: ~/repo - linting: - executor: go - steps: - - attach_workspace: - at: . - - run: go build . - - run: go get -u golang.org/x/lint/golint - - run: golint -set_exit_status ./... - testing: - executor: go - steps: - - attach_workspace: - at: . - - run: go build ./... - - run: go get github.com/schrej/godacov - - run: go test ./... -coverprofile coverage.out - # - run: godacov -t $CODACY_TOKEN -r ./coverage.out -c $CIRCLE_SHA1 - build: - executor: go - steps: - - attach_workspace: - at: . - - setup_remote_docker - - run: - name: Install Goreleaser - command: | - cd .. && \ - wget https://github.com/goreleaser/goreleaser/releases/download/v0.104.1/goreleaser_Linux_x86_64.tar.gz && \ - tar -xvf goreleaser_Linux_x86_64.tar.gz && \ - ./goreleaser -v - - run: - name: Execute goreleaser - command: CGO_ENABLED=${CGO_ENABLED:-0} ../goreleaser --snapshot --skip-publish --debug - publishing: - executor: go - steps: - - attach_workspace: - at: . - - setup_remote_docker - - run: - name: Install Goreleaser - command: | - cd .. && \ - wget https://github.com/goreleaser/goreleaser/releases/download/v0.104.1/goreleaser_Linux_x86_64.tar.gz && \ - tar -xvf goreleaser_Linux_x86_64.tar.gz && \ - ./goreleaser -v - - run: - name: Login to docker hub - command: | - echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin - - run: - name: Execute goreleaser - command: CGO_ENABLED=${CGO_ENABLED:-0} ../goreleaser --debug - - run: - name: Enable experimental docker features - command: | - mkdir -p ~/.docker/ && \ - echo '{"experimental": "enabled"}' > ~/.docker/config.json - - run: - name: Create manifest for version - command: | - docker manifest create \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:amd64-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $CIRCLE_TAG | sed 's/^v*//') - - run: - name: Annotate i386 version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --os linux \ - --arch 386 - - run: - name: Annotate ARM version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --os linux \ - --arch arm - - run: - name: Annotate ARM64 version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --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: | - echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin && - docker manifest push containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') && \ - docker manifest push containrrr/watchtower:latest - publish-docs: - executor: py - steps: - - attach_workspace: - at: . - - run: - name: Install prerequisites - command: | - sudo pip install \ - mkdocs \ - mkdocs-material \ - md-toc - - add_ssh_keys: - fingerprints: - - '91:75:47:15:b2:8e:85:e5:67:0e:63:7f:22:d2:b4:6e' - - run: - name: Generate and publish - command: | - mkdir ~/.ssh && touch ~/.ssh/known_hosts; - ssh-keyscan -H github.com >> ~/.ssh/known_hosts && \ - mkdocs gh-deploy