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>
This commit is contained in:
Erik Sundell
2024-08-23 09:00:03 +02:00
committed by GitHub
parent 0af4a20b58
commit d8ec95e9b1
78 changed files with 1143 additions and 722 deletions

View File

@@ -4,6 +4,7 @@ load(
"scripts/drone/steps/lib.star",
"build_frontend_package_step",
"build_storybook_step",
"build_test_plugins_step",
"cloud_plugins_e2e_tests_step",
"compile_build_cmd",
"download_grabpl_step",
@@ -93,6 +94,7 @@ def build_e2e(trigger, ver_mode):
build_steps.extend(
[
build_test_plugins_step(),
grafana_server_step(),
e2e_tests_step("dashboards-suite"),
e2e_tests_step("scenes/dashboards-suite"),

View File

@@ -470,6 +470,26 @@ def build_frontend_step():
],
}
def build_test_plugins_step():
"""Build the test plugins used in e2e tests
Returns:
Drone step.
"""
return {
"name": "build-test-plugins",
"image": images["node"],
"environment": {
"NODE_OPTIONS": "--max_old_space_size=8192",
},
"depends_on": [
"yarn-install",
],
"commands": [
"yarn e2e:plugin:build",
],
}
def update_package_json_version():
"""Updates the packages/ to use a version that has the build ID in it: 10.0.0pre -> 10.0.0-5432pre
@@ -773,6 +793,7 @@ def e2e_tests_step(suite, port = 3001, tries = None):
"image": images["cypress"],
"depends_on": [
"grafana-server",
"build-test-plugins",
],
"environment": {
"HOST": "grafana-server",
@@ -872,6 +893,7 @@ def playwright_e2e_tests_step():
"image": images["node_deb"],
"depends_on": [
"grafana-server",
"build-test-plugins",
],
"commands": [
"npx wait-on@7.0.1 http://$HOST:$PORT",