mirror of
https://github.com/grafana/grafana.git
synced 2025-02-04 04:31:00 -06:00
3e456127cb
* 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>
176 lines
5.4 KiB
Plaintext
176 lines
5.4 KiB
Plaintext
"""This module contains the comprehensive build pipeline."""
|
|
|
|
load(
|
|
"scripts/drone/steps/lib.star",
|
|
"build_frontend_package_step",
|
|
"build_storybook_step",
|
|
"cloud_plugins_e2e_tests_step",
|
|
"compile_build_cmd",
|
|
"download_grabpl_step",
|
|
"e2e_tests_artifacts",
|
|
"e2e_tests_step",
|
|
"enterprise_downstream_step",
|
|
"frontend_metrics_step",
|
|
"grafana_server_step",
|
|
"identify_runner_step",
|
|
"playwright_e2e_report_post_link",
|
|
"playwright_e2e_report_upload",
|
|
"playwright_e2e_tests_step",
|
|
"publish_images_step",
|
|
"release_canary_npm_packages_step",
|
|
"store_storybook_step",
|
|
"test_a11y_frontend_step",
|
|
"trigger_oss",
|
|
"update_package_json_version",
|
|
"upload_cdn_step",
|
|
"upload_packages_step",
|
|
"verify_gen_cue_step",
|
|
"verify_gen_jsonnet_step",
|
|
"wire_install_step",
|
|
"yarn_install_step",
|
|
)
|
|
load(
|
|
"scripts/drone/steps/rgm.star",
|
|
"rgm_artifacts_step",
|
|
"rgm_build_docker_step",
|
|
)
|
|
load(
|
|
"scripts/drone/utils/images.star",
|
|
"images",
|
|
)
|
|
load(
|
|
"scripts/drone/utils/utils.star",
|
|
"pipeline",
|
|
)
|
|
|
|
# @unused
|
|
def build_e2e(trigger, ver_mode):
|
|
"""Perform e2e building, testing, and publishing.
|
|
|
|
Args:
|
|
trigger: controls which events can trigger the pipeline execution.
|
|
ver_mode: used in the naming of the pipeline. Either 'pr' or 'main'.
|
|
|
|
Returns:
|
|
Drone pipeline.
|
|
"""
|
|
|
|
environment = {"EDITION": "oss"}
|
|
init_steps = [
|
|
identify_runner_step(),
|
|
download_grabpl_step(),
|
|
compile_build_cmd(),
|
|
verify_gen_cue_step(),
|
|
verify_gen_jsonnet_step(),
|
|
wire_install_step(),
|
|
yarn_install_step(),
|
|
]
|
|
|
|
build_steps = []
|
|
|
|
if ver_mode == "pr":
|
|
build_steps.extend(
|
|
[
|
|
build_frontend_package_step(),
|
|
enterprise_downstream_step(ver_mode = ver_mode),
|
|
rgm_artifacts_step(artifacts = ["targz:grafana:linux/amd64", "targz:grafana:linux/arm64", "targz:grafana:linux/arm/v7"], file = "packages.txt"),
|
|
],
|
|
)
|
|
else:
|
|
build_steps.extend([
|
|
update_package_json_version(),
|
|
build_frontend_package_step(depends_on = ["update-package-json-version"]),
|
|
rgm_artifacts_step(
|
|
artifacts = [
|
|
"targz:grafana:linux/amd64",
|
|
"targz:grafana:linux/arm64",
|
|
"targz:grafana:linux/arm/v7",
|
|
],
|
|
depends_on = ["update-package-json-version"],
|
|
file = "packages.txt",
|
|
),
|
|
])
|
|
|
|
build_steps.extend(
|
|
[
|
|
grafana_server_step(),
|
|
e2e_tests_step("dashboards-suite"),
|
|
e2e_tests_step("smoke-tests-suite"),
|
|
e2e_tests_step("panels-suite"),
|
|
e2e_tests_step("various-suite"),
|
|
cloud_plugins_e2e_tests_step(
|
|
"cloud-plugins-suite",
|
|
cloud = "azure",
|
|
trigger = trigger_oss,
|
|
),
|
|
playwright_e2e_tests_step(),
|
|
playwright_e2e_report_upload(),
|
|
playwright_e2e_report_post_link(),
|
|
e2e_tests_artifacts(),
|
|
build_storybook_step(ver_mode = ver_mode),
|
|
test_a11y_frontend_step(ver_mode = ver_mode),
|
|
],
|
|
)
|
|
|
|
if ver_mode == "main":
|
|
build_steps.extend(
|
|
[
|
|
store_storybook_step(trigger = trigger_oss, ver_mode = ver_mode),
|
|
frontend_metrics_step(trigger = trigger_oss),
|
|
rgm_build_docker_step(
|
|
images["ubuntu"],
|
|
images["alpine"],
|
|
depends_on = ["update-package-json-version"],
|
|
tag_format = "{{ .version_base }}-{{ .buildID }}-{{ .arch }}",
|
|
ubuntu_tag_format = "{{ .version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}",
|
|
),
|
|
publish_images_step(
|
|
docker_repo = "grafana",
|
|
trigger = trigger_oss,
|
|
ver_mode = ver_mode,
|
|
),
|
|
publish_images_step(
|
|
docker_repo = "grafana-oss",
|
|
trigger = trigger_oss,
|
|
ver_mode = ver_mode,
|
|
),
|
|
release_canary_npm_packages_step(trigger = trigger_oss),
|
|
upload_packages_step(
|
|
trigger = trigger_oss,
|
|
ver_mode = ver_mode,
|
|
),
|
|
upload_cdn_step(
|
|
trigger = trigger_oss,
|
|
ver_mode = ver_mode,
|
|
),
|
|
],
|
|
)
|
|
elif ver_mode == "pr":
|
|
build_steps.extend(
|
|
[
|
|
rgm_build_docker_step(
|
|
images["ubuntu"],
|
|
images["alpine"],
|
|
tag_format = "{{ .version_base }}-{{ .buildID }}-{{ .arch }}",
|
|
ubuntu_tag_format = "{{ .version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}",
|
|
),
|
|
publish_images_step(
|
|
docker_repo = "grafana",
|
|
trigger = trigger_oss,
|
|
ver_mode = ver_mode,
|
|
),
|
|
],
|
|
)
|
|
|
|
publish_suffix = ""
|
|
if ver_mode == "main":
|
|
publish_suffix = "-publish"
|
|
|
|
return pipeline(
|
|
name = "{}-build-e2e{}".format(ver_mode, publish_suffix),
|
|
environment = environment,
|
|
services = [],
|
|
steps = init_steps + build_steps,
|
|
trigger = trigger,
|
|
)
|