diff --git a/.circleci/build.yml b/.circleci/build.yml deleted file mode 100644 index 33a83c637..000000000 --- a/.circleci/build.yml +++ /dev/null @@ -1,90 +0,0 @@ -# To expand config: -# go run main.go config expand --path .circleci/build.yml > .circleci/config.yml - -version: 2 - -orbs: - codecov: circleci/codecov-clojure@0.0.2 - -executors: - go: - docker: - - image: circleci/golang:1.10 - working_directory: /go/src/github.com/CircleCI-Public/circleci-cli - -workflows: - version: 2 - ci: - jobs: - - test - - coverage - - lint - - deploy: - requires: - - test - - coverage - - lint - filters: - branches: - only: master - -jobs: - test: - executor: go - steps: - - checkout - - run: make test - coverage: - executor: go - steps: - - checkout - - run: make cover - - store_artifacts: - path: ./coverage.txt - destination: coverage.txt - - codecov/upload: - path: coverage.txt - lint: - docker: - - image: supinf/gometalinter:latest - environment: - CGO_ENABLED: 0 - working_directory: /go/src/github.com/CircleCI-Public/circleci-cli - steps: - - checkout - - run: gometalinter --deadline 60s --vendor ./... - - deploy: - executor: go - environment: - GORELEASER_URL: https://github.com/goreleaser/goreleaser/releases/download/v0.77.1/goreleaser_amd64.deb - steps: - - checkout - - restore_cache: - keys: [v2-goreleaser-] - - run: - name: Install GoReleaser - command: | - [ -f ~/goreleaser_amd64.db ] || curl --silent --location --fail --retry 3 $GORELEASER_URL > ~/goreleaser_amd64.deb - sudo apt install ~/goreleaser_amd64.deb - - run: - name: Tag Repo - command: | - git config --global user.email "marc@circleci.com" - git config --global user.name "Marc O'Morain" - git tag -a "v0.1.$CIRCLE_BUILD_NUM" -m "Release v0.1.$CIRCLE_BUILD_NUM" - git push origin "v0.1.$CIRCLE_BUILD_NUM" - - run: - name: Release - command: goreleaser - - setup_remote_docker: - docker_layer_caching: true - - run: - name: Build Docker Image - command: | - docker build -t circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM . - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD - docker push circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM - - save_cache: - key: v2-goreleaser-{{ checksum "~/goreleaser_amd64.deb" }} - paths: [~/goreleaser_amd64.deb] diff --git a/.circleci/config.yml b/.circleci/config.yml index 23c1a8526..71a2a74f7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,97 +1,86 @@ version: 2 -jobs: - test: + +orbs: + codecov: circleci/codecov-clojure@0.0.2 + +executors: + go: docker: - - image: circleci/golang:1.10 + - image: circleci/golang:1.10 working_directory: /go/src/github.com/CircleCI-Public/circleci-cli + +jobs: + test: + executor: go steps: - - checkout - - run: - command: make test + - checkout + - run: make test coverage: - docker: - - image: circleci/golang:1.10 - working_directory: /go/src/github.com/CircleCI-Public/circleci-cli + executor: go steps: - - checkout - - run: - command: make cover - - store_artifacts: - path: ./coverage.txt - destination: coverage.txt - - run: - name: Upload Coverage Results - command: | - curl --request POST --retry 3 --silent --show-error --fail --data-binary @coverage.txt \ - "https://codecov.io/upload/v2?service=circleci\ - &token=$CODECOV_TOKEN\ - &commit=$CIRCLE_SHA1\ - &branch=$CIRCLE_BRANCH\ - &build=$CIRCLE_BUILD_NUM\ - &job=$CIRCLE_NODE_INDEX\ - &build_url=$CIRCLE_BUILD_URL\ - &slug=$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME\ - &pr=$CIRCLE_PR_NUMBER" + - checkout + - run: make cover + - store_artifacts: + path: ./coverage.txt + destination: coverage.txt + - codecov/upload: + path: coverage.txt + lint: docker: - - image: supinf/gometalinter:latest - environment: - CGO_ENABLED: 0 + - image: supinf/gometalinter:latest working_directory: /go/src/github.com/CircleCI-Public/circleci-cli steps: - - checkout - - run: - command: gometalinter --deadline 60s --vendor ./... + - checkout + - run: gometalinter --deadline 60s --exclude=/usr/local/go/ --exclude ^vendor ./... + deploy: - docker: - - image: circleci/golang:1.10 - working_directory: /go/src/github.com/CircleCI-Public/circleci-cli + executor: go environment: GORELEASER_URL: https://github.com/goreleaser/goreleaser/releases/download/v0.77.1/goreleaser_amd64.deb steps: - - checkout - - restore_cache: - keys: - - v2-goreleaser- - - run: - name: Install GoReleaser - command: | - [ -f ~/goreleaser_amd64.db ] || curl --silent --location --fail --retry 3 $GORELEASER_URL > ~/goreleaser_amd64.deb - sudo apt install ~/goreleaser_amd64.deb - - run: - name: Tag Repo - command: | - git config --global user.email "marc@circleci.com" - git config --global user.name "Marc O'Morain" - git tag -a "v0.1.$CIRCLE_BUILD_NUM" -m "Release v0.1.$CIRCLE_BUILD_NUM" - git push origin "v0.1.$CIRCLE_BUILD_NUM" - - run: - name: Release - command: goreleaser - - setup_remote_docker: - docker_layer_caching: true - - run: - name: Build Docker Image - command: | - docker build -t circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM . - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD - docker push circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM - - save_cache: - key: v2-goreleaser-{{ checksum "~/goreleaser_amd64.deb" }} - paths: - - ~/goreleaser_amd64.deb + - checkout + - restore_cache: + keys: [v2-goreleaser-] + - run: + name: Install GoReleaser + command: | + [ -f ~/goreleaser_amd64.db ] || curl --silent --location --fail --retry 3 $GORELEASER_URL > ~/goreleaser_amd64.deb + sudo apt install ~/goreleaser_amd64.deb + - run: + name: Tag Repo + command: | + git config --global user.email "marc@circleci.com" + git config --global user.name "Marc O'Morain" + git tag -a "v0.1.$CIRCLE_BUILD_NUM" -m "Release v0.1.$CIRCLE_BUILD_NUM" + git push origin "v0.1.$CIRCLE_BUILD_NUM" + - run: + name: Release + command: goreleaser + - setup_remote_docker: + docker_layer_caching: true + - run: + name: Build Docker Image + command: | + docker build -t circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM . + docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD + docker push circlecidx/circleci-cli:0.1.$CIRCLE_BUILD_NUM + - save_cache: + key: v2-goreleaser-{{ checksum "~/goreleaser_amd64.deb" }} + paths: [~/goreleaser_amd64.deb] + workflows: version: 2 ci: jobs: - - test - - coverage - - lint - - deploy: - filters: - branches: - only: master - requires: - - test - - coverage - - lint + - test + - coverage + - lint + - deploy: + requires: + - test + - coverage + - lint + filters: + branches: + only: master