diff --git a/.circleci/config.yml b/.circleci/config.yml index 9c934cd1..c9ad1b5c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,5 +1,44 @@ version: 2.1 jobs: + + build-binary: + docker: + - image: circleci/golang:1.12 + working_directory: /build + steps: + - checkout + - restore_cache: + keys: + - go-mod-{{ checksum "go.sum" }} + - run: | + CGO_ENABLED=0 GOOS=linux go build \ + -ldflags "-s -w -X github.com/weaveworks/flagger/pkg/version.REVISION=${CIRCLE_SHA1}" \ + -a -installsuffix cgo -o flagger ./cmd/flagger/* + ./flagger -version + - save_cache: + key: go-mod-{{ checksum "go.sum" }} + paths: + - "/go/pkg/mod/" + - persist_to_workspace: + root: workspace + paths: + - flagger + + build-container: + docker: + - image: circleci/golang:1.12 + working_directory: /build + steps: + - checkout + - setup_remote_docker: + docker_layer_caching: true + - attach_workspace: + at: /tmp/workspace + - run: | + cp /tmp/workspace/flagger . + chmod +x flagger + docker build -t weaveworks/flagger:${CIRCLE_SHA1} . -f ./test/Dockerfile.ci + e2e-istio-testing: machine: true steps: @@ -49,38 +88,43 @@ workflows: version: 2 build-and-test: jobs: - - e2e-istio-testing: - filters: - branches: - ignore: - - /gh-pages.*/ - - /docs-.*/ - - /release-.*/ - - e2e-smi-istio-testing: - filters: - branches: - ignore: - - /gh-pages.*/ - - /docs-.*/ - - /release-.*/ - - e2e-supergloo-testing: - filters: - branches: - ignore: - - /gh-pages.*/ - - /docs-.*/ - - /release-.*/ - - e2e-nginx-testing: - filters: - branches: - ignore: - - /gh-pages.*/ - - /docs-.*/ - - /release-.*/ - - e2e-gloo-testing: - filters: - branches: - ignore: - - /gh-pages.*/ - - /docs-.*/ - - /release-.*/ \ No newline at end of file + - buid-binary + - build-container + requires: + - build-binary + +# - e2e-istio-testing: +# filters: +# branches: +# ignore: +# - /gh-pages.*/ +# - /docs-.*/ +# - /release-.*/ +# - e2e-smi-istio-testing: +# filters: +# branches: +# ignore: +# - /gh-pages.*/ +# - /docs-.*/ +# - /release-.*/ +# - e2e-supergloo-testing: +# filters: +# branches: +# ignore: +# - /gh-pages.*/ +# - /docs-.*/ +# - /release-.*/ +# - e2e-nginx-testing: +# filters: +# branches: +# ignore: +# - /gh-pages.*/ +# - /docs-.*/ +# - /release-.*/ +# - e2e-gloo-testing: +# filters: +# branches: +# ignore: +# - /gh-pages.*/ +# - /docs-.*/ +# - /release-.*/ \ No newline at end of file diff --git a/test/Dockerfile.ci b/test/Dockerfile.ci new file mode 100644 index 00000000..f2c784b0 --- /dev/null +++ b/test/Dockerfile.ci @@ -0,0 +1,16 @@ +FROM alpine:3.9 + +RUN addgroup -S flagger \ + && adduser -S -g flagger flagger \ + && apk --no-cache add ca-certificates + +WORKDIR /home/flagger + +COPY ./flagger . + +RUN chown -R flagger:flagger ./ + +USER flagger + +ENTRYPOINT ["./flagger"] +