Build: Reports times and outcomes from CircleCI jobs (#20474)

* Build: Adds start and stop job

* WIP: Testing passing env variables

* Fix: Fixes shellcheck errors

* WIP: Uses $BASH_ENV

* WIP: bash update

* WIP: adds stats echo

* WIP: Adds reporting

* Fix: Fixes reporting

* Fix: Fixes reporting

* Refactor: Adds outcomes and timing to build-fast-frontend

* Build: Adds stats to all jobs

* Fix: Fixes invalid yml

* Refactor: Adds stats to integration tests

* Refactor: Run stats on master only
pull/20496/head
Hugo Häggmark 6 years ago committed by GitHub
parent a30cc9e62c
commit 432f36024b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 309
      .circleci/config.yml
  2. 16
      scripts/ci-job-failed.sh
  3. 6
      scripts/ci-job-started.sh
  4. 16
      scripts/ci-job-succeeded.sh

@ -29,6 +29,9 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: sudo apt update - run: sudo apt update
- run: sudo apt install -y default-mysql-client - run: sudo apt install -y default-mysql-client
- run: dockerize -wait tcp://127.0.0.1:3306 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:3306 -timeout 120s
@ -36,6 +39,14 @@ jobs:
- run: - run:
name: mysql integration tests name: mysql integration tests
command: './scripts/circle-test-mysql.sh' command: './scripts/circle-test-mysql.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
postgres-integration-test: postgres-integration-test:
docker: docker:
@ -48,6 +59,9 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: sudo apt update - run: sudo apt update
- run: sudo apt install -y postgresql-client - run: sudo apt install -y postgresql-client
- run: dockerize -wait tcp://127.0.0.1:5432 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:5432 -timeout 120s
@ -55,6 +69,14 @@ jobs:
- run: - run:
name: postgres integration tests name: postgres integration tests
command: './scripts/circle-test-postgres.sh' command: './scripts/circle-test-postgres.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
cache-server-test: cache-server-test:
docker: docker:
@ -64,11 +86,22 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: dockerize -wait tcp://127.0.0.1:11211 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:11211 -timeout 120s
- run: dockerize -wait tcp://127.0.0.1:6379 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:6379 -timeout 120s
- run: - run:
name: cache server tests name: cache server tests
command: './scripts/circle-test-cache-servers.sh' command: './scripts/circle-test-cache-servers.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
end-to-end-test: end-to-end-test:
docker: docker:
@ -77,6 +110,9 @@ jobs:
steps: steps:
- run: dockerize -wait tcp://127.0.0.1:3000 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:3000 -timeout 120s
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache: - restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }} key: dependency-cache-{{ checksum "yarn.lock" }}
- run: - run:
@ -97,6 +133,14 @@ jobs:
- store_artifacts: - store_artifacts:
path: public/e2e-test/screenShots/theOutput path: public/e2e-test/screenShots/theOutput
destination: output-screenshots destination: output-screenshots
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
end-to-end-test-release: end-to-end-test-release:
docker: docker:
@ -105,6 +149,9 @@ jobs:
steps: steps:
- run: dockerize -wait tcp://127.0.0.1:3000 -timeout 120s - run: dockerize -wait tcp://127.0.0.1:3000 -timeout 120s
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache: - restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }} key: dependency-cache-{{ checksum "yarn.lock" }}
- run: - run:
@ -125,6 +172,14 @@ jobs:
- store_artifacts: - store_artifacts:
path: public/e2e-test/screenShots/theOutput path: public/e2e-test/screenShots/theOutput
destination: output-screenshots destination: output-screenshots
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
codespell: codespell:
docker: docker:
@ -169,6 +224,9 @@ jobs:
- image: circleci/node:10 - image: circleci/node:10
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache: - restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }} key: dependency-cache-{{ checksum "yarn.lock" }}
- run: - run:
@ -182,6 +240,14 @@ jobs:
- run: - run:
name: frontend tests name: frontend tests
command: './scripts/circle-test-frontend.sh' command: './scripts/circle-test-frontend.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
test-backend: test-backend:
docker: docker:
@ -189,9 +255,21 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: build backend and run go tests name: build backend and run go tests
command: './scripts/circle-test-backend.sh' command: './scripts/circle-test-backend.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-all: build-all:
docker: docker:
@ -202,6 +280,9 @@ jobs:
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache: - restore_cache:
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }} key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
- run: - run:
@ -236,6 +317,14 @@ jobs:
- scripts/*.sh - scripts/*.sh
- scripts/build/release_publisher/release_publisher - scripts/build/release_publisher/release_publisher
- scripts/build/publish.sh - scripts/build/publish.sh
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build: build:
docker: docker:
@ -243,6 +332,9 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
@ -265,6 +357,14 @@ jobs:
root: . root: .
paths: paths:
- dist/* - dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-fast-backend: build-fast-backend:
docker: docker:
@ -275,6 +375,9 @@ jobs:
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: build grafana backend name: build grafana backend
command: './scripts/build/build.sh --fast --backend-only' command: './scripts/build/build.sh --fast --backend-only'
@ -282,6 +385,14 @@ jobs:
root: . root: .
paths: paths:
- bin/* - bin/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-fast-frontend: build-fast-frontend:
docker: docker:
@ -292,6 +403,9 @@ jobs:
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache: - restore_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }} key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
- run: - run:
@ -306,6 +420,14 @@ jobs:
paths: paths:
- public/build/* - public/build/*
- tools/phantomjs/* - tools/phantomjs/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-fast-package: build-fast-package:
docker: docker:
@ -313,6 +435,9 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- restore_cache: - restore_cache:
@ -333,6 +458,14 @@ jobs:
root: /go/src/github.com/grafana/grafana root: /go/src/github.com/grafana/grafana
paths: paths:
- dist/* - dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-fast-save: build-fast-save:
docker: docker:
@ -340,6 +473,9 @@ jobs:
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- restore_cache: - restore_cache:
@ -379,12 +515,23 @@ jobs:
root: . root: .
paths: paths:
- dist/* - dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-master: grafana-docker-master:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
@ -394,12 +541,23 @@ jobs:
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "master" - run: cd packaging/docker && ./build-enterprise.sh "master"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-ubuntu-master: grafana-docker-ubuntu-master:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
@ -409,36 +567,69 @@ jobs:
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh --ubuntu "master" - run: cd packaging/docker && ./build-enterprise.sh --ubuntu "master"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-pr: grafana-docker-pr:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6 - run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker - run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build.sh --fast "${CIRCLE_SHA1}" - run: cd packaging/docker && ./build.sh --fast "${CIRCLE_SHA1}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-ubuntu-pr: grafana-docker-ubuntu-pr:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6 - run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker - run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build.sh --fast --ubuntu "${CIRCLE_SHA1}" - run: cd packaging/docker && ./build.sh --fast --ubuntu "${CIRCLE_SHA1}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-release: grafana-docker-release:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
@ -448,12 +639,23 @@ jobs:
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}" - run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-ubuntu-release: grafana-docker-ubuntu-release:
machine: machine:
image: circleci/classic:201808-01 image: circleci/classic:201808-01
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: docker info - run: docker info
@ -463,6 +665,14 @@ jobs:
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh --ubuntu "${CIRCLE_TAG}" - run: cd packaging/docker && ./build-enterprise.sh --ubuntu "${CIRCLE_TAG}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-enterprise: build-enterprise:
docker: docker:
@ -473,6 +683,9 @@ jobs:
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: checkout enterprise name: checkout enterprise
command: './scripts/build/prepare-enterprise.sh' command: './scripts/build/prepare-enterprise.sh'
@ -498,6 +711,14 @@ jobs:
root: . root: .
paths: paths:
- enterprise-dist/* - enterprise-dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-all-enterprise: build-all-enterprise:
docker: docker:
@ -508,6 +729,9 @@ jobs:
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: checkout enterprise name: checkout enterprise
command: './scripts/build/prepare-enterprise.sh' command: './scripts/build/prepare-enterprise.sh'
@ -545,6 +769,14 @@ jobs:
root: . root: .
paths: paths:
- enterprise-dist/* - enterprise-dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
deploy-enterprise-master: deploy-enterprise-master:
docker: docker:
@ -573,6 +805,9 @@ jobs:
- image: grafana/grafana-ci-deploy:1.2.2 - image: grafana/grafana-ci-deploy:1.2.2
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: - run:
@ -605,6 +840,14 @@ jobs:
- run: - run:
name: Publish RPM repository name: Publish RPM repository
command: './scripts/build/update_repo/publish-rpm.sh "enterprise" "$CIRCLE_TAG"' command: './scripts/build/update_repo/publish-rpm.sh "enterprise" "$CIRCLE_TAG"'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
deploy-master: deploy-master:
@ -636,6 +879,9 @@ jobs:
- image: grafana/grafana-ci-deploy:1.2.2 - image: grafana/grafana-ci-deploy:1.2.2
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: - run:
@ -668,12 +914,23 @@ jobs:
- run: - run:
name: Publish RPM repository name: Publish RPM repository
command: './scripts/build/update_repo/publish-rpm.sh "oss" "$CIRCLE_TAG"' command: './scripts/build/update_repo/publish-rpm.sh "oss" "$CIRCLE_TAG"'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-oss-msi: build-oss-msi:
docker: docker:
- image: grafana/wix-toolset-ci:v3 - image: grafana/wix-toolset-ci:v3
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace: - attach_workspace:
at: . at: .
- run: - run:
@ -684,6 +941,14 @@ jobs:
paths: paths:
- dist/grafana-*.msi - dist/grafana-*.msi
- dist/grafana-*.msi.sha256 - dist/grafana-*.msi.sha256
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
store-build-artifacts: store-build-artifacts:
docker: docker:
@ -699,6 +964,9 @@ jobs:
- image: circleci/python:3.6.8 - image: circleci/python:3.6.8
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: Trigger Docs update name: Trigger Docs update
command: | command: |
@ -711,18 +979,37 @@ jobs:
else else
echo "-- no changes to docs files --" echo "-- no changes to docs files --"
fi fi
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-grafana-packages: build-grafana-packages:
docker: docker:
- image: circleci/node:10 - image: circleci/node:10
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: Boostrap lerna name: Boostrap lerna
command: 'npx lerna bootstrap' command: 'npx lerna bootstrap'
- run: - run:
name: Build packages name: Build packages
command: yarn packages:build command: yarn packages:build
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
release-next-packages: release-next-packages:
@ -730,6 +1017,9 @@ jobs:
- image: circleci/node:10 - image: circleci/node:10
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: Boostrap lerna name: Boostrap lerna
command: 'npx lerna bootstrap' command: 'npx lerna bootstrap'
@ -739,12 +1029,23 @@ jobs:
- run: - run:
name: Release next packages name: Release next packages
command: './scripts/circle-release-next-packages.sh' command: './scripts/circle-release-next-packages.sh'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
release-packages: release-packages:
docker: docker:
- image: circleci/node:10 - image: circleci/node:10
steps: steps:
- checkout - checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run: - run:
name: Boostrap lerna name: Boostrap lerna
command: 'npx lerna bootstrap' command: 'npx lerna bootstrap'
@ -754,6 +1055,14 @@ jobs:
- run: - run:
name: Release packages name: Release packages
command: ./scripts/build/release-packages.sh "${CIRCLE_TAG}" command: ./scripts/build/release-packages.sh "${CIRCLE_TAG}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
scan-docker-master: scan-docker-master:
docker: docker:

@ -0,0 +1,16 @@
#!/bin/bash
# shellcheck source=./scripts/helpers/exit-if-fail.sh
source "$(dirname "$0")/helpers/exit-if-fail.sh"
echo -e "Report build times and build outcome"
start=$GF_JOB_START
runtime=$((($(date +%s%N) - start)/1000000))
echo -e "The job $CIRCLE_JOB took $runtime (ms)"
if [ "${CIRCLE_BRANCH}" == "master" ]; then
exit_if_fail ./scripts/ci-metrics-publisher.sh "grafana.ci-buildtimes.$CIRCLE_JOB=$runtime"
exit_if_fail ./scripts/ci-metrics-publisher.sh "grafana.ci-buildoutcome.$CIRCLE_JOB=0"
fi

@ -0,0 +1,6 @@
#!/bin/bash
echo -e "Collecting job start date"
start=$(date +%s%N)
echo "export GF_JOB_START=$start" >> "$BASH_ENV"

@ -0,0 +1,16 @@
#!/bin/bash
# shellcheck source=./scripts/helpers/exit-if-fail.sh
source "$(dirname "$0")/helpers/exit-if-fail.sh"
echo -e "Report build times and build outcome"
start=$GF_JOB_START
runtime=$((($(date +%s%N) - start)/1000000))
echo -e "The job $CIRCLE_JOB took $runtime (ms)"
if [ "${CIRCLE_BRANCH}" == "master" ]; then
exit_if_fail ./scripts/ci-metrics-publisher.sh "grafana.ci-buildtimes.$CIRCLE_JOB=$runtime"
exit_if_fail ./scripts/ci-metrics-publisher.sh "grafana.ci-buildoutcome.$CIRCLE_JOB=1"
fi
Loading…
Cancel
Save