Commit Graph

157 Commits

Author SHA1 Message Date
Dimitris Sotirakis
c18432971b
CI: Introduce lint-backend pipeline (#55476)
* Introduce lint-backend pipeline

* Use go image and install make

* Don't run lint pipeline on .drone.yml changes
2022-09-21 07:05:19 -04:00
Dimitris Sotirakis
2c872b0d94
Run enterprise downstream after OSS CI is done (#55366) 2022-09-19 17:17:36 +03:00
Kevin Minehart
c69a37f8c2
CI: grabpl verify-drone -> ./bin/build verify-drone (#55171)
* move grabpl verify-drone
2022-09-14 09:07:09 -05:00
Dimitris Sotirakis
8b38f9408d
Run codespell only on docs changes (#55064) 2022-09-14 16:32:08 +03:00
Dimitris Sotirakis
716bdde3f6
CI: Make shellcheck a standalone pipeline (#55082)
* Make shellcheck standalone pipeline

* Run shellcheck on every .sh change

* Change base image

* Trigger on script changes

* Run shellcheck on PRs only
2022-09-14 09:00:06 +03:00
Dimitris Sotirakis
8c081d4523
Remove gen-version from windows pipelines (#54941) 2022-09-09 03:22:38 -04:00
Dimitris Sotirakis
4735de6aa4
Run gen-version in windows pipelines (#54624) 2022-09-02 06:27:20 -04:00
Timur Olzhabayev
b5b41988cf
Docs: Deprecating packages_api and removing it from our pipelines (#54473) 2022-09-01 18:15:44 +02:00
Dimitris Sotirakis
7e2238cf6f
CI: Generate Grafana version (and metadata) when the build binary is built (#54393)
* Add GenerateVersions as BeforeFunc

* Delete gen-version

* Fix lint

* Get build id from env var
2022-09-01 15:43:40 +03:00
Dimitris Sotirakis
332bc3aa63
CI: Split store-packages step (#53516)
* Remove unused def

* Add grafanacom step
2022-08-11 05:31:35 -04:00
Dimitris Sotirakis
e9fe9a25dc
Run docs pipeline on *.md changes only, in the packages dir (#53517) 2022-08-10 13:39:56 +03:00
Dimitris Sotirakis
499cac44e3
Remove packages-bucket arg (#53421) 2022-08-08 13:05:26 -04:00
Dimitris Sotirakis
5d014f0c37
CI: Run main-docs pipeline only, when a docs PR is merged (#53026)
* Trigger docs pipeline on main, on docs only changes

* Export docs inclusion paths in variable
2022-08-03 08:08:43 -04:00
Kevin Minehart
d567f199dd
CI: add the grabpl build-backend command into the repo (#52673)
* Move the grabpl build-backend command and clean it up a bit
2022-07-28 10:11:22 -04:00
Dimitris Sotirakis
3b6cef9dfa
CI: Refactor/Reorder *.star files (#52384)
* Refactor test pipelines

* Move pr, main and release starlark files under scripts/drone/event

* Move cron.star to scripts/drone/events

* Further unused code removal

* Introducing build.star

* Extract verify_drone.star

* Extract windows.star

* Extract publish.star

* Remove unused code

* Fix formatting in main.star
2022-07-20 09:43:19 -04:00
Dimitris Sotirakis
e0d1af1867
Remove volumes from build-e2e pipeline on main (#52386) 2022-07-19 14:38:43 +03:00
Dimitris Sotirakis
2af5feb147
CI: Add pr-verify-drone pipeline (#51951)
* Introduce pr-verify-drone pipeline

* Remove `make drone` pre-commit hook

* Remove lint-drone from test-backend pipeline
2022-07-08 12:18:46 +03:00
Dimitris Sotirakis
5cbb7003c0
Add artifacts-page grabpl command (#51894) 2022-07-07 11:00:28 -04:00
Dimitris Sotirakis
6447e08809
Add gen-version step to release pipelines (#51913) 2022-07-07 10:32:18 -04:00
Dimitris Sotirakis
88943590b3
Add gen-version for main-publish pipeline (#51890) 2022-07-07 12:58:20 +01:00
Dimitris Sotirakis
f279699beb
CI: Abstract Grafana versioning (#50935)
* Remove flags and update grabpl

* Sign drone yaml
2022-07-07 13:41:27 +03:00
Ashley Harrison
f654152dc8
Chore: split betterer into it's own CI step and allow failures for now (#51543)
* split betterer into it's own CI step and allow failures for now

* Run make drone

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-06-29 15:04:52 +01:00
idafurjes
ef23a76310
Remove integration tags for enterprise (#50974)
* Remove integration tags for enterprise

* Adjust integration tests and backend tests for the current enterprise setup

* Remove entrerprise2 integration step and use go command for enterprise2 backend step

* CI: Tidy up `release-enterprise-*` pipeline dependencies (#51031)

* Tidy up enterprise deps

* Fixes according to reviewer's comments

Co-authored-by: dsotirakis <sotirakis.dim@gmail.com>
2022-06-22 15:22:42 +02:00
Dimitris Sotirakis
f351b9a923
Remove enterprise2 condition - move tests to release pipelines (#51096) 2022-06-21 14:44:51 +02:00
idafurjes
335ce44890
Fix integration tests for mysql and postgres (#50867)
* Fix integration tests for mysql and postgres

* Package by package testing

* Adding make gen-go to the postgres and mysql integration step

* Rewrite command for backend integration tests

* Diffentiate command for OSS and enterprise
* Add wire-install as dependant for OSS integration tests
* set GRAFANA_TEST_DB variable in the go test command

* No verbose output

* Remove redundant env var

* Try fixing the tests

* Trying stg else

* Remove verbose

Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2022-06-16 16:41:56 +02:00
Dimitris Sotirakis
8a6ed3d81b
Remove armv6 from build-backend variants (#50878) 2022-06-15 16:46:47 +03:00
Dimitris Sotirakis
7566f800e6
Include public/app/plugins/**/plugin.json in the BE test paths (#50756) 2022-06-14 12:22:52 +03:00
Dimitris Sotirakis
5633648383
Rename release pipelines (#50585) 2022-06-10 12:28:50 +02:00
sam boyer
9fc889f5f6
ci: Depend on init-enterprise for gen-cue verify (#50191) 2022-06-09 09:48:27 +03:00
Dimitris Sotirakis
63ed5367c3
Remove test_steps (#50396) 2022-06-08 14:00:52 +03:00
sam boyer
8876d56495
schema: Migrate from scuemata to thema (#49805)
* Remove crufty scuemata bits

Buhbye to: cue/ dir with old definitions, CI steps for checking unnecessary
things, and the original dashboard scuemata file.

* Remove grafana-cli cue subcommand

* Remove old testdata

* Don't swallow errors from codegen

* Small nits and tweaks to cuectx package

* WIP - refactor pluggen to use Thema

Also consolidate the embed.FS in the repo root.

* Finish halfway rename

* Convert all panel models.cue to thema

* Rewrite pluggen to use Thema

* Remove pkg/schema, and trim command

* Remove schemaloader service and usages

Will be replaced by coremodel-centric hydrate/dehydrate system Soon™.

* Remove schemaloader from wire

* Remove hangover field on histogram models.cue

* Fix lint errors, some vestiges of trim service

* Remove unused cuetsify cli command
2022-06-06 17:52:44 -07:00
Dimitris Sotirakis
b6a329c268
CI: Trigger pr-test-* pipelines on different cases (#48426)
* Trigger pr-test-backend pipeline on pkg/* changes

* Exclude paths for pr-test-frontend pipeline

* Add more paths

* Revert *.md - trigger on go.* changes

* Replace star with doublestar
2022-06-01 11:47:50 +03:00
sam boyer
be06d37a20
schema: Generate Go and Typescript from Thema coremodels (#49193)
* Add go code generator for coremodels

* Just generate the entire coremodel for now

Maybe we'll need more flexibility as more coremodels are added, but for
now this is fine.

* Add note on type comment about stability, grodkit

* Remove local replace directive for thema

* Generate typescript from coremodel

* Update pkg/coremodel/dashboard/addenda.go

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Update cuetsy to new release

* Update thema to latest

* Fix enum generation for FieldColorModeId

* Put main generated object at the end of the file

* Tweaks to generated Go output

* Retweak back to var

* Add generated coremodel test

* Remove local replace statement again

* Add Make target and call into cuetsy cmd from gen

* Rename and comment linsrc for readability

* Move key codegen bits into reusable package

* Move body of cuetsifier into codegen pkg

Also genericize the diffing output into reusable WriteDiffer.

* Refactor coremodel generator to use WriteDiffer

* Add gen-cue step to CI

* Whip all the codegen automation into shape

* Add simplistic coremodel canonicality controls

* Remove erroneously committed test

* Bump thema version

* Remove dead code

* Improve wording of non-canonicality comment

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-27 03:21:37 +02:00
Agnès Toulet
4bd97c8673
Drone: Trigger Enterprise PR checks for OSS PRs (#47176)
* Drone: add enterprise-init-downstream step

* fixes

* Add OSS_PULL_REQUEST env variable for downstream builds

* sign Drone config

* Update .drone.yml

* use test grabpl

* test without init step

* fix downstream branch

* unknown branch test

* use drone-downstream test image

* revert latest changes

* update Drone and add GH workflow

* fix PR number

* Run Enterprise PR check only on PRs targeting main or release branch

* update repository dispatch action

* remove test data

* update grabpl version
2022-05-16 14:28:37 +02:00
Dimitris Sotirakis
20f62e1841
CI: Split main tests pipeline (#48628)
* Split tests pipeline

* Rename dependencies
2022-05-03 13:54:47 +02:00
Dimitris Sotirakis
b414ac5d8c
Remove references from pr and main starlark (#48544) 2022-04-29 16:15:40 +01:00
Dimitris Sotirakis
c3ba6f962b
CI: Run docs pipeline only upon changes to root markdown files (#48433)
* Run docs pipeline only upon changes to root markdown files

* Include latest/json
2022-04-28 17:41:46 +03:00
Dimitris Sotirakis
a7a5476ac2
CI: Split publish-packages pipeline (#48414)
* Split publish packages pipeline

* Small refactoring
2022-04-28 14:53:32 +03:00
Dimitris Sotirakis
67752ad88c
Reorder dependencies for npm release steps (#48403) 2022-04-28 12:15:28 +02:00
Dimitris Sotirakis
ff23f78b51
Split frontend and backend pipelines (#48362) 2022-04-28 12:04:03 +03:00
Dimitris Sotirakis
430b9ae5cb
CI: Rename main pipelines (#48245)
* Rename main pipelines

* Rename dependencies
2022-04-26 11:40:13 +01:00
Dimitris Sotirakis
412be1f1cf
Add yarn-install when publishing npm packages (#48061) 2022-04-21 16:31:39 +02:00
Dimitris Sotirakis
508cc58a63
CI: Remove unused --github-token flag (#47773)
* Remove github token flag

* Minor cleanup

* Update grabpl
2022-04-15 10:42:58 +03:00
Dimitris Sotirakis
90892050d0
CI: Remove initialize step (#47622)
* Remove initialize step from pr.star

* Remove initialize step from main.star

* Remove initialize step from release.star

* Reorder dependencies

* Re-add identify runner step

* Add enterprise steps

* Remove is_downstream variable from starlark logic (#47715)

* Make init steps depend on init-enterprise for enterprise pipelines

* Exclude shellcheck from enterprise pipelines

* Add init steps to enterprise integration tests pipeline

* Add dependency for windows enterprise step

* Update grabpl version
2022-04-14 14:56:14 +03:00
Dimitris Sotirakis
3e030d137f
CI: Remove unused downstream build pipelines (#47646)
* Remove unused downstream build pipelines

* Prettify
2022-04-12 16:36:49 +02:00
Dimitris Sotirakis
ce2a9252c2
Replace with secret (#47488) 2022-04-08 10:06:45 +02:00
Jack Westbrook
a1ebcd520c
Build: Remove redundant build_npm_packages_step (#47384) 2022-04-06 14:26:59 +02:00
Dimitris Sotirakis
bd386df617
CI: Run publishing steps only on OSS repo for main/version branches (#47315)
* Convert steps to run on OSS repo only

* Exclude versioned branches from publishing artifacts

* Change trigger -> when

* Add trigger to upload_* steps

* Add conditions to remaining steps

* Exclude release steps

* Bring back exclusion for release builds
2022-04-06 10:46:05 +03:00
Dimitris Sotirakis
305530224a
Run slack notify on OSS repo only (#47194) 2022-04-01 14:20:26 +02:00
Dimitris Sotirakis
ee92af8ebe
Add dependencies (#47126) 2022-03-31 15:04:05 +03:00
malcolmholmes
562397ff8b
Build: only build on OSS for main/version (#46079)
* Only do main/version builds on OSS repo

* Sign drone

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-03-29 12:57:54 +00:00
Dimitris Sotirakis
0e682397ab
Add GH token when referring to remote - add --quite when running git push (#46926) 2022-03-24 15:01:49 +00:00
Dimitris Sotirakis
9bf82c37e3
Fetch tags after cloning (#46921) 2022-03-24 11:54:58 +00:00
Dimitris Sotirakis
758ccfb69e
CI: Trigger release build upon drone yaml changes (#46882)
* Add trigger-test-release step

* Change cd command

* Add failure:ignore

* Add depth when cloning

* Fix wrong secret
2022-03-24 10:59:15 +00:00
Dimitris Sotirakis
82b436afee
CI: Add more checks to standalone docs pipeline (#46449)
* Add build frontend package step

* Reorder dependencies

* Add codespell and prettier checks
2022-03-11 16:48:23 +02:00
Kevin Minehart
085a8fde67
linux-x64 -> linux-amd64 (#46209) 2022-03-03 23:53:09 +01:00
Dimitris Sotirakis
42dd4d687d
CI: Change variants for pr_pipelines (#46170)
* Change variants for pr_pipelines

* Update grabpl
2022-03-03 16:39:03 +01:00
Dimitris Sotirakis
0012b89826
CI: Rename build variants - bump grabpl version (#46152)
* Update grabpl

* Change variants for pr_pipelines
2022-03-03 16:31:44 +02:00
Dimitris Sotirakis
2f6c827f5d
CI: Introduce build-frontend-packages step (#45824)
* Split frontend build

* Fix command name

* Update grabpl
2022-03-02 13:02:07 +02:00
Dimitris Sotirakis
ea3e41ea62
CI: Add docs pipeline for main pipelines (#45740)
* Add docs pipeline for main

* Extract trigger docs

* Change trigger for main
2022-02-22 18:06:14 +00:00
Dimitris Sotirakis
02640c7436
Docs: Remove dependency between build-frontend and build-frontend-docs (#45736)
* Remove dependency

* Add yarn commands
2022-02-22 18:02:36 +02:00
Dimitris Sotirakis
3db331402d
DockerHub: Use grafana(-oss)-image-tags to push to grafana(-oss)-dev DockerHub repo (#45708)
* Revert back changes - changes are done on grabpl

* Sync drone
2022-02-22 09:51:31 +01:00
Dimitris Sotirakis
67c1a359d1
Fix dockerhub repo for main (#45701) 2022-02-21 22:22:10 +01:00
Dimitris Sotirakis
434697e0fd
CI: Introduce docs pipeline (#45454)
* Add docs.star

* Fixes in drone yaml

* Add grabpl

* Remove unnecessary steps

(cherry picked from commit f2e03cdb107eb283416885a73051c1ff86eb8b7f)

* Rename docs pipeline

* Exclude docs related steps from PR pipelines

* Add packages/** trigger

* Remove packages exclusion from pr pipelines
2022-02-21 13:55:16 +02:00
Dimitris Sotirakis
5543ad883d
CI: Remove grafana/drone-grafana-docker image (#44983)
* Remove grafana/drone-grafana-docker image

* Rename step

* Remove manual gcloud authentication

(cherry picked from commit 329b1a1ef3903c7e2c3ec1f286f9b0f00fcd023e)

* Add publish command for main

* Fix TAG variable parsing

* Remove shouldSave from main builds

* Reorder dependencies

* Update grabpl version
2022-02-07 18:30:41 +01:00
Dimitris Sotirakis
5f16e4cedc
Rename build-e2e-publish pipelines (#44836) 2022-02-03 14:23:50 +00:00
Dimitris Sotirakis
7bb5a5b318
CI: Make e2e tests depend on binary builds (#44647)
* Make e2e test depend on binary builds

* Search for binary in the correct folders

* Remove package file var

* Add ARCH var
2022-02-02 12:40:22 +02:00
Dimitris Sotirakis
27fbe82bf1
Remove test-release pipelines (#44220) 2022-01-19 16:42:40 +00:00
Dimitris Sotirakis
46280848d8
CI: Release automation fixes (#44200)
* Change bucket

(cherry picked from commit f7b85c5dd9)

* Make publish-packages depend on publish-artifacts pipeline

(cherry picked from commit 1c91e84f17)

* Change bucket for windows .msi installers

(cherry picked from commit 5ce49e48df)
2022-01-19 15:12:57 +02:00
Dimitris Sotirakis
4f47832bac
CI: Automate Grafana releases (#43897)
* CI: Automate releases

* Update grabpl version
2022-01-11 16:28:29 +02:00
Dimitris Sotirakis
f60a2e8152
Chore: Split release pipelines (#43419)
* Split release pipelines

* Re-add pr and main pipelines
2022-01-11 09:17:00 +00:00
Dimitris Sotirakis
e3baa24946
CI: Remove initialize step from integration tests pipeline (#43663)
* Remove initialize step from integration tests

* Remove initialize step from integration tests on main pipelines
2022-01-04 14:17:20 +01:00
Timur Olzhabayev
ec9d6b9ca9
chore(drone): switch to using cypress built image for e2e tests 2021-12-28 13:59:20 +01:00
Timur Olzhabayev
169d39f8e4
feat(e2e-artifacts): upload e2e artifacts to a gcs bucket (#43210)
feat(e2e-artifacts): upload e2e artifacts to a gcs bucket
2021-12-24 10:43:32 +01:00
Dimitris Sotirakis
59e153cde8
Remove Github Packages publish step (#43453) 2021-12-23 10:12:37 +02:00
Dimitris Sotirakis
d88502112f
Chore: Replace publish keyword with store (#43340)
* Replace publish keyword with store

* Rename publish_steps with store_steps

* Update grabpl version
2021-12-20 12:23:51 +01:00
Dimitris Sotirakis
b7f8c1855d
Add services to main-integration-tests (#43325) 2021-12-20 09:33:47 +01:00
Dimitris Sotirakis
2fd2fd353e
Split pipelines on main builds (#43324) 2021-12-20 09:09:25 +01:00
Marcus Efraimsson
5bec46ce23
Build: Speed up integration tests (#43045)
Changes so that postgres/mysql services in Drone maps their data volumes 
to tmpfs volumes (memory) to improve performance.
2021-12-15 13:48:59 +01:00
malcolmholmes
de6148e5f1
Build: allow building releases from other repositories (#42914)
* Allow building from other repositories

* Upgrade grabpl

* Update drone.yml
2021-12-09 13:09:17 +00:00
malcolmholmes
6a5416bcec
Build: Correct syntax for directing release builds (#42789) 2021-12-06 15:03:44 +00:00
malcolmholmes
b6818718e9
Build: don't run release builds on grafana/grafana repo (#42785) 2021-12-06 14:30:13 +00:00
Dimitris Sotirakis
dc627a3d47
Remove e2e tests on enterprise2 (#42640) 2021-12-02 14:55:23 +02:00
malcolmholmes
4d55c6fe51
Build: publish artifacts to correct GCS buckets for main and release builds (#42537)
* Fix main build (deb downloads)

* Direct cdn assets to correct bucket
2021-11-30 16:40:24 +00:00
malcolmholmes
9c0a2a19fd
Package release before publishing (#42218)
* Package separately to publish

* Fix interpolation

* Windows format envvars

* More descriptive msg

* Won't publish from here

* Resolve docker issues in PR build

* Rename package docker step

* Correct npm release JSON structure
2021-11-30 10:53:07 +00:00
Dimitris Sotirakis
54ea2ed766
CI: Notify channel on drone yaml changes (#42428)
* Notify on drone yaml changes

* Change secrets

* Remove test notification

* Fix typo
2021-11-29 20:08:13 +02:00
Dimitris Sotirakis
db122e9b2c
CI: Run e2e tests in parallel using multiple suites (#41748)
* Split suite1 to multiple e2e test suites

* Update drone yaml

* Add missing arg

* Extract cypress install step

* Change image on e2e tests step

* Sync with main

* Add cypress cache volume

* Try with grafana/ci-e2e:12.19.0-1 image

* Update grabpl version to 2.7.2

* Revert a11y failure back to 'always'
2021-11-24 11:20:11 +01:00
Marcus Efraimsson
6b79393ccc
Chore: Split nightly docker image scan into separate pipelines (#42097)
Split the nightly Docker scan job into separate pipelines, one for each 
image, to easier understand which images fails/includes high/critical 
vulnerabilities.
2021-11-23 11:43:00 +01:00
Dimitris Sotirakis
e3bb53b64d
CI: Remove Linux grabpl step dependency from Windows builds (#42069)
* Remove Linux grabpl download step from Windows oss builds

* Remove Linux grabpl download step from Windows enterprise builds
2021-11-23 09:57:16 +01:00
Dimitris Sotirakis
bec3cc4634
Make integration tests depend on initialize for enterprise-release-* branches (#42004) 2021-11-19 21:50:34 +01:00
malcolmholmes
8ccd7599bd
Releasing: start splitting out publish phase (#41959) 2021-11-19 11:39:10 +00:00
Dimitris Sotirakis
42c51747ed
Refactor drone yaml (#41937) 2021-11-19 11:35:57 +01:00
Dimitris Sotirakis
e8a2a82d5c
Run integration tests after initialize (#41906) 2021-11-18 17:59:22 +02:00
Dimitris Sotirakis
53dc388dcf
Disable lint-drone from release pipelines (#41899) 2021-11-18 17:32:45 +02:00
Dimitris Sotirakis
b8dd9fdd4a
CI: Make build, test and integration tests steps run in parallel (#40794)
* Make build and test steps run in parallel

* Make tests and builds run on different pipelines

* Make test-backend depend on initialize

* Rename

* Create standalone integration tests pipeline (#41730)

* Remove unused variables
2021-11-17 11:25:55 +02:00
Dimitris Sotirakis
99900cbdd8
CI: Make grabpl and lint-drone standalone steps (#41644)
* Extract grabpl download as separate step

* Change image to alpine

* Change image to curlimage

* Change image to alpine-curl

* Extract lint-drone step

* Add lint-drone to release and main pipelines

* Rename lint_drone to lint_drone_step

* Sign drone
2021-11-15 17:14:33 +00:00
dsotirakis
a3f6982476 Merge test a11y steps on starlark files 2021-11-10 14:35:03 +02:00
Dimitris Sotirakis
624d7631e6
Build/CI: Make integration-tests depend on initialize (#40782)
* Make integration tests depend on initialize

* Reorder steps for better visualisation
2021-10-21 22:28:57 +02:00
Dimitris Sotirakis
bb738e35cf
Chore: Move Grafana version generator in initialize step (#40604)
* Move gen-version

* Small dependencies reorder

* Update grabpl version
2021-10-21 09:59:12 +03:00
Dimitris Sotirakis
89e7a56714
Makefile: Force use drone-cli 1.4.0 version (#40385)
* Force use drone-cli 1.4.0

* Small modifications to prevent null generation

* Sign drone

* Use bingo to declare drone-cli version

* Update message in Makefile

* Update to latest grabpl version
2021-10-14 16:02:45 +02:00