Skip to content

Commit 608303f

Browse files
committed
Merge branch 'master' into jquery-flot-events-to-ts
2 parents b2027af + 34a8864 commit 608303f

File tree

925 files changed

+69596
-29436
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

925 files changed

+69596
-29436
lines changed

.circleci/config.yml

Lines changed: 155 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,59 @@
1+
aliases:
2+
# Workflow filters
3+
- &filter-only-release
4+
branches:
5+
ignore: /.*/
6+
tags:
7+
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
8+
- &filter-not-release
9+
tags:
10+
ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
11+
- &filter-only-master
12+
branches:
13+
only: master
14+
115
version: 2
216

317
jobs:
18+
mysql-integration-test:
19+
docker:
20+
- image: circleci/golang:1.10
21+
- image: circleci/mysql:5.6-ram
22+
environment:
23+
MYSQL_ROOT_PASSWORD: rootpass
24+
MYSQL_DATABASE: grafana_tests
25+
MYSQL_USER: grafana
26+
MYSQL_PASSWORD: password
27+
working_directory: /go/src/github.com/grafana/grafana
28+
steps:
29+
- checkout
30+
- run: sudo apt update
31+
- run: sudo apt install -y mysql-client
32+
- run: dockerize -wait tcp://127.0.0.1:3306 -timeout 120s
33+
- run: cat docker/blocks/mysql_tests/setup.sql | mysql -h 127.0.0.1 -P 3306 -u root -prootpass
34+
- run:
35+
name: mysql integration tests
36+
command: 'GRAFANA_TEST_DB=mysql go test ./pkg/services/sqlstore/... ./pkg/tsdb/mysql/... '
37+
38+
postgres-integration-test:
39+
docker:
40+
- image: circleci/golang:1.10
41+
- image: circleci/postgres:9.3-ram
42+
environment:
43+
POSTGRES_USER: grafanatest
44+
POSTGRES_PASSWORD: grafanatest
45+
POSTGRES_DB: grafanatest
46+
working_directory: /go/src/github.com/grafana/grafana
47+
steps:
48+
- checkout
49+
- run: sudo apt update
50+
- run: sudo apt install -y postgresql-client
51+
- run: dockerize -wait tcp://127.0.0.1:5432 -timeout 120s
52+
- run: 'PGPASSWORD=grafanatest psql -p 5432 -h 127.0.0.1 -U grafanatest -d grafanatest -f docker/blocks/postgres_tests/setup.sql'
53+
- run:
54+
name: postgres integration tests
55+
command: 'GRAFANA_TEST_DB=postgres go test ./pkg/services/sqlstore/... ./pkg/tsdb/postgres/...'
56+
457
codespell:
558
docker:
659
- image: circleci/python
@@ -35,18 +88,17 @@ jobs:
3588
- run:
3689
name: run linters
3790
command: 'gometalinter.v2 --enable-gc --vendor --deadline 10m --disable-all --enable=deadcode --enable=ineffassign --enable=structcheck --enable=unconvert --enable=varcheck ./...'
91+
- run:
92+
name: run go vet
93+
command: 'go vet ./pkg/...'
3894

3995
test-frontend:
4096
docker:
41-
- image: circleci/node:6.11.4
97+
- image: circleci/node:8
4298
steps:
4399
- checkout
44-
- run:
45-
name: install yarn
46-
command: 'sudo npm install -g yarn --quiet'
47100
- restore_cache:
48101
key: dependency-cache-{{ checksum "yarn.lock" }}
49-
# Could we skip this step if the cache has been restored? `[ -d node_modules ] || yarn install ...` should be able to apply to build step as well
50102
- run:
51103
name: yarn install
52104
command: 'yarn install --pure-lockfile --no-progress'
@@ -68,15 +120,27 @@ jobs:
68120
name: build backend and run go tests
69121
command: './scripts/circle-test-backend.sh'
70122

