46 Commits

Author SHA1 Message Date
470be140dc CI: Do not clone repo in artifact-page step (#63077) 2023-02-08 11:57:33 +01:00
e5c48ac945 CI: Remove variants arg from package step (#62858)
* Remove variants arg from package step

# Conflicts:
#	.drone.yml

* Fix starlark lint

* Default to releaseModeConfig.Variants

* Check for empty variants arg
2023-02-06 17:15:42 +02:00
312ea59e6d CI: Allow other modules to register build sub-commands (#62741)
* Allow other modules to register build sub-commands

* CI: Fix retries on artifacts-page clone

* Fix linting errors

* Fix golint issues

* Update to grabpl 3.0.21
2023-02-02 11:35:43 +00:00
ba6500576b CI: include ver_mode arg in the integration_test_pipeline in main. (#62723)
include ver_mode arg in PRs
2023-02-01 15:27:57 -05:00
3cbaa58b1b CI: Replace enterprise check (#62359)
* Add steps in the pipeline for cloning enterprise when running PR tests.
* Removed enterprise-check from the github action workflows, and removed it from the codeowners file.
2023-02-01 16:55:49 +00:00
f23be415c5 CI: Add artifacts publish build command (#62445)
* CI: Add `artifacts publish` build command

* Lint release.star
2023-01-30 16:24:10 +00:00
8379a5338c CI: Lint starlark files with buildifier (#59157)
* Add verify-starlark build action that returns an error for starlark files with lint

Relies on `buildifier` tool.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add verify_starlark_step to PR pipeline

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Manually fetch buildifier in curl_image until a new build_image is created

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Format with buildifier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove all unused variables retaining one unused function

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use snake_case for variable

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Replace deprecated dictionary concatenation with .update() method

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Start adding docstrings for all modules and functions

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Prefer os.WriteFile as ioutil.WriteFile has been deprecated since go 1.16

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Attempt to document the behavior of the init_enterprise_step

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document test_backend pipeline

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document enterprise_downstream_step

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document the pipeline utility function

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document publish_images_step

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document publish_images_steps

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document enterprise2_pipelines function

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add tags table for Starlark files.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document test_frontend

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document windows function

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add docstrings to verifystarlark functions

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Refactor error handling to be more clear and document complex behavior

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Split errors into execution errors and verification errors

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document all other library functions

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add local variables to TAGS

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add blank line between all Args and Returns sections

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix new linting errors

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Lint new Starlark files

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Correct buildifier binary mv

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Document the need to set nofile ulimit to at least 2048

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Update build-container to include buildifier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Ensure buildifier binary is executable

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix valid content test

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Simply return execution error

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Only check files rather than fixing them

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use updated build-container with executable buildifier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Test that context cancellation stops execution

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Simplify error handling

Return execution errors that short circuit WalkDir rather than
separately tracking that error.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove fetching of buildifier binary now that it is in the build-container

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use build image in verify-starlark step

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use semver tag

The image is the same but uses a semver tag to make it clearer that
this is a forward upgrade from the old version.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use node 18 image with buildifier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-30 09:27:11 +00:00
e32cd6d4ff CI: Add artifacts npm commands from grabpl (#61908) 2023-01-23 11:32:51 +01:00
a1c2093b53 CI: Remove enterprise2 bits from enterprise pipelines (#60459)
Remove enterprise2 bits from enterprise pipelines
2022-12-19 17:30:49 +02:00
efd827fd65 Chore: Trigger backend lint on bingo updates (#60380)
Chore: Trigger backend lind on bingo updates
2022-12-15 06:48:00 -05:00
440d8a3d88 Build: Drone starlark file cleanup (#59919)
* format drone starlark files with black

* clean up unused params

* more simplification

* more cleanup

* more cleanup
2022-12-07 09:13:57 +02:00
2d7fcea8fa CI: Remove npm steps from enterprise pipelines (#59108)
Remove npm steps from enterprise pipelines
2022-11-24 14:12:07 +02:00
44402ff726 CI: Split enterprise2 pipelines (#57997)
* Add publishimages_enterprise2.go file

* Add push.go

* Modify build files

* Modify starlark files

* Remove promotion pipeline

* Remove unused args

* Handle tag for custom events
2022-11-21 20:06:00 +02:00
0bf3c98eec CI: Add environment variables for edition to all pipelines (#58964)
Add environment variables to pipelines
2022-11-18 16:15:04 +02:00
5ea077c440 CI: Replace TAG with DRONE_TAG in CI (#58894)
* Replace TAG with DRONE_TAG

* Fix variable call

* Replace remaining bits

* Bump grabpl version
2022-11-17 08:30:09 -05:00
e105b5a107 Chore: Add jsonnet library for devenv dashboards (#57928) 2022-11-03 11:04:39 -04:00
7a12132237 DEB/RPM Packages: Remove old package publishing steps (#58071)
* Remove old publish package steps

* Don't ignore publish packaging failures
2022-11-02 18:42:01 +00:00
f3b8cd1c98 CI: Remove *-test-backend-enterprise2 pipelines (#58028)
* Remove test-backend-enterprise2 pipelines

* Remove leftover
2022-11-02 04:13:12 -04:00
44ad4ec9d4 Add RPM package publishing (#56797)
Just tested deb publishing, and confirmed it works. Noticed that RPM packages aren't published though
It's the exact same step, targetting the RPM files instead
Both steps will run in parallel

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-10-18 13:41:23 +03:00
62314bbf66 Remove grabpl dependency from yarn-install (#56692) 2022-10-11 18:58:03 +03:00
66cb56de79 CI: Trigger tag on CI changes (#55388)
* Trigger tag on CI changes

* Use github token available for PRs

Remove remote addition

* Replace origin with full url

Remove fetch for origin

Fix fetch

Remove --quite

Add rebase

Stash changes from verify-gen-cue

Cleanup

* Add --quiet when fetching
2022-10-11 12:01:18 +03:00
75c5845749 CI: Split release test pipelines (#56655)
* Split test release pipelines

* Add missing dependencies

* Add release branch case when naming pipeline
2022-10-10 11:46:56 -04:00
ec7d9e196e Change from grabpl to build for grafana-com (#56434) 2022-10-06 08:14:38 +01:00
5cdc932f8c CI: Stop publishing OSS images for security mode (#56088)
* No-op: Refactor publish images pipeline struct

* Stop publishing images for OSS
2022-10-05 09:39:38 +03:00
8eea6f7f4f Add edition as environment var (#56069) 2022-10-04 10:35:18 +03:00
cd360f2d2a Add nightly cronjob (#55675) 2022-09-27 08:49:20 -05:00
a9a86cbe54 Introduce lint-frontend pipeline (#55559) 2022-09-21 14:39:28 -05:00
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
2c872b0d94 Run enterprise downstream after OSS CI is done (#55366) 2022-09-19 17:17:36 +03:00
93e78e2146 CI: Move fetch-images sub-command from build-pipeline repo (#55298)
* Move fetch images from build-pipeline

* Modify drone

* Replace zerolog with builtin log

* Fix lint
2022-09-19 11:19:31 +03:00
5a1ba20856 CI: Split oss and enterprise steps for release pipelines (#55157)
* s/include_enterprise2/include_enterprise

* Get rid of get_steps def - include steps in separate defs
2022-09-14 09:47:02 -04:00
8b38f9408d Run codespell only on docs changes (#55064) 2022-09-14 16:32:08 +03:00
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
bdd0af0645 Build: Refactor cron_job_pipeline to take the cron name as a parameter (#54899) 2022-09-08 13:36:36 +02:00
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
67f1778bf1 Add package publishing step (#53553)
Issue: https://github.com/grafana/deployment_tools/issues/36289
Based on the new image: https://github.com/grafana/deployment_tools/tree/master/docker/package-publish
This is a new step meant to replace the store-packages command. It will greatly improve publishing performace and it publishes to a common repository shared with all Grafana products

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-09-01 07:13:44 -04:00
50d0581000 Trigger backend tests on devenv changes (#54137) 2022-08-24 14:54:11 +03:00
332bc3aa63 CI: Split store-packages step (#53516)
* Remove unused def

* Add grafanacom step
2022-08-11 05:31:35 -04:00
c472726083 Change base image for npm storage (#53419) 2022-08-08 12:43:44 -04:00
1d1fb07124 Make retrieve and release npm packages allowed to fail (#53191) 2022-08-03 08:24:32 -04:00
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
157303d8ba Drone: Add retries for pipelines (#53171)
* Drone: Add retries for pipelines
Self-explanatory, this should reduce flakiness for the clone step

* Oops remove extra file
2022-08-03 14:51:29 +03:00
cea4b3fb19 Make compile-build-cmd depend on init-enterprise (#53029) 2022-08-01 06:56:06 -04:00
1666871d48 Trigger pr-integration-tests pipeline only on backend changes (#53024) 2022-08-01 12:36:32 +03:00
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
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