343 Commits

Author SHA1 Message Date
08000eeece Chore: refresh betterer results file (#100863)
* chore(betterer): refresh results file

* ci(betterer): add betterer:ci script to catch out of sync results file
2025-02-18 18:23:32 +02:00
c94b8b78ae API client generation: Add verify-api-clients step to drone (#99987)
* add verify-api-clients step to drone

* change to check the verify step fails

* ignore conf dir

* rerun make drone

* undo change to make step fail
2025-02-04 09:13:44 +00:00
3884c0e896 Replace codespell with Vale spelling check (#98406) 2025-01-14 14:08:01 +00:00
e754ea7a64 Fix: MySQL integration tests don't need to verify CA (#98857)
* Fix: MySQL integration tests don't need to verify CA

The _better_ solution here is to use our own, custom CA certificate. But there is also no real problem in risking a MITM
attack here as it's just test code, with no sensitive data, and it's ran on our own infra (so if we have a MITM problem,
we have even bigger issues...).

* Chore: make drone

* Chore: buildifier format
2025-01-13 15:40:19 +01:00
21f81cfba3 Remote Alertmanager: Make failing integration tests block merges (#97493) 2024-12-05 17:30:41 -03:00
feeb2c6ce0 Chore: Remove verification steps for deb/rpm in drone (#96991)
remove verification steps for deb/rpm in drone
2024-12-02 11:07:58 -07:00
2400483d6c CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96646)
* Add github app token generation in pipelines that use GITHUB_TOKEN

* ci?

* clone gh repo using x-access-token user

* address linting issues

* use mounted volume for exporting token

* remove unused github_token env var swagger gen step

* replace pat on release_pr pipepline

* cleanup GH PAT references

* linting

* Update scripts/drone/steps/lib.star

* make drone

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2024-11-21 17:08:02 +02:00
4e6a7121ed CI: Consolidate package and docker steps (#95375)
* Consolidate package and docker steps

* load docker images (if there are any); fix tag-format casing

* I guess e2e tests use pkg/build...

* lint starlark
2024-10-25 09:25:29 -05:00
b0250cf027 Release: Install git in npm release step (#95324)
install git
2024-10-24 13:07:07 +03:00
8f7352e862 CI: Additional changes for +security versions (#94854)
* Build: Fix docker manifest create not using correct IMAGE_TAG

* Support publishing security versions of NPM packages

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-10-17 22:13:42 +03:00
7a2edd35d5 CI: Support more version formats in publishing (#94575)
* cleanup dead code
* add tests and rewrite publish grafanacom steps to reuse
* add pkg/build tests; don't upload CDN assets on grafana releases
2024-10-15 09:27:13 -05:00
b17b98aeb9 CI: Update retry_command function (#93863)
* baldm0mma/update args

* baldm0mma/update_args/ conflict
2024-09-26 19:19:38 -06:00
a847608061 CI: add promotion step for publish grafanacom (#93851)
* add promotion step for publish grafanacom

* publish-grafanacom depends on compile-build-cmd

* use DRONE_TAG

* add docstring comment for depends_on
2024-09-26 22:19:19 +01:00
d3ceaf41c2 CI/CD: Update retry logic for package validation (#92943)
* baldm0mma/retry_command/ update retry logic for package validation

* baldm0mma/retry_command/ update to 15 minutes

* baldm0mma/retry_command/ update to 30 minute retry

* baldm0mma/retry_command/ make drone
2024-09-05 08:34:05 -06:00
d8ec95e9b1 E2E: Add support for building test plugins (#91873)
* build test apps with webpack

* add extensions test app

* update e2e tests

* remove non-build test apps using amd

* use @grafana/plugin-configs rather than create-plugin config

* Update e2e/plugin-e2e/plugin-e2e-api-tests/as-admin-user/extensions/usePluginComponents.spec.ts

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Update package.json

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* use run dir variable instead of hardcoded path

* add dummy licence file

* add separate step for building test plugins

* support nested plugins

* remove react-router-dom from the externals array

* remove add_mode dev

* lint starlark

* pass license path as env variable

* fix the path

* chore(e2e-plugins): clean up dependencies to match core versions

* refactor(e2e-plugins): prefer extending webpack plugins-config

* docs(e2e-plugins): add basic info to extensions test plugin readme

* update readme

* change dir name from custom plugins to test plugins

* change root readme

* update lockfile

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-08-23 09:00:03 +02:00
30c3f5b66a Chore: Revert drone go workspace change to tests (#91762) 2024-08-09 21:03:26 +03:00
6061fdc8b9 Chore: Fix requires_buildifier typo (#91747) 2024-08-09 11:00:05 -04:00
13703de67e Chore: Update tests to use go-workspace script (#91746) 2024-08-09 10:25:27 -04:00
0a561d22fb CI: Add new RRC pipeline (#90731)
* CI: Add new RRC pipeline
2024-07-30 14:01:10 +01:00
9852513c65 Release Pipeline: [RPM pkg verification] Fix linefeeds converted to literal backslash-n sequences (#90989)
fix lf converted to literal backslash-n sequence
2024-07-25 15:31:17 -03:00
d781ec2daa Automation: Verify DEB and RPM packages (#90146)
* baldm0mma/verify_aptyum/ add verify_linux_packages_step

* baldm0mma/verify_aptyum/ add name and image

* baldm0mma/verify_aptyum/ add commands

* baldm0mma/verify_aptyum/ add test pipeline

* baldm0mma/verify_aptyum/ update deps for verify_linux_packages_step

* baldm0mma/verify_aptyum/ update ubuntu image

* baldm0mma/verify_aptyum/ add rockylinux9 image

* baldm0mma/verify_aptyum/ update to verify_linux_DEB_packages_step naming

* baldm0mma/verify_aptyum/ add verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update commands for RPM check

* baldm0mma/verify_aptyum/ update test pipeline

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update args

* baldm0mma/verify_aptyum/ add arg to verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update oss_steps

* baldm0mma/verify_aptyum/ update deps args

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ make format-drone

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ update drone

* baldm0mma/verify_aptyum/ update function styles

* baldm0mma/verify_aptyum/ revert changes

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ redirect install logs

* baldm0mma/verify_aptyum/ restructure args

* baldm0mma/verify_aptyum/ update verify_linux_DEB_packages_step

* baldm0mma/verify_aptyum/ make format drone

* baldm0mma/verify_aptyum/ update verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ add retry_command

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ update attempts to 10 minutes

* baldm0mma/verify_aptyum/ handle is_preview

* baldm0mma/verify_aptyum/ add doc strings to satisfy starlark linter

* baldm0mma/verify_aptyum/ revert is_preview

* baldm0mma/verify_aptyum/ update to rpm repo download

* baldm0mma/verify_aptyum/ add back logging for rpm

* baldm0mma/verify_aptyum/ revert to working

* baldm0mma/verify_aptyum/ update to use RPM repo

* baldm0mma/verify_aptyum/ remove redirect for logging

* baldm0mma/verify_aptyum/ rem gpg check

* baldm0mma/verify_aptyum/ fromat drone

* baldm0mma/verify_aptyum/ rem comment

* baldm0mma/verify_aptyum/ add single comment on timing
2024-07-12 10:54:03 -06:00
e9876749d4 Chore: Add retry option to curl (#90179)
add retry option to curl
2024-07-08 15:47:31 +02:00
aaf23c64c3 Alerting: Allow remote Alertmanager integration tests to fail (#88664)
* Alerting: Allow remote Alertmanager integration tests to fail

* format drone

* rebase from main

* the wait-for container needs canFail more than the acutal integration-tests container

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-07-06 18:39:45 +02:00
5ed5a2de2a Chore: Add timeout for storybook e2e, only run on changes to @grafana/ui (#90035)
* add timeout for storybook, only run on changes to @grafana/ui

* add comment to trigger verify-storybook

* remove test comment

* add comment

* use a later version of wait-on

* remove comment and hardcode wait-on version
2024-07-04 11:19:07 +01:00
e87646eeb6 Storybook: Add basic e2e verification test (#89779)
* add very basic tests to verify storybook builds correctly

* add storybook step to drone

* reorder steps

* drone tweaks

* don't need host since it's set in env

* don't need to wait

* format build.star and readd wait

* install netcat in CI

* do a yarn install here to get correct bindings

* refactoring to hopefully work better in CI

* add wait-on

* add verbose logging

* localhost?

* more logging

* specify storybook host

* ...

* back to grafana-server

* does this work? 🤔

* run storybook e2e test after rgm-package so the backround process is running for less time

* split into separate step

* format
2024-06-27 16:43:43 +01:00
491101bc8c Automation: Verify release artifacts on grafana.com (#89197)
* baldm0mma/verify_release/ create verify_release_for_download function

* baldm0mma/verify_release/ add name, image, env

* baldm0mma/verify_release/ add initial commands

* baldm0mma/verify_release/ add deps?

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ add anno to lib-star

* bald0mma/verify_release/ update func name to verify_grafanacom_step

* baldm0mma/verify_release/ add verify shell script

* baldm0mma/verify_release/ add script content, first attempt

* baldm0mma/verify_release/ add node image to verify_grafanacom_step

* baldm0mma/verify_release/ add gcom secret note

* baldm0mma/verify_release/ add sudo to apt-get

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ add anno to secrets

* baldm0mma/verify_release/ update commands to reflect node env image

* baldm0mma/verify_release/ update annos

* baldm0mma/verify_release/ update tag variable

* baldm0mma/verify release/ add whitespace

* baldm0mma/verify_releases/ update with no bash loops

* baldm0mma/verify_release/ update exit logic

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_releasse/ resign and build yml

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_release/ update signature

* baldm0mma/verify_release/ download curl

* baldm0mma/verify_release/ remove temp key folder removal

* baldm0mma/verify_release/ account for artifact download time

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ update script

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ update script for oss or ent

* baldm0mma/verify_release/ add promotion option

* baldm0mma/verify_release/ make drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/update drone

* baldm0mma/verify_release/ update path

* baldm0mma/verify_release/ make drone

* baldm0mma/update drone

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update for loop to account for failure

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ make format-drone

* baldm0mma/verify_release/ rem unused var

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-06-20 17:20:49 -06:00
3a8b59f5e8 chore(ci): Run golangci-lint in GitHub Actions (#88916)
* chore(ci): Run golangci-lint in GitHub Actions

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore(ci): Remove lint-backend step from Drone

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-07 12:30:31 -04:00
d6a259f110 Azure: Update e2e image (#88778)
* Update e2e image

* Comment for testing
2024-06-05 08:35:09 -06:00
20294b0fb6 NodeGraph: Remove msagl lib and layered layout option (#87905)
* Remove msagl lib

* Change drone.yml

* update signature
2024-05-20 13:50:08 +02:00
c41ec46b29 I18n: Fix and reenable verify-i18n CI check (#87496)
* I18n: Change verify-i18n script to use node_deb image with make in it

* remove swagger from i18n make

* make verify-i18n fail ci

* fix incorrect and unextracted nav translations

* fix more copy paste
2024-05-08 14:01:17 +01:00
fe24404432 I18n: Support for Enterprise translations (#86215)
* I18n: Support for Enterprise translations

* don't attempt to link to enterprise in tests

* move extract script to makefile to optionally support enterprise

* update references to old extract script

* update docs

* thank god for unit tests
2024-04-18 16:25:27 +01:00
ad8d505d81 Chore: Install Playwright deps manually (#86008)
* install deps manually

* use ubuntu image

* regenerate drone file

* use node bookworm image

* get node major version from variable and wait for grafana server to be ready
2024-04-15 14:19:37 +02:00
2a7785c262 CI: Allow failed Playwright tests to fail entire build (#84244)
* bump plugin-e2e and fix failing test

* do not ignore failures

* generate trace on every test

* force test to fail for debugging purposes

* fix broken test

* regenerate drone file
2024-03-12 13:48:32 +01:00
1477e658ec CI: Add retry for yarn install (#83317)
Add retry for yarn install
2024-02-23 16:15:28 +00:00
49d3cb29eb Chore: Add go workspace (#83191)
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-02-23 08:54:24 -05:00
3e456127cb E2E: Add plugin-e2e scenario verification tests (#79969)
* add playwright test and plugin-e2e

* run tests in ci

* add ds config tests

* add panel edit tests

* add annotation test

* add variable edit page tests

* add explore page tests

* add panel plugin tests

* add readme

* remove comments

* fix broken test

* remove user.json

* remove newline in starlark

* fix lint issue

* ignore failure of playwright tests

* update code owners

* add detailed error messages in every expect

* update message frame

* fix link

* upload report to gcp

* echo url

* add playwright developer guide

* bump plugin-e2e

* add custom provisioning dir

* update plugin-e2e

* remove not used imports

* fix typo

* minor fixes

* use latest version of plugin-e2e

* fix broken link

* use latest plugin-e2e

* add feature toggle scenario verification tests

* bump version

* use auth file from package

* fix type error

* add panel data assertions

* rename parent dir and bump version

* fix codeowners

* reset files

* remove not used file

* update plugin-e2e

* separate tests per role

* pass prov dir

* skip using provisioning fixture

* wip

* fix permission test

* move to e2e dir

* fix path to readme

* post comment with report url

* format starlark

* post comment with report url

* post comment with report url

* fix token

* make test fail

* fix exit code

* bump version

* bump to latest plugin-e2e

* revert reporting message

* remove comments

* readding report comment

* change exit code

* format starlark

* force test to fail

* add new step that posts comment

* fix link

* use latest playwright image

* fix failing test

* format starlark

* remove unused fixture

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-02-23 12:39:30 +01:00
5f89c69b66 Chore: Bump Lerna 8.x.x (#83233)
* chore(lerna): bump lerna to 8.x.x

* chore(lerna): run lerna repair command to update lerna.json

* ci(drone): use raw output (no quotes) when updating package.json version

* ci(drone): update config file
2024-02-22 16:22:23 +01:00
53c19e4988 move codespell check into /docs (#83109)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-02-20 20:40:31 +01:00
6a47c8da8e Drone: Do not upload artifacts if e2e tests have not run (#82451) 2024-02-15 10:26:43 +02:00
2d60c0123b Chore: Improve how we install Python (#81695) 2024-02-01 13:27:29 +01:00
cb945aa5df NodeGraph: Use layered layout instead of force based layout (#78957) 2024-01-31 17:26:12 +01:00
564a1d32b7 Add Python as dependency (#80979) 2024-01-31 12:44:22 +01:00
a138ce668d I18n: Remove unneeded i18n:compile script (#81184) 2024-01-24 17:24:24 +00:00
c9dd12851f Chore: Temp allow verify-i18n step to fail (#80371)
allow verify-i18n to fail
2024-01-11 16:50:01 +02:00
23fe8f4e9c Alerting: Introduce a Mimir client as part of the Remote Alertmanager (#78357)
* Alerting: Introduce a Mimir client as part of the Remote Alertmanager

This is our first attempt at making Grafana communicate use Mimir as a backend - it uses a new set of APIs that we've developed on the Mimir side to upload the grafana configuration and alertmanager state so that it can then be ported over.

Codewise, we've introduced a couple of things:

A client to isolate in its own package all the communication that happens with Mimir
A few changes to the remote/alertmanager to include uploading the configuration and state when it starts
A few refactors that align a bit better with the design approach that we're thinking
An integration tests again these newly developed APIs using a custom image

---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2023-11-23 16:59:36 +00:00
eef8525a4b Alerting: Fix remote Alertmanager integration tests (CI/Makefile) (#78541)
* Alerting: Fix remote Alertmanager integration tests (CI/Makefile)
2023-11-22 18:13:04 +00:00
75005a8482 Chore: Update to yarn 4 (#77156)
* update to yarn 4

* update project to yarn 4

* update tetherdrop archive

* update sdks

* change puppeteer image to official node 20 one

* revert previous, use grafana/docker-puppeteer:pre-node-20 instead

* okay, try original docker image, but use npx instead of yarn for wait-on

* remove wait-on from deps as we use it via npx now

* yarn dedupe

* remove logs from drone

* empty commit testing yarn cache :)

* comment explaining why no -y
2023-10-31 16:11:54 +02:00
d8d7a40d13 Use latest grafana/docs-base image (#77299)
* Use latest grafana/docs-base image

The pinned tag does not support recent shortcodes like `docs/public-preview`.

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

* Always pull the image

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-10-27 18:30:56 +01:00
7d9b2c73c7 Alerting: Use Mimir image to run integration tests for the remote Alertmanager (#76608)
* Alerting: Use Mimir image to run integration tests for the remote Alertmanager

* skip integration test when running all tests

* skipping integration test when no Alertmanager URL is provided

* fix bad host for mimir_backend

* remove basic auth testing until we have an nginx image in our CI
2023-10-17 12:21:45 +02:00
faa22b8f20 CI: Remove 0.0.0-test tag event (#76662)
Remove 0.0.0-test tag event
2023-10-17 10:20:14 +03:00