diff --git a/.circleci/config.yml b/.circleci/config.yml index 9505556f9..f34d91ce4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,15 @@ workflows: - test - coverage - lint - - deploy: + - deploy_github_release: + requires: + - test + - coverage + - lint + filters: + branches: + only: master + - deploy_docker: requires: - test - coverage @@ -68,7 +76,8 @@ jobs: key: v1-gometalinter-{{ checksum "/go/bin/gometalinter" }} paths: [/go/bin/*] - deploy: + deploy_github_release: + working_directory: /go/src/github.com/circleci/circleci-cli docker: - image: circleci/golang:1.10 environment: @@ -97,3 +106,28 @@ jobs: - save_cache: key: v2-goreleaser-{{ checksum "~/goreleaser_amd64.deb" }} paths: [~/goreleaser_amd64.deb] + + deploy_docker: + docker: + - image: circleci/command-convenience:0.1.392-2e3ae33 + environment: + NAME: circleci-cli + CONTAINER_ORG: circlecidx + DOCKERFILE_PATH: Dockerfile + DOCKER_REGISTRY: dockerhub + working_directory: /go/src/github.com/circleci/circleci-cli + steps: + - setup_docker_engine: + docker_layer_caching: true + - checkout + - run: + name: Build the binary + command: make + - run: + name: Build and push circleci-cli image + command: publish + - run: + name: Update the "latest" tag + command: publish + environment: + CONTAINER_VERSION: latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..18a104906 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM circleci/golang:1.10.3 + +COPY build/linux/amd64/circleci-cli /usr/local/bin/ diff --git a/Makefile b/Makefile index ef62acb69..6e25fbd62 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ VERSION=0.1 GOFILES = $(shell find . -name '*.go' -not -path './vendor/*') -OS = $(shell uname) +OS ?= $(shell uname) CLIPATH=github.com/CircleCI-Public/circleci-cli diff --git a/cmd/config.go b/cmd/config.go index 509d89458..d6022df8e 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -123,6 +123,7 @@ func configQuery(ctx context.Context) (*buildConfigResponse, error) { } func validateConfig(cmd *cobra.Command, args []string) error { + ctx := context.Background() response, err := configQuery(ctx) @@ -140,6 +141,7 @@ func validateConfig(cmd *cobra.Command, args []string) error { func expandConfig(cmd *cobra.Command, args []string) error { ctx := context.Background() + response, err := configQuery(ctx) if err != nil {