71-
build:
123+
build-all:
72124
docker:
73-
- image: grafana/build-container:v0.1
125+
- image: grafana/build-container:1.0.0
74126
working_directory: /go/src/github.com/grafana/grafana
75127
steps:
76128
- checkout
129+
- run:
130+
name: prepare build tools
131+
command: '/tmp/bootstrap.sh'
132+
- restore_cache:
133+
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
134+
- run:
135+
name: download phantomjs binaries
136+
command: './scripts/build/download-phantomjs.sh'
137+
- save_cache:
138+
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
139+
paths:
140+
- /tmp/phantomjs
77141
- run:
78142
name: build and package grafana
79-
command: './scripts/build/build.sh'
143+
command: './scripts/build/build-all.sh'
80144
- run:
81145
name: sign packages
82146
command: './scripts/build/sign_packages.sh'
@@ -92,6 +156,8 @@ jobs:
92156
- dist/grafana*
93157
- scripts/*.sh
94158
- scripts/publish
159+
- store_artifacts:
160+
path: dist
95161

96162
build-enterprise:
97163
docker:
@@ -100,14 +166,34 @@ jobs:
100166
steps:
101167
- checkout
102168
- run:
103-
name: build and package grafana
169+
name: build, test and package grafana enterprise
104170
command: './scripts/build/build_enterprise.sh'
105171
- run:
106172
name: sign packages
107173
command: './scripts/build/sign_packages.sh'
108174
- run:
109175
name: sha-sum packages
110176
command: 'go run build.go sha-dist'
177+
- run:
178+
name: move enterprise packages into their own folder
179+
command: 'mv dist enterprise-dist'
180+
- persist_to_workspace:
181+
root: .
182+
paths:
183+
- enterprise-dist/grafana-enterprise*
184+
185+
deploy-enterprise-master:
186+
docker:
187+
- image: circleci/python:2.7-stretch
188+
steps:
189+
- attach_workspace:
190+
at: .
191+
- run:
192+
name: install awscli
193+
command: 'sudo pip install awscli'
194+
- run:
195+
name: deploy to s3
196+
command: 'aws s3 sync ./enterprise-dist s3://$ENTERPRISE_BUCKET_NAME/master'
111197

112198
deploy-master:
113199
docker:
@@ -120,16 +206,21 @@ jobs:
120206
command: 'sudo pip install awscli'
121207
- run:
122208
name: deploy to s3
123-
command: 'aws s3 sync ./dist s3://$BUCKET_NAME/master'
209+
command: |
210+
# Also
211+
cp dist/grafana-latest.linux-x64.tar.gz dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
212+
aws s3 sync ./dist s3://$BUCKET_NAME/master
124213
- run:
125214
name: Trigger Windows build
126215
command: './scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master'
127216
- run:
128217
name: Trigger Docker build
129-
command: './scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN}'
218+
command: './scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN} master-$(echo "${CIRCLE_SHA1}" | cut -b1-7)'
130219
- run:
131220
name: Publish to Grafana.com
132-
command: './scripts/publish -apiKey ${GRAFANA_COM_API_KEY}'
221+
command: |
222+
rm dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
223+
./scripts/publish -apiKey ${GRAFANA_COM_API_KEY}
133224
134225
deploy-release:
135226
docker:
@@ -154,45 +245,67 @@ workflows:
154245
version: 2
155246
test-and-build:
156247
jobs:
248+
- build-all:
249+
filters: *filter-only-master
250+
- build-enterprise:
251+
filters: *filter-only-master
157252
- codespell:
158-
filters:
159-
tags:
160-
only: /.*/
253+
filters: *filter-not-release
161254
- gometalinter:
162-
filters:
163-
tags:
164-
only: /.*/
165-
- build:
166-
filters:
167-
tags:
168-
only: /.*/
255+
filters: *filter-not-release
169256
- test-frontend:
170-
filters:
171-
tags:
172-
only: /.*/
257+
filters: *filter-not-release
173258
- test-backend:
174-
filters:
175-
tags:
176-
only: /.*/
259+
filters: *filter-not-release
260+
- mysql-integration-test:
261+
filters: *filter-not-release
262+
- postgres-integration-test:
263+
filters: *filter-not-release
177264
- deploy-master:
178265
requires:
266+
- build-all
267+
- test-backend
268+
- test-frontend
269+
- codespell
270+
- gometalinter
271+
- mysql-integration-test
272+
- postgres-integration-test
273+
filters: *filter-only-master
274+
- deploy-enterprise-master:
275+
requires:
276+
- build-all
179277
- test-backend
180278
- test-frontend
181-
- build
182-
filters:
183-
branches:
184-
only: master
279+
- codespell
280+
- gometalinter
281+
- mysql-integration-test
282+
- postgres-integration-test
283+
- build-enterprise
284+
filters: *filter-only-master
285+
286+
release:
287+
jobs:
288+
- build-all:
289+
filters: *filter-only-release
290+
- codespell:
291+
filters: *filter-only-release
292+
- gometalinter:
293+
filters: *filter-only-release
294+
- test-frontend:
295+
filters: *filter-only-release
296+
- test-backend:
297+
filters: *filter-only-release
298+
- mysql-integration-test:
299+
filters: *filter-only-release
300+
- postgres-integration-test:
301+
filters: *filter-only-release
185302
- deploy-release:
186303
requires:
304+
- build-all
187305
- test-backend
188306
- test-frontend
189-
- build
190-
filters:
191-
branches:
192-
ignore: /.*/
193-
tags:
194-
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
195-
# - build-enterprise:
196-
# filters:
197-
# tags:
198-
# only: /.*/
307+
- codespell
308+
- gometalinter
309+
- mysql-integration-test
310+
- postgres-integration-test
311+
filters: *filter-only-release

.dockerignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,5 @@ dump.rdb
1111
node_modules
1212
/local
1313
/tmp
14-
/vendor
1514
*.yml
1615
*.md
17-
/vendor
18-
/tmp

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public/css/*.min.css
3333
*.tmp
3434
.DS_Store
3535
.vscode/
36+
.vs/
3637

3738
/data/*
3839
/bin/*
@@ -42,6 +43,8 @@ fig.yml
4243
docker-compose.yml
4344
docker-compose.yaml
4445
/conf/provisioning/**/custom.yaml
46+
/conf/provisioning/**/dev.yaml
47+
/conf/ldap_dev.toml
4548
profile.cov
4649
/grafana
4750
/local
@@ -65,4 +68,6 @@ debug.test
6568
/vendor/**/*_test.go
6669
/vendor/**/.editorconfig
6770
/vendor/**/appengine*
68-
*.orig
71+
*.orig
72+
73+
/devenv/dashboards/bulk-testing/*.json

0 commit comments

Comments
 (0)