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
co-authored by Jack Westbrook
parent 0af4a20b58
commit d8ec95e9b1
78 changed files with 1143 additions and 722 deletions
+4
View File
@@ -1,3 +1,4 @@
[security]
content_security_policy = true
content_security_policy_template = """require-trusted-types-for 'script'; script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
@@ -5,6 +6,9 @@ content_security_policy_template = """require-trusted-types-for 'script'; script
[feature_toggles]
enable = publicDashboards
[plugins]
allow_loading_unsigned_plugins=grafana-extensionstest-app,grafana-extensionexample1-app,grafana-extensionexample2-app,
[database]
type=sqlite3
wal=true
+7 -6
View File
@@ -23,8 +23,9 @@ fi
echo starting server
cp -r ./bin $RUNDIR
cp -r ./public $RUNDIR
cp -r ./tools $RUNDIR
ln -s $(realpath ./public) $RUNDIR
mkdir $RUNDIR/conf
mkdir $PROV_DIR
@@ -39,12 +40,12 @@ cp ./conf/defaults.ini $RUNDIR/conf/defaults.ini
echo -e "Copying custom plugins from e2e tests"
mkdir -p "$RUNDIR/data/plugins"
# when running in a local computer
if [ -d "./e2e/custom-plugins" ]; then
cp -r "./e2e/custom-plugins" "$RUNDIR/data/plugins"
if [ -d "./e2e/test-plugins" ]; then
ln -s $(realpath ./e2e/test-plugins/*) "$RUNDIR/data/plugins"
# when running in CI
elif [ -d "../e2e/custom-plugins" ]; then
cp -r "../e2e/custom-plugins" "$RUNDIR/data/plugins"
elif [ -d "../e2e/test-plugins" ]; then
cp -r "../e2e/test-plugins" "$RUNDIR/data/plugins"
fi
echo -e "Copy provisioning setup from devenv"