CI: Split release test pipelines (#56655)

* Split test release pipelines

* Add missing dependencies

* Add release branch case when naming pipeline
This commit is contained in:
Dimitris Sotirakis
2022-10-10 11:46:56 -04:00
committed by GitHub
parent 129a5a29e7
commit 75c5845749
4 changed files with 488 additions and 342 deletions
+21 -38
View File
@@ -61,6 +61,16 @@ load(
'drone_change_template',
)
load(
'scripts/drone/pipelines/test_frontend.star',
'test_frontend',
)
load(
'scripts/drone/pipelines/test_backend.star',
'test_backend',
)
load('scripts/drone/vault.star', 'from_secret', 'github_token', 'pull_secret', 'drone_token', 'prerelease_bucket')
def store_npm_packages_step():
@@ -113,7 +123,7 @@ def release_npm_packages_step():
}
def get_oss_pipelines(trigger, ver_mode):
environment = {'EDITION': 'OSS'}
environment = {'EDITION': 'oss'}
edition = 'oss'
services = integration_test_services(edition=edition)
volumes = integration_test_services_volumes()
@@ -130,16 +140,6 @@ def get_oss_pipelines(trigger, ver_mode):
compile_build_cmd(),
]
test_steps = []
test_steps.extend([
lint_backend_step(edition=edition),
lint_frontend_step(),
test_backend_step(edition=edition),
test_backend_integration_step(edition=edition),
test_frontend_step(),
])
build_steps = [
build_backend_step(edition=edition, ver_mode=ver_mode),
build_frontend_step(edition=edition, ver_mode=ver_mode),
@@ -202,11 +202,8 @@ def get_oss_pipelines(trigger, ver_mode):
]
if not disable_tests:
pipelines.extend([
pipeline(
name='{}-oss-test'.format(ver_mode), edition=edition, trigger=trigger, services=[],
steps=init_steps + test_steps,
environment=environment, volumes=[],
),
test_frontend(trigger, ver_mode),
test_backend(trigger, ver_mode),
pipeline(
name='{}-oss-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services,
steps=[download_grabpl_step(), identify_runner_step(), verify_gen_cue_step(edition), wire_install_step(), ] + integration_test_steps,
@@ -216,7 +213,8 @@ def get_oss_pipelines(trigger, ver_mode):
deps = {
'depends_on': [
'{}-oss-build{}-publish'.format(ver_mode, get_e2e_suffix()),
'{}-oss-test'.format(ver_mode),
'{}-oss-test-frontend'.format(ver_mode),
'{}-oss-test-backend'.format(ver_mode),
'{}-oss-integration-tests'.format(ver_mode)
]
}
@@ -226,7 +224,7 @@ def get_oss_pipelines(trigger, ver_mode):
return pipelines
def get_enterprise_pipelines(trigger, ver_mode):
environment = {'EDITION': 'ENTERPRISE'}
environment = {'EDITION': 'enterprise'}
edition = 'enterprise'
services = integration_test_services(edition=edition)
volumes = integration_test_services_volumes()
@@ -244,16 +242,6 @@ def get_enterprise_pipelines(trigger, ver_mode):
compile_build_cmd(edition),
]
test_steps = []
test_steps.extend([
lint_backend_step(edition=edition),
lint_frontend_step(),
test_backend_step(edition=edition),
test_backend_integration_step(edition=edition),
test_frontend_step(),
])
build_steps = [
build_backend_step(edition=edition, ver_mode=ver_mode),
build_frontend_step(edition=edition, ver_mode=ver_mode),
@@ -267,10 +255,6 @@ def get_enterprise_pipelines(trigger, ver_mode):
]
if include_enterprise:
test_steps.extend([
lint_backend_step(edition=edition2),
test_backend_step(edition=edition2),
])
build_steps.extend([
build_backend_step(edition=edition2, ver_mode=ver_mode, variants=['linux-amd64']),
])
@@ -344,11 +328,9 @@ def get_enterprise_pipelines(trigger, ver_mode):
]
if not disable_tests:
pipelines.extend([
pipeline(
name='{}-enterprise-test'.format(ver_mode), edition=edition, trigger=trigger, services=[],
steps=init_steps + test_steps, environment=environment,
volumes=[],
),
test_frontend(trigger, ver_mode, edition),
test_backend(trigger, ver_mode, edition),
test_backend(trigger, ver_mode, edition2),
pipeline(
name='{}-enterprise-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services,
steps=[download_grabpl_step(), identify_runner_step(), clone_enterprise_step(ver_mode), init_enterprise_step(ver_mode), verify_gen_cue_step(edition), wire_install_step()] + integration_test_steps + [redis_integration_tests_step(), memcached_integration_tests_step()],
@@ -358,7 +340,8 @@ def get_enterprise_pipelines(trigger, ver_mode):
deps = {
'depends_on': [
'{}-enterprise-build{}-publish'.format(ver_mode, get_e2e_suffix()),
'{}-enterprise-test'.format(ver_mode),
'{}-enterprise-test-frontend'.format(ver_mode),
'{}-enterprise-test-backend'.format(ver_mode),
'{}-enterprise-integration-tests'.format(ver_mode)
]
}
+8 -4
View File
@@ -13,7 +13,8 @@ load(
'pipeline',
)
def test_backend(trigger, ver_mode):
def test_backend(trigger, ver_mode, edition="oss"):
environment = {'EDITION': edition}
init_steps = [
identify_runner_step(),
compile_build_cmd(),
@@ -21,10 +22,13 @@ def test_backend(trigger, ver_mode):
wire_install_step(),
]
test_steps = [
test_backend_step(edition="oss"),
test_backend_integration_step(edition="oss"),
test_backend_step(edition),
test_backend_integration_step(edition),
]
pipeline_name = '{}-test-backend'.format(ver_mode)
if ver_mode in ("release-branch", "release"):
pipeline_name = '{}-{}-test-backend'.format(ver_mode, edition)
return pipeline(
name='{}-test-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps, environment=environment
)
+6 -2
View File
@@ -13,7 +13,8 @@ load(
'pipeline',
)
def test_frontend(trigger, ver_mode):
def test_frontend(trigger, ver_mode, edition="oss"):
environment = {'EDITION': edition}
init_steps = [
identify_runner_step(),
download_grabpl_step(),
@@ -24,6 +25,9 @@ def test_frontend(trigger, ver_mode):
betterer_frontend_step(),
test_frontend_step(),
]
pipeline_name = '{}-test-frontend'.format(ver_mode)
if ver_mode in ("release-branch", "release"):
pipeline_name = '{}-{}-test-frontend'.format(ver_mode, edition)
return pipeline(
name='{}-test-frontend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps,
)