CI: Add new RRC pipeline (#90731)

* CI: Add new RRC pipeline
This commit is contained in:
João Calisto
2024-07-30 14:01:10 +01:00
committed by GitHub
parent ad770cf1e5
commit 0a561d22fb
4 changed files with 623 additions and 2 deletions

View File

@ -0,0 +1,73 @@
"""
This module returns all the pipelines used in the event of pushes to an RRC branch.
"""
load(
"scripts/drone/pipelines/integration_tests.star",
"integration_tests",
)
load(
"scripts/drone/pipelines/lint_backend.star",
"lint_backend_pipeline",
)
load(
"scripts/drone/pipelines/lint_frontend.star",
"lint_frontend_pipeline",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/steps/lib.star",
"enterprise_downstream_step",
)
load(
"scripts/drone/utils/utils.star",
"pipeline",
)
ver_mode = "rrc"
trigger = {
"ref": {
"include": [
"refs/tags/rrc*",
],
},
"branch": [
"instant",
"fast",
"steady",
"slow",
],
}
def rrc_patch_pipelines():
pipelines = [
test_frontend(trigger, ver_mode),
lint_frontend_pipeline(trigger, ver_mode),
test_backend(trigger, ver_mode),
lint_backend_pipeline(trigger, ver_mode),
integration_tests(trigger, prefix = ver_mode, ver_mode = ver_mode),
rrc_enterprise_downstream_pipeline(trigger = trigger),
]
return pipelines
def rrc_enterprise_downstream_pipeline(trigger):
# Triggers a downstream pipeline in the grafana-enterprise repository for the rrc branch
environment = {"EDITION": "oss"}
steps = [
enterprise_downstream_step(ver_mode = ver_mode),
]
return pipeline(
name = "rrc-trigger-downstream",
trigger = trigger,
steps = steps,
depends_on = ["rrc-integration-tests"],
environment = environment,
)

View File

@ -172,7 +172,7 @@ def enterprise_downstream_step(ver_mode):
Drone step.
"""
repo = "grafana/grafana-enterprise@"
if ver_mode == "pr":
if ver_mode == "pr" or ver_mode == "rrc":
repo += "${DRONE_SOURCE_BRANCH}"
else:
repo += "main"
@ -197,6 +197,9 @@ def enterprise_downstream_step(ver_mode):
step.update({"failure": "ignore"})
step["settings"]["params"].append("OSS_PULL_REQUEST=${DRONE_PULL_REQUEST}")
if ver_mode == "rrc":
step["settings"]["params"].append("SOURCE_TAG=${DRONE_TAG}")
return step
def validate_modfile_step():