general: branches: ignore: - gh-pages machine: services: - docker environment: GOPATH: /home/ubuntu SRCDIR: /home/ubuntu/src/github.com/weaveworks/scope PATH: $PATH:$HOME/.local/bin CLOUDSDK_CORE_DISABLE_PROMPTS: 1 SCOPE_UI_BUILD: $HOME/docker/scope_ui_build.tar dependencies: cache_directories: - "~/docker" override: - | go get -u github.com/weaveworks/build-tools/cmd/wcloud && sudo apt-get update && sudo apt-get install jq pv && (curl https://sdk.cloud.google.com | bash) && (test -z "$SECRET_PASSWORD" || bin/setup-circleci-secrets "$SECRET_PASSWORD") && make deps && mkdir -p $(dirname $SRCDIR) && cp -r $(pwd)/ $SRCDIR - "cd $SRCDIR/client; ../tools/rebuild-image weaveworks/scope-ui-build . Dockerfile package.json webpack.production.config.js .eslintrc .babelrc && touch $SRCDIR/.scope_ui_build.uptodate" - "cd $SRCDIR/backend; ../tools/rebuild-image weaveworks/scope-backend-build . Dockerfile build.sh && touch $SRCDIR/.scope_backend_build.uptodate" - test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; ./gce.sh make_template): parallel: false test: override: - cd $SRCDIR; make RM= lint: parallel: true - cd $SRCDIR; COVERDIR=./coverage make RM= tests: parallel: true - cd $SRCDIR; make RM= client-test static: parallel: true - cd $SRCDIR; rm -f prog/scope; if [ "$CIRCLE_NODE_INDEX" = "0" ]; then GOARCH=arm make GO_BUILD_INSTALL_DEPS= RM= prog/scope; else GOOS=darwin make GO_BUILD_INSTALL_DEPS= RM= prog/scope; fi: parallel: true - cd $SRCDIR; rm -f prog/scope; make RM=: parallel: true - cd $SRCDIR/extras; ./build_on_circle.sh: parallel: true - "test -z \"$SECRET_PASSWORD\" || (cd $SRCDIR/integration; ./gce.sh setup && eval $(./gce.sh hosts); ./setup.sh)": parallel: true - test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; eval $(./gce.sh hosts); ./run_all.sh): parallel: true timeout: 300 post: - test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; ./gce.sh destroy): parallel: true - test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; ./tools/cover/gather_coverage.sh ./coverage $SRCDIR/coverage): parallel: true - test "$CIRCLE_NODE_INDEX" != "0" || (goveralls -repotoken $COVERALLS_REPO_TOKEN -coverprofile=$SRCDIR/profile.cov -service=circleci || true): parallel: true - test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; cp coverage.* scope.tar $CIRCLE_ARTIFACTS): parallel: true deployment: hub: branch: master commands: - | test -z "${DOCKER_USER}" || ( docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS && (test "${DOCKER_ORGANIZATION:-$DOCKER_USER}" == "weaveworks" || ( docker tag weaveworks/scope:latest ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:latest && docker tag weaveworks/scope:$(./image-tag) ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:$(./image-tag) )) && docker push ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope && docker push ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:$(./image-tag) && (test "${DOCKER_ORGANIZATION:-$DOCKER_USER}" != "weaveworks" || ( wcloud deploy weaveworks/scope:$(./image-tag) )) ) hub-dev: branch: /^((?!master).)*$/ # not the master branch commands: - > test -z "${DEPLOY_BRANCH}" || test -z "${DOCKER_USER}" || ( docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS && docker tag weaveworks/scope:latest ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:${CIRCLE_BRANCH//\//-} && docker push ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:${CIRCLE_BRANCH//\//-} ) # release: # branch: /release-[0-9]+\.[0-9]+/ # owner: weaveworks # commands: # - go get github.com/weaveworks/wordepress && cd /home/ubuntu/src/github.com/weaveworks/wordepress && git checkout v1.0.0 && cd cmd/wordepress && go get # - cd $SRCDIR; PRODUCT=scope tools/publish-site "$WP_LIVE_URL" "$WP_LIVE_USER" "$WP_LIVE_PASSWORD" # issues: # branch: /.*/ # owner: weaveworks # commands: # - go get github.com/weaveworks/wordepress && cd /home/ubuntu/src/github.com/weaveworks/wordepress && git checkout v1.0.0 && cd cmd/wordepress && go get # - cd $SRCDIR; PRODUCT=scope tools/publish-site "$WP_DEV_URL" "$WP_DEV_USER" "$WP_DEV_PASSWORD"