2018-05-21 08:57:57 -05:00
|
|
|
aliases:
|
|
|
|
# Workflow filters
|
|
|
|
- &filter-only-release
|
|
|
|
branches:
|
|
|
|
ignore: /.*/
|
|
|
|
tags:
|
|
|
|
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
|
2018-07-26 09:46:36 -05:00
|
|
|
- &filter-not-release-or-master
|
2018-05-21 08:57:57 -05:00
|
|
|
tags:
|
|
|
|
ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
|
2018-07-26 09:46:36 -05:00
|
|
|
branches:
|
|
|
|
ignore: master
|
2018-07-04 06:09:42 -05:00
|
|
|
- &filter-only-master
|
|
|
|
branches:
|
|
|
|
only: master
|
2018-05-21 08:57:57 -05:00
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
version: 2
|
2015-03-07 05:40:19 -06:00
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
jobs:
|
2018-05-30 06:55:30 -05:00
|
|
|
mysql-integration-test:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: circleci/golang:1.12.4
|
2018-05-30 06:55:30 -05:00
|
|
|
- image: circleci/mysql:5.6-ram
|
|
|
|
environment:
|
|
|
|
MYSQL_ROOT_PASSWORD: rootpass
|
|
|
|
MYSQL_DATABASE: grafana_tests
|
|
|
|
MYSQL_USER: grafana
|
|
|
|
MYSQL_PASSWORD: password
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: sudo apt update
|
|
|
|
- run: sudo apt install -y mysql-client
|
|
|
|
- run: dockerize -wait tcp://127.0.0.1:3306 -timeout 120s
|
2018-09-17 02:53:37 -05:00
|
|
|
- run: cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h 127.0.0.1 -P 3306 -u root -prootpass
|
2018-05-30 06:55:30 -05:00
|
|
|
- run:
|
|
|
|
name: mysql integration tests
|
2019-02-15 08:05:01 -06:00
|
|
|
command: './scripts/circle-test-mysql.sh'
|
2018-05-30 06:55:30 -05:00
|
|
|
|
2018-05-30 02:40:45 -05:00
|
|
|
postgres-integration-test:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: circleci/golang:1.12.4
|
2018-05-30 02:40:45 -05:00
|
|
|
- image: circleci/postgres:9.3-ram
|
|
|
|
environment:
|
|
|
|
POSTGRES_USER: grafanatest
|
|
|
|
POSTGRES_PASSWORD: grafanatest
|
|
|
|
POSTGRES_DB: grafanatest
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: sudo apt update
|
|
|
|
- run: sudo apt install -y postgresql-client
|
|
|
|
- run: dockerize -wait tcp://127.0.0.1:5432 -timeout 120s
|
2018-09-17 02:53:37 -05:00
|
|
|
- run: 'PGPASSWORD=grafanatest psql -p 5432 -h 127.0.0.1 -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql'
|
2018-05-30 02:40:45 -05:00
|
|
|
- run:
|
|
|
|
name: postgres integration tests
|
2019-02-15 08:05:01 -06:00
|
|
|
command: './scripts/circle-test-postgres.sh'
|
2018-05-30 02:40:45 -05:00
|
|
|
|
2019-03-07 10:16:08 -06:00
|
|
|
cache-server-test:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: circleci/golang:1.12.4
|
2019-03-07 10:16:08 -06:00
|
|
|
- image: circleci/redis:4-alpine
|
|
|
|
- image: memcached
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: dockerize -wait tcp://127.0.0.1:11211 -timeout 120s
|
2019-03-07 12:07:11 -06:00
|
|
|
- run: dockerize -wait tcp://127.0.0.1:6379 -timeout 120s
|
2019-03-07 10:16:08 -06:00
|
|
|
- run:
|
|
|
|
name: cache server tests
|
|
|
|
command: './scripts/circle-test-cache-servers.sh'
|
2019-05-17 15:14:01 -05:00
|
|
|
|
2019-05-08 09:50:21 -05:00
|
|
|
end-to-end-test:
|
|
|
|
docker:
|
|
|
|
- image: circleci/node:8-browsers
|
|
|
|
- image: grafana/grafana:master
|
|
|
|
steps:
|
|
|
|
- run: dockerize -wait tcp://127.0.0.1:3000 -timeout 120s
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
- run:
|
|
|
|
name: yarn install
|
|
|
|
command: 'yarn install --pure-lockfile --no-progress'
|
|
|
|
no_output_timeout: 5m
|
|
|
|
- save_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
paths:
|
|
|
|
- node_modules
|
|
|
|
- run:
|
|
|
|
name: run end-to-end tests
|
|
|
|
command: 'env BASE_URL=http://127.0.0.1:3000 yarn e2e-tests'
|
|
|
|
no_output_timeout: 5m
|
2019-03-07 10:16:08 -06:00
|
|
|
|
2018-04-16 04:44:50 -05:00
|
|
|
codespell:
|
|
|
|
docker:
|
|
|
|
- image: circleci/python
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: install codespell
|
|
|
|
command: 'sudo pip install codespell'
|
2018-04-17 13:45:46 -05:00
|
|
|
- run:
|
|
|
|
# Important: all words have to be in lowercase, and separated by "\n".
|
|
|
|
name: exclude known exceptions
|
2019-05-17 15:14:01 -05:00
|
|
|
command: 'echo -e "unknwon\nreferer\nerrorstring" > words_to_ignore.txt'
|
2018-04-16 04:44:50 -05:00
|
|
|
- run:
|
|
|
|
name: check documentation spelling errors
|
2018-04-17 13:45:46 -05:00
|
|
|
command: 'codespell -I ./words_to_ignore.txt docs/'
|
2018-04-16 04:44:50 -05:00
|
|
|
|
2019-03-27 11:53:49 -05:00
|
|
|
backend-lint:
|
2018-04-18 15:36:14 -05:00
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: circleci/golang:1.12.4
|
2018-04-20 11:18:22 -05:00
|
|
|
environment:
|
|
|
|
# we need CGO because of go-sqlite3
|
|
|
|
CGO_ENABLED: 1
|
2018-04-18 15:36:14 -05:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2019-03-27 11:53:49 -05:00
|
|
|
name: backend lint
|
|
|
|
command: './scripts/backend-lint.sh'
|
2018-04-18 15:36:14 -05:00
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
test-frontend:
|
|
|
|
docker:
|
2018-10-09 02:24:14 -05:00
|
|
|
- image: circleci/node:8
|
2018-03-09 04:27:00 -06:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-10-09 02:23:52 -05:00
|
|
|
- restore_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: yarn install
|
2018-10-08 15:11:10 -05:00
|
|
|
command: 'yarn install --pure-lockfile --no-progress'
|
2018-08-13 08:38:37 -05:00
|
|
|
no_output_timeout: 15m
|
2018-10-09 02:23:52 -05:00
|
|
|
- save_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
paths:
|
|
|
|
- node_modules
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: frontend tests
|
|
|
|
command: './scripts/circle-test-frontend.sh'
|
2017-01-30 10:27:12 -06:00
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
test-backend:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: circleci/golang:1.12.4
|
2018-03-09 04:27:00 -06:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: build backend and run go tests
|
|
|
|
command: './scripts/circle-test-backend.sh'
|
2016-01-27 13:18:35 -06:00
|
|
|
|
2018-05-21 07:06:01 -05:00
|
|
|
build-all:
|
2018-03-09 04:27:00 -06:00
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: grafana/build-container:1.2.6
|
2018-03-09 04:27:00 -06:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
2018-05-08 02:42:20 -05:00
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
2018-05-18 04:38:31 -05:00
|
|
|
- restore_cache:
|
|
|
|
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
|
|
|
|
- run:
|
|
|
|
name: download phantomjs binaries
|
|
|
|
command: './scripts/build/download-phantomjs.sh'
|
|
|
|
- save_cache:
|
|
|
|
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
|
|
|
|
paths:
|
|
|
|
- /tmp/phantomjs
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: build and package grafana
|
2018-05-21 07:06:01 -05:00
|
|
|
command: './scripts/build/build-all.sh'
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: sign packages
|
|
|
|
command: './scripts/build/sign_packages.sh'
|
2018-08-14 03:45:32 -05:00
|
|
|
- run:
|
|
|
|
name: verify signed packages
|
|
|
|
command: |
|
2018-08-14 07:24:04 -05:00
|
|
|
mkdir -p ~/.rpmdb/pubkeys
|
2018-08-14 07:48:26 -05:00
|
|
|
curl -s https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana > ~/.rpmdb/pubkeys/grafana.key
|
2018-08-14 03:45:32 -05:00
|
|
|
./scripts/build/verify_signed_packages.sh dist/*.rpm
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
2018-10-03 04:17:46 -05:00
|
|
|
- run:
|
2018-11-23 09:40:45 -06:00
|
|
|
name: Test and build Grafana.com release publisher
|
|
|
|
command: 'cd scripts/build/release_publisher && go test . && go build -o release_publisher .'
|
2018-03-09 04:27:00 -06:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2019-03-25 05:40:50 -05:00
|
|
|
- dist/*
|
2018-03-09 04:27:00 -06:00
|
|
|
- scripts/*.sh
|
2018-10-03 04:17:46 -05:00
|
|
|
- scripts/build/release_publisher/release_publisher
|
2018-10-15 07:54:21 -05:00
|
|
|
- scripts/build/publish.sh
|
2018-03-09 04:27:00 -06:00
|
|
|
|
2018-07-26 09:46:36 -05:00
|
|
|
build:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: grafana/build-container:1.2.6
|
2018-07-26 09:46:36 -05:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: build and package grafana
|
|
|
|
command: './scripts/build/build.sh'
|
|
|
|
- run:
|
|
|
|
name: sign packages
|
|
|
|
command: './scripts/build/sign_packages.sh'
|
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
2018-11-23 09:40:45 -06:00
|
|
|
- run:
|
|
|
|
name: Test Grafana.com release publisher
|
|
|
|
command: 'cd scripts/build/release_publisher && go test .'
|
2018-07-26 09:46:36 -05:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2019-03-25 05:40:50 -05:00
|
|
|
- dist/*
|
2018-07-26 09:46:36 -05:00
|
|
|
|
2019-05-01 10:20:01 -05:00
|
|
|
build-fast-backend:
|
|
|
|
docker:
|
|
|
|
- image: grafana/build-container:1.2.6
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: build grafana backend
|
|
|
|
command: './scripts/build/build.sh --fast --backend-only'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- bin/*
|
|
|
|
|
|
|
|
build-fast-frontend:
|
|
|
|
docker:
|
|
|
|
- image: grafana/build-container:1.2.6
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- restore_cache:
|
|
|
|
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
- run:
|
|
|
|
name: build grafana frontend
|
|
|
|
command: './scripts/build/build.sh --fast --frontend-only'
|
|
|
|
- save_cache:
|
|
|
|
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
paths:
|
|
|
|
- node_modules
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- public/build/*
|
|
|
|
- tools/phantomjs/*
|
|
|
|
|
|
|
|
build-fast-package:
|
|
|
|
docker:
|
|
|
|
- image: grafana/build-container:1.2.6
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- restore_cache:
|
|
|
|
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: package grafana
|
|
|
|
command: './scripts/build/build.sh --fast --package-only'
|
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
|
|
|
- run:
|
|
|
|
name: Test Grafana.com release publisher
|
|
|
|
command: 'cd scripts/build/release_publisher && go test .'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: /go/src/github.com/grafana/grafana
|
|
|
|
paths:
|
|
|
|
- dist/*
|
|
|
|
|
|
|
|
build-fast-save:
|
|
|
|
docker:
|
|
|
|
- image: grafana/build-container:1.2.6
|
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- restore_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
- run:
|
|
|
|
name: debug cache
|
|
|
|
command: 'ls -al /go/src/github.com/grafana/grafana/node_modules'
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: build grafana backend
|
|
|
|
command: './scripts/build/build.sh --fast --backend-only'
|
|
|
|
- run:
|
|
|
|
name: build grafana frontend
|
|
|
|
command: './scripts/build/build.sh --fast --frontend-only'
|
|
|
|
- save_cache:
|
|
|
|
key: dependency-cache-{{ checksum "yarn.lock" }}
|
|
|
|
paths:
|
|
|
|
- /go/src/github.com/grafana/grafana/node_modules
|
|
|
|
- run:
|
|
|
|
name: package grafana
|
|
|
|
command: './scripts/build/build.sh --fast --package-only'
|
|
|
|
- run:
|
|
|
|
name: sign packages
|
|
|
|
command: './scripts/build/sign_packages.sh'
|
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
|
|
|
- run:
|
|
|
|
name: Test Grafana.com release publisher
|
|
|
|
command: 'cd scripts/build/release_publisher && go test .'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- dist/*
|
|
|
|
|
2018-07-30 07:05:56 -05:00
|
|
|
grafana-docker-master:
|
2018-12-20 15:48:53 -06:00
|
|
|
machine:
|
|
|
|
image: circleci/classic:201808-01
|
2018-07-26 09:46:36 -05:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-07-29 05:04:31 -05:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-07-26 09:46:36 -05:00
|
|
|
- run: docker info
|
2018-12-20 15:48:53 -06:00
|
|
|
- run: docker run --privileged linuxkit/binfmt:v0.6
|
|
|
|
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
|
2018-07-30 11:52:49 -05:00
|
|
|
- run: cd packaging/docker && ./build-deploy.sh "master-${CIRCLE_SHA1}"
|
2018-12-20 15:48:53 -06:00
|
|
|
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz
|
2018-10-26 07:37:51 -05:00
|
|
|
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
|
2018-10-26 07:23:30 -05:00
|
|
|
- run: cd packaging/docker && ./build-enterprise.sh "master"
|
|
|
|
|
2018-07-30 11:52:49 -05:00
|
|
|
|
2018-08-06 10:34:25 -05:00
|
|
|
grafana-docker-pr:
|
2018-12-20 15:48:53 -06:00
|
|
|
machine:
|
|
|
|
image: circleci/classic:201808-01
|
2018-08-06 10:34:25 -05:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run: docker info
|
2018-12-20 15:48:53 -06:00
|
|
|
- run: docker run --privileged linuxkit/binfmt:v0.6
|
|
|
|
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
|
2019-05-01 10:20:01 -05:00
|
|
|
- run: cd packaging/docker && ./build.sh --fast "${CIRCLE_SHA1}"
|
2018-08-06 10:34:25 -05:00
|
|
|
|
2018-07-30 11:52:49 -05:00
|
|
|
grafana-docker-release:
|
2018-12-20 15:48:53 -06:00
|
|
|
machine:
|
|
|
|
image: circleci/classic:201808-01
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run: docker info
|
|
|
|
- run: docker run --privileged linuxkit/binfmt:v0.6
|
|
|
|
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
|
|
|
|
- run: cd packaging/docker && ./build-deploy.sh "${CIRCLE_TAG}"
|
|
|
|
- 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: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
|
2018-07-26 06:40:52 -05:00
|
|
|
|
2018-04-27 06:41:58 -05:00
|
|
|
build-enterprise:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: grafana/build-container:1.2.6
|
2018-04-27 06:41:58 -05:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2018-10-22 07:33:19 -05:00
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: checkout enterprise
|
2018-10-23 01:33:52 -05:00
|
|
|
command: './scripts/build/prepare-enterprise.sh'
|
2018-10-22 07:33:19 -05:00
|
|
|
- run:
|
|
|
|
name: test enterprise
|
|
|
|
command: 'go test ./pkg/extensions/...'
|
|
|
|
- run:
|
|
|
|
name: build and package enterprise
|
|
|
|
command: './scripts/build/build.sh -enterprise'
|
2018-04-27 06:41:58 -05:00
|
|
|
- run:
|
|
|
|
name: sign packages
|
|
|
|
command: './scripts/build/sign_packages.sh'
|
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
2018-07-02 09:10:20 -05:00
|
|
|
- run:
|
2018-07-02 09:05:23 -05:00
|
|
|
name: move enterprise packages into their own folder
|
|
|
|
command: 'mv dist enterprise-dist'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2019-03-25 05:40:50 -05:00
|
|
|
- enterprise-dist/*
|
2018-07-02 09:05:23 -05:00
|
|
|
|
2018-10-22 07:33:19 -05:00
|
|
|
build-all-enterprise:
|
|
|
|
docker:
|
2019-04-15 02:18:28 -05:00
|
|
|
- image: grafana/build-container:1.2.6
|
2018-10-22 07:33:19 -05:00
|
|
|
working_directory: /go/src/github.com/grafana/grafana
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: prepare build tools
|
|
|
|
command: '/tmp/bootstrap.sh'
|
|
|
|
- run:
|
|
|
|
name: checkout enterprise
|
2018-10-23 01:33:52 -05:00
|
|
|
command: './scripts/build/prepare-enterprise.sh'
|
2018-10-22 07:33:19 -05:00
|
|
|
- restore_cache:
|
|
|
|
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
|
|
|
|
- run:
|
|
|
|
name: download phantomjs binaries
|
|
|
|
command: './scripts/build/download-phantomjs.sh'
|
|
|
|
- save_cache:
|
|
|
|
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
|
|
|
|
paths:
|
|
|
|
- /tmp/phantomjs
|
|
|
|
- run:
|
|
|
|
name: test enterprise
|
|
|
|
command: 'go test ./pkg/extensions/...'
|
|
|
|
- run:
|
|
|
|
name: build and package grafana
|
|
|
|
command: './scripts/build/build-all.sh -enterprise'
|
|
|
|
- run:
|
|
|
|
name: sign packages
|
|
|
|
command: './scripts/build/sign_packages.sh'
|
|
|
|
- run:
|
|
|
|
name: verify signed packages
|
|
|
|
command: |
|
|
|
|
mkdir -p ~/.rpmdb/pubkeys
|
|
|
|
curl -s https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana > ~/.rpmdb/pubkeys/grafana.key
|
|
|
|
./scripts/build/verify_signed_packages.sh dist/*.rpm
|
|
|
|
- run:
|
|
|
|
name: sha-sum packages
|
|
|
|
command: 'go run build.go sha-dist'
|
|
|
|
- run:
|
|
|
|
name: move enterprise packages into their own folder
|
|
|
|
command: 'mv dist enterprise-dist'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2019-03-25 05:40:50 -05:00
|
|
|
- enterprise-dist/*
|
2018-10-22 07:33:19 -05:00
|
|
|
|
2018-07-02 09:05:23 -05:00
|
|
|
deploy-enterprise-master:
|
|
|
|
docker:
|
2019-04-03 08:24:34 -05:00
|
|
|
- image: grafana/grafana-ci-deploy:1.2.2
|
2018-07-02 09:05:23 -05:00
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
2018-10-31 03:51:11 -05:00
|
|
|
name: gcp credentials
|
|
|
|
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
|
|
|
|
- run:
|
|
|
|
name: sign in to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
|
2018-07-02 09:05:23 -05:00
|
|
|
- run:
|
|
|
|
name: deploy to s3
|
|
|
|
command: 'aws s3 sync ./enterprise-dist s3://$ENTERPRISE_BUCKET_NAME/master'
|
2018-10-31 03:51:11 -05:00
|
|
|
- run:
|
|
|
|
name: deploy to gcp
|
2018-10-31 04:49:09 -05:00
|
|
|
command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/master'
|
2018-11-05 09:26:19 -06:00
|
|
|
- run:
|
|
|
|
name: Deploy to grafana.com
|
2019-03-22 15:53:02 -05:00
|
|
|
command: |
|
|
|
|
cd enterprise-dist
|
2019-03-25 07:57:30 -05:00
|
|
|
../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -enterprise -version "v$(cat grafana.version)" --nightly
|
2018-10-31 03:51:11 -05:00
|
|
|
|
2018-04-27 06:41:58 -05:00
|
|
|
|
2018-10-23 01:53:36 -05:00
|
|
|
deploy-enterprise-release:
|
|
|
|
docker:
|
2019-04-03 08:24:34 -05:00
|
|
|
- image: grafana/grafana-ci-deploy:1.2.2
|
2018-10-23 01:53:36 -05:00
|
|
|
steps:
|
2019-01-31 02:40:18 -06:00
|
|
|
- checkout
|
2018-10-31 04:49:09 -05:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: gcp credentials
|
|
|
|
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
|
|
|
|
- run:
|
|
|
|
name: sign in to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
|
|
|
|
- run:
|
|
|
|
name: deploy to s3
|
|
|
|
command: 'aws s3 sync ./enterprise-dist s3://$ENTERPRISE_BUCKET_NAME/release'
|
|
|
|
- run:
|
|
|
|
name: deploy to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/release'
|
2018-11-19 09:55:30 -06:00
|
|
|
- run:
|
|
|
|
name: Deploy to Grafana.com
|
|
|
|
command: './scripts/build/publish.sh --enterprise'
|
2019-01-09 04:17:21 -06:00
|
|
|
- run:
|
|
|
|
name: Load GPG private key
|
2019-01-14 09:23:48 -06:00
|
|
|
command: './scripts/build/load-signing-key.sh'
|
2019-01-09 04:17:21 -06:00
|
|
|
- run:
|
|
|
|
name: Update Debian repository
|
2019-01-16 04:11:00 -06:00
|
|
|
command: './scripts/build/update_repo/update-deb.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
|
2019-01-09 04:17:21 -06:00
|
|
|
- run:
|
|
|
|
name: Update RPM repository
|
2019-01-16 04:11:00 -06:00
|
|
|
command: './scripts/build/update_repo/update-rpm.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
|
2019-01-09 04:17:21 -06:00
|
|
|
|
2018-10-22 07:33:19 -05:00
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
deploy-master:
|
|
|
|
docker:
|
2019-04-03 08:24:34 -05:00
|
|
|
- image: grafana/grafana-ci-deploy:1.2.2
|
2018-03-09 04:27:00 -06:00
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: deploy to s3
|
2018-06-05 13:11:57 -05:00
|
|
|
command: |
|
|
|
|
# Also
|
2018-06-06 06:07:47 -05:00
|
|
|
cp dist/grafana-latest.linux-x64.tar.gz dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
|
2018-06-05 13:11:57 -05:00
|
|
|
aws s3 sync ./dist s3://$BUCKET_NAME/master
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: Trigger Windows build
|
|
|
|
command: './scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master'
|
2018-10-31 05:13:23 -05:00
|
|
|
- run:
|
|
|
|
name: gcp credentials
|
|
|
|
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
|
|
|
|
- run:
|
|
|
|
name: sign in to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
|
2018-10-31 04:49:09 -05:00
|
|
|
- run:
|
|
|
|
name: deploy to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gsutil cp ./dist/* gs://$GCP_BUCKET_NAME/oss/master'
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: Publish to Grafana.com
|
2018-06-05 13:11:57 -05:00
|
|
|
command: |
|
2018-06-06 06:07:47 -05:00
|
|
|
rm dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
|
2019-01-28 10:08:27 -06:00
|
|
|
rm dist/*latest*
|
2019-03-25 07:57:30 -05:00
|
|
|
cd dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -version "v$(cat grafana.version)" --nightly
|
2018-03-09 04:27:00 -06:00
|
|
|
|
|
|
|
deploy-release:
|
|
|
|
docker:
|
2019-04-03 08:24:34 -05:00
|
|
|
- image: grafana/grafana-ci-deploy:1.2.2
|
2018-03-09 04:27:00 -06:00
|
|
|
steps:
|
2018-12-14 09:10:16 -06:00
|
|
|
- checkout
|
2018-03-09 04:27:00 -06:00
|
|
|
- attach_workspace:
|
2018-04-20 05:59:44 -05:00
|
|
|
at: .
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
|
|
|
name: deploy to s3
|
|
|
|
command: 'aws s3 sync ./dist s3://$BUCKET_NAME/release'
|
2018-10-31 05:13:23 -05:00
|
|
|
- run:
|
|
|
|
name: gcp credentials
|
|
|
|
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
|
|
|
|
- run:
|
|
|
|
name: sign in to gcp
|
|
|
|
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
|
2018-10-31 04:49:09 -05:00
|
|
|
- run:
|
|
|
|
name: deploy to gcp
|
2018-11-05 02:55:19 -06:00
|
|
|
command: '/opt/google-cloud-sdk/bin/gsutil cp ./dist/* gs://$GCP_BUCKET_NAME/oss/release'
|
2018-03-09 04:27:00 -06:00
|
|
|
- run:
|
2018-10-03 04:17:46 -05:00
|
|
|
name: Deploy to Grafana.com
|
|
|
|
command: './scripts/build/publish.sh'
|
2018-12-14 09:10:16 -06:00
|
|
|
- run:
|
|
|
|
name: Load GPG private key
|
2019-01-14 09:23:48 -06:00
|
|
|
command: './scripts/build/load-signing-key.sh'
|
2018-12-14 09:10:16 -06:00
|
|
|
- run:
|
|
|
|
name: Update Debian repository
|
2019-01-16 04:11:00 -06:00
|
|
|
command: './scripts/build/update_repo/update-deb.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
|
2018-12-14 09:10:16 -06:00
|
|
|
- run:
|
|
|
|
name: Update RPM repository
|
2019-01-16 04:11:00 -06:00
|
|
|
command: './scripts/build/update_repo/update-rpm.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
|
2018-03-09 04:27:00 -06:00
|
|
|
|
2019-05-02 10:47:58 -05:00
|
|
|
build-oss-msi:
|
|
|
|
docker:
|
|
|
|
- image: grafana/wix-toolset-ci:v3
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: Build OSS MSI
|
|
|
|
command: './scripts/build/ci-msi-build/ci-msi-build-oss.sh'
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- dist/grafana-*.msi
|
|
|
|
|
2019-03-22 10:12:42 -05:00
|
|
|
store-build-artifacts:
|
|
|
|
docker:
|
|
|
|
- image: circleci/node:8
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- store_artifacts:
|
|
|
|
path: ./dist
|
|
|
|
|
2018-03-09 04:27:00 -06:00
|
|
|
workflows:
|
|
|
|
version: 2
|
2018-07-26 09:46:36 -05:00
|
|
|
build-master:
|
2018-03-09 04:27:00 -06:00
|
|
|
jobs:
|
2018-05-23 09:03:21 -05:00
|
|
|
- build-all:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-10-22 07:33:19 -05:00
|
|
|
- build-all-enterprise:
|
2018-07-04 06:09:42 -05:00
|
|
|
filters: *filter-only-master
|
2018-05-21 07:06:01 -05:00
|
|
|
- codespell:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-03-09 04:27:00 -06:00
|
|
|
- test-frontend:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-03-09 04:27:00 -06:00
|
|
|
- test-backend:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-05-30 06:55:30 -05:00
|
|
|
- mysql-integration-test:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-05-30 02:40:45 -05:00
|
|
|
- postgres-integration-test:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-only-master
|
2018-03-09 04:27:00 -06:00
|
|
|
- deploy-master:
|
|
|
|
requires:
|
2018-05-23 09:03:21 -05:00
|
|
|
- build-all
|
2018-03-09 04:27:00 -06:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
2018-05-21 07:06:01 -05:00
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-05-30 06:55:30 -05:00
|
|
|
- mysql-integration-test
|
2018-05-30 02:40:45 -05:00
|
|
|
- postgres-integration-test
|
2019-05-02 10:47:58 -05:00
|
|
|
- build-oss-msi
|
2018-07-26 06:40:52 -05:00
|
|
|
filters: *filter-only-master
|
2018-07-30 11:52:49 -05:00
|
|
|
- grafana-docker-master:
|
|
|
|
requires:
|
|
|
|
- build-all
|
2018-10-26 07:23:30 -05:00
|
|
|
- build-all-enterprise
|
2018-07-30 11:52:49 -05:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-07-30 11:52:49 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
filters: *filter-only-master
|
2018-07-02 09:05:23 -05:00
|
|
|
- deploy-enterprise-master:
|
|
|
|
requires:
|
|
|
|
- build-all
|
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-07-02 09:05:23 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
2018-10-22 07:33:19 -05:00
|
|
|
- build-all-enterprise
|
2018-07-04 06:09:42 -05:00
|
|
|
filters: *filter-only-master
|
2019-05-02 10:47:58 -05:00
|
|
|
- build-oss-msi:
|
|
|
|
requires:
|
|
|
|
- build-all
|
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
|
|
|
- backend-lint
|
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
filters: *filter-only-master
|
2018-07-02 09:05:23 -05:00
|
|
|
|
2018-05-21 07:06:01 -05:00
|
|
|
release:
|
|
|
|
jobs:
|
|
|
|
- build-all:
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2018-10-22 07:33:19 -05:00
|
|
|
- build-all-enterprise:
|
|
|
|
filters: *filter-only-release
|
2018-05-21 07:06:01 -05:00
|
|
|
- codespell:
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint:
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2018-05-21 07:06:01 -05:00
|
|
|
- test-frontend:
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2018-05-21 07:06:01 -05:00
|
|
|
- test-backend:
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2018-05-30 06:55:30 -05:00
|
|
|
- mysql-integration-test:
|
|
|
|
filters: *filter-only-release
|
2018-05-30 02:40:45 -05:00
|
|
|
- postgres-integration-test:
|
|
|
|
filters: *filter-only-release
|
2018-03-09 04:27:00 -06:00
|
|
|
- deploy-release:
|
|
|
|
requires:
|
2018-05-21 07:06:01 -05:00
|
|
|
- build-all
|
2018-03-09 04:27:00 -06:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
2018-05-21 07:06:01 -05:00
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-05-30 06:55:30 -05:00
|
|
|
- mysql-integration-test
|
2018-05-30 02:40:45 -05:00
|
|
|
- postgres-integration-test
|
2019-05-02 10:47:58 -05:00
|
|
|
- build-oss-msi
|
2018-05-21 08:57:57 -05:00
|
|
|
filters: *filter-only-release
|
2018-10-22 07:33:19 -05:00
|
|
|
- deploy-enterprise-release:
|
|
|
|
requires:
|
|
|
|
- build-all
|
|
|
|
- build-all-enterprise
|
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-10-22 07:33:19 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
filters: *filter-only-release
|
2018-07-30 11:52:49 -05:00
|
|
|
- grafana-docker-release:
|
|
|
|
requires:
|
|
|
|
- build-all
|
2018-11-20 10:00:20 -06:00
|
|
|
- build-all-enterprise
|
2018-07-30 11:52:49 -05:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-07-30 11:52:49 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
filters: *filter-only-release
|
2019-05-02 10:47:58 -05:00
|
|
|
- build-oss-msi:
|
|
|
|
requires:
|
|
|
|
- build-all
|
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
|
|
|
- backend-lint
|
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
filters: *filter-only-master
|
2018-07-26 09:46:36 -05:00
|
|
|
|
|
|
|
build-branches-and-prs:
|
|
|
|
jobs:
|
2019-05-01 10:20:01 -05:00
|
|
|
- build-fast-backend:
|
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
- build-fast-frontend:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-not-release-or-master
|
2019-05-01 10:20:01 -05:00
|
|
|
- build-fast-package:
|
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
requires:
|
|
|
|
- build-fast-backend
|
|
|
|
- build-fast-frontend
|
2018-07-26 09:46:36 -05:00
|
|
|
- codespell:
|
|
|
|
filters: *filter-not-release-or-master
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint:
|
2018-07-26 09:46:36 -05:00
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
- test-frontend:
|
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
- test-backend:
|
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
- mysql-integration-test:
|
|
|
|
filters: *filter-not-release-or-master
|
|
|
|
- postgres-integration-test:
|
|
|
|
filters: *filter-not-release-or-master
|
2019-03-07 12:07:11 -06:00
|
|
|
- cache-server-test:
|
|
|
|
filters: *filter-not-release-or-master
|
2018-08-06 10:34:25 -05:00
|
|
|
- grafana-docker-pr:
|
|
|
|
requires:
|
2019-05-01 10:20:01 -05:00
|
|
|
- build-fast-package
|
2018-08-06 10:34:25 -05:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2018-08-06 10:34:25 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
2019-03-07 10:16:08 -06:00
|
|
|
- cache-server-test
|
2018-08-06 10:34:25 -05:00
|
|
|
filters: *filter-not-release-or-master
|
2019-03-22 10:12:42 -05:00
|
|
|
- store-build-artifacts:
|
|
|
|
requires:
|
2019-05-01 10:20:01 -05:00
|
|
|
- build-fast-package
|
2019-03-22 10:12:42 -05:00
|
|
|
- test-backend
|
|
|
|
- test-frontend
|
|
|
|
- codespell
|
2019-03-27 11:53:49 -05:00
|
|
|
- backend-lint
|
2019-03-22 10:12:42 -05:00
|
|
|
- mysql-integration-test
|
|
|
|
- postgres-integration-test
|
|
|
|
- cache-server-test
|
|
|
|
filters: *filter-not-release-or-master
|