Split frontend and backend pipelines (#48362)

This commit is contained in:
Dimitris Sotirakis
2022-04-28 12:04:03 +03:00
committed by GitHub
parent e9a93ebfc9
commit ff23f78b51
2 changed files with 127 additions and 59 deletions

View File

@ -56,11 +56,66 @@ load(
)
ver_mode = 'pr'
trigger = {
'event': [
'pull_request',
],
'paths': {
'exclude': [
'docs/**',
],
},
}
def pr_test_frontend():
init_steps = [
identify_runner_step(),
download_grabpl_step(),
gen_version_step(ver_mode),
yarn_install_step(),
]
test_steps = [
lint_frontend_step(),
test_frontend_step(),
]
return pipeline(
name='pr-test-frontend', edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
)
def pr_test_backend(edition):
include_enterprise2 = edition == 'enterprise'
init_steps = [
identify_runner_step(),
download_grabpl_step(),
gen_version_step(ver_mode),
wire_install_step(),
]
test_steps = [
lint_drone_step(),
codespell_step(),
shellcheck_step(),
lint_backend_step(edition=edition),
test_backend_step(edition=edition),
test_backend_integration_step(edition=edition),
]
if include_enterprise2:
edition2 = 'enterprise2'
test_steps.extend([
lint_backend_step(edition=edition2),
test_backend_step(edition=edition2),
test_backend_integration_step(edition=edition2),
])
return pipeline(
name='pr-test-backend', edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
)
def pr_pipelines(edition):
services = integration_test_services(edition)
volumes = integration_test_services_volumes()
variants = ['linux-amd64', 'linux-amd64-musl', 'darwin-amd64', 'windows-amd64', 'armv6',]
variants = ['linux-amd64', 'linux-amd64-musl', 'darwin-amd64', 'windows-amd64', 'armv6', ]
include_enterprise2 = edition == 'enterprise'
init_steps = [
identify_runner_step(),
@ -69,16 +124,6 @@ def pr_pipelines(edition):
wire_install_step(),
yarn_install_step(),
]
test_steps = [
lint_drone_step(),
codespell_step(),
shellcheck_step(),
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, variants=variants),
build_frontend_step(edition=edition, ver_mode=ver_mode),
@ -96,11 +141,6 @@ def pr_pipelines(edition):
edition2 = 'enterprise2'
build_steps.append(benchmark_ldap_step())
services.append(ldap_service())
test_steps.extend([
lint_backend_step(edition=edition2),
test_backend_step(edition=edition2),
test_backend_integration_step(edition=edition2),
])
build_steps.extend([
build_backend_step(edition=edition2, ver_mode=ver_mode, variants=['linux-amd64']),
])
@ -117,7 +157,7 @@ def pr_pipelines(edition):
build_storybook_step(edition=edition, ver_mode=ver_mode),
test_a11y_frontend_step(ver_mode=ver_mode, edition=edition),
copy_packages_for_docker_step(),
build_docker_images_step(edition=edition, ver_mode=ver_mode, archs=['amd64',]),
build_docker_images_step(edition=edition, ver_mode=ver_mode, archs=['amd64', ]),
])
if include_enterprise2:
@ -126,28 +166,18 @@ def pr_pipelines(edition):
memcached_integration_tests_step(edition=edition, ver_mode=ver_mode),
])
build_steps.extend([
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise2, variants=['linux-amd64']),
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise2,
variants=['linux-amd64']),
])
trigger = {
'event': [
'pull_request',
],
'paths': {
'exclude': [
'docs/**',
],
},
}
return [
pr_test_frontend(),
pr_test_backend(edition),
pipeline(
name='pr-test', edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps,
), pipeline(
name='pr-build-e2e', edition=edition, trigger=trigger, services=[], steps=init_steps + build_steps,
), pipeline(
name='pr-integration-tests', edition=edition, trigger=trigger, services=services,
steps=[download_grabpl_step(), identify_runner_step(),] + integration_test_steps,
steps=[download_grabpl_step(), identify_runner_step(), ] + integration_test_steps,
volumes=volumes,
), docs_pipelines(edition, ver_mode, trigger_docs())
]