mirror of
https://github.com/grafana/grafana.git
synced 2024-12-01 13:09:22 -06:00
726260b2f6
* test mimir image drone * add mimir service to services.star * change name for mimir step * change remote alertmanager step names, add commands for integration tests * add tag to mimir image
80 lines
2.3 KiB
Plaintext
80 lines
2.3 KiB
Plaintext
"""
|
|
This module returns the pipeline used for integration tests.
|
|
"""
|
|
|
|
load(
|
|
"scripts/drone/services/services.star",
|
|
"integration_test_services",
|
|
"integration_test_services_volumes",
|
|
)
|
|
load(
|
|
"scripts/drone/steps/lib.star",
|
|
"compile_build_cmd",
|
|
"download_grabpl_step",
|
|
"enterprise_setup_step",
|
|
"identify_runner_step",
|
|
"memcached_integration_tests_steps",
|
|
"mysql_integration_tests_steps",
|
|
"postgres_integration_tests_steps",
|
|
"redis_integration_tests_steps",
|
|
"remote_alertmanager_integration_tests_steps",
|
|
"verify_gen_cue_step",
|
|
"verify_gen_jsonnet_step",
|
|
"wire_install_step",
|
|
)
|
|
load(
|
|
"scripts/drone/utils/utils.star",
|
|
"pipeline",
|
|
)
|
|
|
|
def integration_tests(trigger, prefix, ver_mode = "pr"):
|
|
"""Generate a pipeline for integration tests.
|
|
|
|
Args:
|
|
trigger: controls which events can trigger the pipeline execution.
|
|
prefix: used in the naming of the pipeline.
|
|
ver_mode: defines the event / origin of this build. In this function, if it is set to pr, then it will attempt to clone grafana-enterprise. Otherwise it has no effect.
|
|
|
|
Returns:
|
|
Drone pipeline.
|
|
"""
|
|
environment = {"EDITION": "oss"}
|
|
|
|
services = integration_test_services()
|
|
volumes = integration_test_services_volumes()
|
|
|
|
init_steps = []
|
|
|
|
verify_step = verify_gen_cue_step()
|
|
verify_jsonnet_step = verify_gen_jsonnet_step()
|
|
|
|
if ver_mode == "pr":
|
|
# In pull requests, attempt to clone grafana enterprise.
|
|
init_steps.append(enterprise_setup_step())
|
|
|
|
init_steps += [
|
|
download_grabpl_step(),
|
|
compile_build_cmd(),
|
|
identify_runner_step(),
|
|
verify_step,
|
|
verify_jsonnet_step,
|
|
wire_install_step(),
|
|
]
|
|
|
|
# test_steps = [a, b] + [c, d] + [e, f]...
|
|
test_steps = postgres_integration_tests_steps() + \
|
|
mysql_integration_tests_steps("mysql57", "5.7") + \
|
|
mysql_integration_tests_steps("mysql80", "8.0") + \
|
|
redis_integration_tests_steps() + \
|
|
memcached_integration_tests_steps() + \
|
|
remote_alertmanager_integration_tests_steps()
|
|
|
|
return pipeline(
|
|
name = "{}-integration-tests".format(prefix),
|
|
trigger = trigger,
|
|
environment = environment,
|
|
services = services,
|
|
volumes = volumes,
|
|
steps = init_steps + test_steps,
|
|
)
|