config.yml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751
  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-or-master
  9. tags:
  10. ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
  11. branches:
  12. ignore: master
  13. - &filter-only-master
  14. branches:
  15. only: master
  16. version: 2
  17. jobs:
  18. mysql-integration-test:
  19. docker:
  20. - image: circleci/golang:1.12.4
  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 devenv/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: './scripts/circle-test-mysql.sh'
  37. postgres-integration-test:
  38. docker:
  39. - image: circleci/golang:1.12.4
  40. - image: circleci/postgres:9.3-ram
  41. environment:
  42. POSTGRES_USER: grafanatest
  43. POSTGRES_PASSWORD: grafanatest
  44. POSTGRES_DB: grafanatest
  45. working_directory: /go/src/github.com/grafana/grafana
  46. steps:
  47. - checkout
  48. - run: sudo apt update
  49. - run: sudo apt install -y postgresql-client
  50. - run: dockerize -wait tcp://127.0.0.1:5432 -timeout 120s
  51. - run: 'PGPASSWORD=grafanatest psql -p 5432 -h 127.0.0.1 -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql'
  52. - run:
  53. name: postgres integration tests
  54. command: './scripts/circle-test-postgres.sh'
  55. cache-server-test:
  56. docker:
  57. - image: circleci/golang:1.12.4
  58. - image: circleci/redis:4-alpine
  59. - image: memcached
  60. working_directory: /go/src/github.com/grafana/grafana
  61. steps:
  62. - checkout
  63. - run: dockerize -wait tcp://127.0.0.1:11211 -timeout 120s
  64. - run: dockerize -wait tcp://127.0.0.1:6379 -timeout 120s
  65. - run:
  66. name: cache server tests
  67. command: './scripts/circle-test-cache-servers.sh'
  68. codespell:
  69. docker:
  70. - image: circleci/python
  71. steps:
  72. - checkout
  73. - run:
  74. name: install codespell
  75. command: 'sudo pip install codespell'
  76. - run:
  77. # Important: all words have to be in lowercase, and separated by "\n".
  78. name: exclude known exceptions
  79. command: 'echo -e "unknwon" > words_to_ignore.txt'
  80. - run:
  81. name: check documentation spelling errors
  82. command: 'codespell -I ./words_to_ignore.txt docs/'
  83. backend-lint:
  84. docker:
  85. - image: circleci/golang:1.12.4
  86. environment:
  87. # we need CGO because of go-sqlite3
  88. CGO_ENABLED: 1
  89. working_directory: /go/src/github.com/grafana/grafana
  90. steps:
  91. - checkout
  92. - run:
  93. name: backend lint
  94. command: './scripts/backend-lint.sh'
  95. test-frontend:
  96. docker:
  97. - image: circleci/node:8
  98. steps:
  99. - checkout
  100. - restore_cache:
  101. key: dependency-cache-{{ checksum "yarn.lock" }}
  102. - run:
  103. name: yarn install
  104. command: 'yarn install --pure-lockfile --no-progress'
  105. no_output_timeout: 15m
  106. - save_cache:
  107. key: dependency-cache-{{ checksum "yarn.lock" }}
  108. paths:
  109. - node_modules
  110. - run:
  111. name: frontend tests
  112. command: './scripts/circle-test-frontend.sh'
  113. test-backend:
  114. docker:
  115. - image: circleci/golang:1.12.4
  116. working_directory: /go/src/github.com/grafana/grafana
  117. steps:
  118. - checkout
  119. - run:
  120. name: build backend and run go tests
  121. command: './scripts/circle-test-backend.sh'
  122. build-all:
  123. docker:
  124. - image: grafana/build-container:1.2.6
  125. working_directory: /go/src/github.com/grafana/grafana
  126. steps:
  127. - checkout
  128. - run:
  129. name: prepare build tools
  130. command: '/tmp/bootstrap.sh'
  131. - restore_cache:
  132. key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
  133. - run:
  134. name: download phantomjs binaries
  135. command: './scripts/build/download-phantomjs.sh'
  136. - save_cache:
  137. key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
  138. paths:
  139. - /tmp/phantomjs
  140. - run:
  141. name: build and package grafana
  142. command: './scripts/build/build-all.sh'
  143. - run:
  144. name: sign packages
  145. command: './scripts/build/sign_packages.sh'
  146. - run:
  147. name: verify signed packages
  148. command: |
  149. mkdir -p ~/.rpmdb/pubkeys
  150. curl -s https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana > ~/.rpmdb/pubkeys/grafana.key
  151. ./scripts/build/verify_signed_packages.sh dist/*.rpm
  152. - run:
  153. name: sha-sum packages
  154. command: 'go run build.go sha-dist'
  155. - run:
  156. name: Test and build Grafana.com release publisher
  157. command: 'cd scripts/build/release_publisher && go test . && go build -o release_publisher .'
  158. - persist_to_workspace:
  159. root: .
  160. paths:
  161. - dist/*
  162. - scripts/*.sh
  163. - scripts/build/release_publisher/release_publisher
  164. - scripts/build/publish.sh
  165. build:
  166. docker:
  167. - image: grafana/build-container:1.2.6
  168. working_directory: /go/src/github.com/grafana/grafana
  169. steps:
  170. - checkout
  171. - run:
  172. name: prepare build tools
  173. command: '/tmp/bootstrap.sh'
  174. - run:
  175. name: build and package grafana
  176. command: './scripts/build/build.sh'
  177. - run:
  178. name: sign packages
  179. command: './scripts/build/sign_packages.sh'
  180. - run:
  181. name: sha-sum packages
  182. command: 'go run build.go sha-dist'
  183. - run:
  184. name: Test Grafana.com release publisher
  185. command: 'cd scripts/build/release_publisher && go test .'
  186. - persist_to_workspace:
  187. root: .
  188. paths:
  189. - dist/*
  190. build-fast-backend:
  191. docker:
  192. - image: grafana/build-container:1.2.6
  193. working_directory: /go/src/github.com/grafana/grafana
  194. steps:
  195. - checkout
  196. - run:
  197. name: prepare build tools
  198. command: '/tmp/bootstrap.sh'
  199. - run:
  200. name: build grafana backend
  201. command: './scripts/build/build.sh --fast --backend-only'
  202. - persist_to_workspace:
  203. root: .
  204. paths:
  205. - bin/*
  206. build-fast-frontend:
  207. docker:
  208. - image: grafana/build-container:1.2.6
  209. working_directory: /go/src/github.com/grafana/grafana
  210. steps:
  211. - checkout
  212. - run:
  213. name: prepare build tools
  214. command: '/tmp/bootstrap.sh'
  215. - restore_cache:
  216. key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
  217. - run:
  218. name: build grafana frontend
  219. command: './scripts/build/build.sh --fast --frontend-only'
  220. - save_cache:
  221. key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
  222. paths:
  223. - node_modules
  224. - persist_to_workspace:
  225. root: .
  226. paths:
  227. - public/build/*
  228. - tools/phantomjs/*
  229. build-fast-package:
  230. docker:
  231. - image: grafana/build-container:1.2.6
  232. working_directory: /go/src/github.com/grafana/grafana
  233. steps:
  234. - checkout
  235. - attach_workspace:
  236. at: .
  237. - restore_cache:
  238. key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
  239. - run:
  240. name: prepare build tools
  241. command: '/tmp/bootstrap.sh'
  242. - run:
  243. name: package grafana
  244. command: './scripts/build/build.sh --fast --package-only'
  245. - run:
  246. name: sha-sum packages
  247. command: 'go run build.go sha-dist'
  248. - run:
  249. name: Test Grafana.com release publisher
  250. command: 'cd scripts/build/release_publisher && go test .'
  251. - persist_to_workspace:
  252. root: /go/src/github.com/grafana/grafana
  253. paths:
  254. - dist/*
  255. build-fast-save:
  256. docker:
  257. - image: grafana/build-container:1.2.6
  258. working_directory: /go/src/github.com/grafana/grafana
  259. steps:
  260. - checkout
  261. - attach_workspace:
  262. at: .
  263. - restore_cache:
  264. key: dependency-cache-{{ checksum "yarn.lock" }}
  265. - run:
  266. name: debug cache
  267. command: 'ls -al /go/src/github.com/grafana/grafana/node_modules'
  268. - run:
  269. name: prepare build tools
  270. command: '/tmp/bootstrap.sh'
  271. - run:
  272. name: build grafana backend
  273. command: './scripts/build/build.sh --fast --backend-only'
  274. - run:
  275. name: build grafana frontend
  276. command: './scripts/build/build.sh --fast --frontend-only'
  277. - save_cache:
  278. key: dependency-cache-{{ checksum "yarn.lock" }}
  279. paths:
  280. - /go/src/github.com/grafana/grafana/node_modules
  281. - run:
  282. name: package grafana
  283. command: './scripts/build/build.sh --fast --package-only'
  284. - run:
  285. name: sign packages
  286. command: './scripts/build/sign_packages.sh'
  287. - run:
  288. name: sha-sum packages
  289. command: 'go run build.go sha-dist'
  290. - run:
  291. name: Test Grafana.com release publisher
  292. command: 'cd scripts/build/release_publisher && go test .'
  293. - persist_to_workspace:
  294. root: .
  295. paths:
  296. - dist/*
  297. grafana-docker-master:
  298. machine:
  299. image: circleci/classic:201808-01
  300. steps:
  301. - checkout
  302. - attach_workspace:
  303. at: .
  304. - run: docker info
  305. - run: docker run --privileged linuxkit/binfmt:v0.6
  306. - run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
  307. - run: cd packaging/docker && ./build-deploy.sh "master-${CIRCLE_SHA1}"
  308. - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
  309. - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
  310. - run: cd packaging/docker && ./build-enterprise.sh "master"
  311. grafana-docker-pr:
  312. machine:
  313. image: circleci/classic:201808-01
  314. steps:
  315. - checkout
  316. - attach_workspace:
  317. at: .
  318. - run: docker info
  319. - run: docker run --privileged linuxkit/binfmt:v0.6
  320. - run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
  321. - run: cd packaging/docker && ./build.sh --fast "${CIRCLE_SHA1}"
  322. grafana-docker-release:
  323. machine:
  324. image: circleci/classic:201808-01
  325. steps:
  326. - checkout
  327. - attach_workspace:
  328. at: .
  329. - run: docker info
  330. - run: docker run --privileged linuxkit/binfmt:v0.6
  331. - run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
  332. - run: cd packaging/docker && ./build-deploy.sh "${CIRCLE_TAG}"
  333. - run: rm packaging/docker/grafana-latest.linux-*.tar.gz
  334. - run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
  335. - run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
  336. build-enterprise:
  337. docker:
  338. - image: grafana/build-container:1.2.6
  339. working_directory: /go/src/github.com/grafana/grafana
  340. steps:
  341. - checkout
  342. - run:
  343. name: prepare build tools
  344. command: '/tmp/bootstrap.sh'
  345. - run:
  346. name: checkout enterprise
  347. command: './scripts/build/prepare-enterprise.sh'
  348. - run:
  349. name: test enterprise
  350. command: 'go test ./pkg/extensions/...'
  351. - run:
  352. name: build and package enterprise
  353. command: './scripts/build/build.sh -enterprise'
  354. - run:
  355. name: sign packages
  356. command: './scripts/build/sign_packages.sh'
  357. - run:
  358. name: sha-sum packages
  359. command: 'go run build.go sha-dist'
  360. - run:
  361. name: move enterprise packages into their own folder
  362. command: 'mv dist enterprise-dist'
  363. - persist_to_workspace:
  364. root: .
  365. paths:
  366. - enterprise-dist/*
  367. build-all-enterprise:
  368. docker:
  369. - image: grafana/build-container:1.2.6
  370. working_directory: /go/src/github.com/grafana/grafana
  371. steps:
  372. - checkout
  373. - run:
  374. name: prepare build tools
  375. command: '/tmp/bootstrap.sh'
  376. - run:
  377. name: checkout enterprise
  378. command: './scripts/build/prepare-enterprise.sh'
  379. - restore_cache:
  380. key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
  381. - run:
  382. name: download phantomjs binaries
  383. command: './scripts/build/download-phantomjs.sh'
  384. - save_cache:
  385. key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
  386. paths:
  387. - /tmp/phantomjs
  388. - run:
  389. name: test enterprise
  390. command: 'go test ./pkg/extensions/...'
  391. - run:
  392. name: build and package grafana
  393. command: './scripts/build/build-all.sh -enterprise'
  394. - run:
  395. name: sign packages
  396. command: './scripts/build/sign_packages.sh'
  397. - run:
  398. name: verify signed packages
  399. command: |
  400. mkdir -p ~/.rpmdb/pubkeys
  401. curl -s https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana > ~/.rpmdb/pubkeys/grafana.key
  402. ./scripts/build/verify_signed_packages.sh dist/*.rpm
  403. - run:
  404. name: sha-sum packages
  405. command: 'go run build.go sha-dist'
  406. - run:
  407. name: move enterprise packages into their own folder
  408. command: 'mv dist enterprise-dist'
  409. - persist_to_workspace:
  410. root: .
  411. paths:
  412. - enterprise-dist/*
  413. deploy-enterprise-master:
  414. docker:
  415. - image: grafana/grafana-ci-deploy:1.2.2
  416. steps:
  417. - attach_workspace:
  418. at: .
  419. - run:
  420. name: gcp credentials
  421. command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
  422. - run:
  423. name: sign in to gcp
  424. command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
  425. - run:
  426. name: deploy to s3
  427. command: 'aws s3 sync ./enterprise-dist s3://$ENTERPRISE_BUCKET_NAME/master'
  428. - run:
  429. name: deploy to gcp
  430. command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/master'
  431. - run:
  432. name: Deploy to grafana.com
  433. command: |
  434. cd enterprise-dist
  435. ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -enterprise -version "v$(cat grafana.version)" --nightly
  436. deploy-enterprise-release:
  437. docker:
  438. - image: grafana/grafana-ci-deploy:1.2.2
  439. steps:
  440. - checkout
  441. - attach_workspace:
  442. at: .
  443. - run:
  444. name: gcp credentials
  445. command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
  446. - run:
  447. name: sign in to gcp
  448. command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
  449. - run:
  450. name: deploy to s3
  451. command: 'aws s3 sync ./enterprise-dist s3://$ENTERPRISE_BUCKET_NAME/release'
  452. - run:
  453. name: deploy to gcp
  454. command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/release'
  455. - run:
  456. name: Deploy to Grafana.com
  457. command: './scripts/build/publish.sh --enterprise'
  458. - run:
  459. name: Load GPG private key
  460. command: './scripts/build/load-signing-key.sh'
  461. - run:
  462. name: Update Debian repository
  463. command: './scripts/build/update_repo/update-deb.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
  464. - run:
  465. name: Update RPM repository
  466. command: './scripts/build/update_repo/update-rpm.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
  467. deploy-master:
  468. docker:
  469. - image: grafana/grafana-ci-deploy:1.2.2
  470. steps:
  471. - attach_workspace:
  472. at: .
  473. - run:
  474. name: deploy to s3
  475. command: |
  476. # Also
  477. cp dist/grafana-latest.linux-x64.tar.gz dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
  478. aws s3 sync ./dist s3://$BUCKET_NAME/master
  479. - run:
  480. name: Trigger Windows build
  481. command: './scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master'
  482. - run:
  483. name: gcp credentials
  484. command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
  485. - run:
  486. name: sign in to gcp
  487. command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
  488. - run:
  489. name: deploy to gcp
  490. command: '/opt/google-cloud-sdk/bin/gsutil cp ./dist/* gs://$GCP_BUCKET_NAME/oss/master'
  491. - run:
  492. name: Publish to Grafana.com
  493. command: |
  494. rm dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
  495. rm dist/*latest*
  496. cd dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -version "v$(cat grafana.version)" --nightly
  497. deploy-release:
  498. docker:
  499. - image: grafana/grafana-ci-deploy:1.2.2
  500. steps:
  501. - checkout
  502. - attach_workspace:
  503. at: .
  504. - run:
  505. name: deploy to s3
  506. command: 'aws s3 sync ./dist s3://$BUCKET_NAME/release'
  507. - run:
  508. name: gcp credentials
  509. command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
  510. - run:
  511. name: sign in to gcp
  512. command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
  513. - run:
  514. name: deploy to gcp
  515. command: '/opt/google-cloud-sdk/bin/gsutil cp ./dist/* gs://$GCP_BUCKET_NAME/oss/release'
  516. - run:
  517. name: Deploy to Grafana.com
  518. command: './scripts/build/publish.sh'
  519. - run:
  520. name: Load GPG private key
  521. command: './scripts/build/load-signing-key.sh'
  522. - run:
  523. name: Update Debian repository
  524. command: './scripts/build/update_repo/update-deb.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
  525. - run:
  526. name: Update RPM repository
  527. command: './scripts/build/update_repo/update-rpm.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
  528. build-oss-msi:
  529. docker:
  530. - image: grafana/wix-toolset-ci:v3
  531. steps:
  532. - checkout
  533. - attach_workspace:
  534. at: .
  535. - run:
  536. name: Build OSS MSI
  537. command: './scripts/build/ci-msi-build/ci-msi-build-oss.sh'
  538. - persist_to_workspace:
  539. root: .
  540. paths:
  541. - dist/grafana-*.msi
  542. store-build-artifacts:
  543. docker:
  544. - image: circleci/node:8
  545. steps:
  546. - attach_workspace:
  547. at: .
  548. - store_artifacts:
  549. path: ./dist
  550. workflows:
  551. version: 2
  552. build-master:
  553. jobs:
  554. - build-all:
  555. filters: *filter-only-master
  556. - build-all-enterprise:
  557. filters: *filter-only-master
  558. - codespell:
  559. filters: *filter-only-master
  560. - backend-lint:
  561. filters: *filter-only-master
  562. - test-frontend:
  563. filters: *filter-only-master
  564. - test-backend:
  565. filters: *filter-only-master
  566. - mysql-integration-test:
  567. filters: *filter-only-master
  568. - postgres-integration-test:
  569. filters: *filter-only-master
  570. - deploy-master:
  571. requires:
  572. - build-all
  573. - test-backend
  574. - test-frontend
  575. - codespell
  576. - backend-lint
  577. - mysql-integration-test
  578. - postgres-integration-test
  579. - build-oss-msi
  580. filters: *filter-only-master
  581. - grafana-docker-master:
  582. requires:
  583. - build-all
  584. - build-all-enterprise
  585. - test-backend
  586. - test-frontend
  587. - codespell
  588. - backend-lint
  589. - mysql-integration-test
  590. - postgres-integration-test
  591. filters: *filter-only-master
  592. - deploy-enterprise-master:
  593. requires:
  594. - build-all
  595. - test-backend
  596. - test-frontend
  597. - codespell
  598. - backend-lint
  599. - mysql-integration-test
  600. - postgres-integration-test
  601. - build-all-enterprise
  602. filters: *filter-only-master
  603. - build-oss-msi:
  604. requires:
  605. - build-all
  606. - test-backend
  607. - test-frontend
  608. - codespell
  609. - backend-lint
  610. - mysql-integration-test
  611. - postgres-integration-test
  612. filters: *filter-only-master
  613. release:
  614. jobs:
  615. - build-all:
  616. filters: *filter-only-release
  617. - build-all-enterprise:
  618. filters: *filter-only-release
  619. - codespell:
  620. filters: *filter-only-release
  621. - backend-lint:
  622. filters: *filter-only-release
  623. - test-frontend:
  624. filters: *filter-only-release
  625. - test-backend:
  626. filters: *filter-only-release
  627. - mysql-integration-test:
  628. filters: *filter-only-release
  629. - postgres-integration-test:
  630. filters: *filter-only-release
  631. - deploy-release:
  632. requires:
  633. - build-all
  634. - test-backend
  635. - test-frontend
  636. - codespell
  637. - backend-lint
  638. - mysql-integration-test
  639. - postgres-integration-test
  640. - build-oss-msi
  641. filters: *filter-only-release
  642. - deploy-enterprise-release:
  643. requires:
  644. - build-all
  645. - build-all-enterprise
  646. - test-backend
  647. - test-frontend
  648. - codespell
  649. - backend-lint
  650. - mysql-integration-test
  651. - postgres-integration-test
  652. filters: *filter-only-release
  653. - grafana-docker-release:
  654. requires:
  655. - build-all
  656. - build-all-enterprise
  657. - test-backend
  658. - test-frontend
  659. - codespell
  660. - backend-lint
  661. - mysql-integration-test
  662. - postgres-integration-test
  663. filters: *filter-only-release
  664. - build-oss-msi:
  665. requires:
  666. - build-all
  667. - test-backend
  668. - test-frontend
  669. - codespell
  670. - backend-lint
  671. - mysql-integration-test
  672. - postgres-integration-test
  673. filters: *filter-only-master
  674. build-branches-and-prs:
  675. jobs:
  676. - build-fast-backend:
  677. filters: *filter-not-release-or-master
  678. - build-fast-frontend:
  679. filters: *filter-not-release-or-master
  680. - build-fast-package:
  681. filters: *filter-not-release-or-master
  682. requires:
  683. - build-fast-backend
  684. - build-fast-frontend
  685. - codespell:
  686. filters: *filter-not-release-or-master
  687. - backend-lint:
  688. filters: *filter-not-release-or-master
  689. - test-frontend:
  690. filters: *filter-not-release-or-master
  691. - test-backend:
  692. filters: *filter-not-release-or-master
  693. - mysql-integration-test:
  694. filters: *filter-not-release-or-master
  695. - postgres-integration-test:
  696. filters: *filter-not-release-or-master
  697. - cache-server-test:
  698. filters: *filter-not-release-or-master
  699. - grafana-docker-pr:
  700. requires:
  701. - build-fast-package
  702. - test-backend
  703. - test-frontend
  704. - codespell
  705. - backend-lint
  706. - mysql-integration-test
  707. - postgres-integration-test
  708. - cache-server-test
  709. filters: *filter-not-release-or-master
  710. - store-build-artifacts:
  711. requires:
  712. - build-fast-package
  713. - test-backend
  714. - test-frontend
  715. - codespell
  716. - backend-lint
  717. - mysql-integration-test
  718. - postgres-integration-test
  719. - cache-server-test
  720. filters: *filter-not-release-or-master