[v9.2.x] CI: Split release test pipelines (#56670)
* CI: Split release test pipelines (#56655) * Split test release pipelines * Add missing dependencies * Add release branch case when naming pipeline (cherry picked from commit75c5845749) * Add clone-enterprise and init-enterprise steps (#56662) (cherry picked from commiteb077db2b0) * Add dependencies (#56666) (cherry picked from commit811f6054c8) * Fix release test pipelines dependencies (#56671) (cherry picked from commit668cb25b82) * Remove build-frontend-packages step from docs pipelines (#56686) (cherry picked from commitefc8f985cb) * Remove grabpl dependency from yarn-install (#56692) * Sign drone
This commit is contained in:
@@ -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']),
|
||||
])
|
||||
@@ -324,7 +308,7 @@ def get_enterprise_pipelines(trigger, ver_mode):
|
||||
]
|
||||
}
|
||||
|
||||
for step in [wire_install_step(), yarn_install_step(), verify_gen_cue_step(edition)]:
|
||||
for step in [wire_install_step(), yarn_install_step(edition), verify_gen_cue_step(edition)]:
|
||||
step.update(deps_on_clone_enterprise_step)
|
||||
init_steps.extend([step])
|
||||
|
||||
@@ -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,9 +8,7 @@ load(
|
||||
'codespell_step',
|
||||
'test_frontend_step',
|
||||
'build_storybook_step',
|
||||
'build_frontend_package_step',
|
||||
'build_docs_website_step',
|
||||
'compile_build_cmd',
|
||||
)
|
||||
|
||||
load(
|
||||
@@ -40,9 +38,7 @@ def docs_pipelines(edition, ver_mode, trigger):
|
||||
yarn_install_step(),
|
||||
codespell_step(),
|
||||
lint_docs(),
|
||||
build_frontend_package_step(edition=edition, ver_mode=ver_mode),
|
||||
build_docs_website_step(),
|
||||
compile_build_cmd(),
|
||||
]
|
||||
|
||||
return pipeline(
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
load(
|
||||
'scripts/drone/steps/lib.star',
|
||||
'identify_runner_step',
|
||||
'download_grabpl_step',
|
||||
'wire_install_step',
|
||||
'test_backend_step',
|
||||
'test_backend_integration_step',
|
||||
'verify_gen_cue_step',
|
||||
'compile_build_cmd',
|
||||
'clone_enterprise_step',
|
||||
'init_enterprise_step',
|
||||
)
|
||||
|
||||
load(
|
||||
@@ -13,18 +16,25 @@ load(
|
||||
'pipeline',
|
||||
)
|
||||
|
||||
def test_backend(trigger, ver_mode):
|
||||
init_steps = [
|
||||
def test_backend(trigger, ver_mode, edition="oss"):
|
||||
environment = {'EDITION': edition}
|
||||
init_steps = []
|
||||
if edition != 'oss':
|
||||
init_steps.extend([clone_enterprise_step(ver_mode), download_grabpl_step(), init_enterprise_step(ver_mode),])
|
||||
init_steps.extend([
|
||||
identify_runner_step(),
|
||||
compile_build_cmd(),
|
||||
verify_gen_cue_step(edition="oss"),
|
||||
compile_build_cmd(edition),
|
||||
verify_gen_cue_step(edition),
|
||||
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
|
||||
)
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
load(
|
||||
'scripts/drone/steps/lib.star',
|
||||
'identify_runner_step',
|
||||
'clone_enterprise_step',
|
||||
'init_enterprise_step',
|
||||
'download_grabpl_step',
|
||||
'yarn_install_step',
|
||||
'betterer_frontend_step',
|
||||
'test_frontend_step',
|
||||
'compile_build_cmd',
|
||||
)
|
||||
|
||||
load(
|
||||
@@ -13,17 +14,23 @@ load(
|
||||
'pipeline',
|
||||
)
|
||||
|
||||
def test_frontend(trigger, ver_mode):
|
||||
init_steps = [
|
||||
def test_frontend(trigger, ver_mode, edition="oss"):
|
||||
environment = {'EDITION': edition}
|
||||
init_steps = []
|
||||
if edition != 'oss':
|
||||
init_steps.extend([clone_enterprise_step(ver_mode), init_enterprise_step(ver_mode),])
|
||||
init_steps.extend([
|
||||
identify_runner_step(),
|
||||
download_grabpl_step(),
|
||||
yarn_install_step(),
|
||||
compile_build_cmd(),
|
||||
]
|
||||
yarn_install_step(edition),
|
||||
])
|
||||
test_steps = [
|
||||
betterer_frontend_step(),
|
||||
test_frontend_step(),
|
||||
betterer_frontend_step(edition),
|
||||
test_frontend_step(edition),
|
||||
]
|
||||
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,
|
||||
)
|
||||
|
||||
@@ -36,16 +36,17 @@ def slack_step(channel, template, secret):
|
||||
},
|
||||
}
|
||||
|
||||
def yarn_install_step():
|
||||
def yarn_install_step(edition="oss"):
|
||||
deps = []
|
||||
if edition == 'enterprise':
|
||||
deps = ['init-enterprise']
|
||||
return {
|
||||
'name': 'yarn-install',
|
||||
'image': build_image,
|
||||
'commands': [
|
||||
'yarn install --immutable',
|
||||
],
|
||||
'depends_on': [
|
||||
'grabpl',
|
||||
],
|
||||
'depends_on': deps,
|
||||
}
|
||||
|
||||
|
||||
@@ -449,6 +450,7 @@ def build_frontend_package_step(edition, ver_mode):
|
||||
'NODE_OPTIONS': '--max_old_space_size=8192',
|
||||
},
|
||||
'depends_on': [
|
||||
'compile-build-cmd',
|
||||
'yarn-install',
|
||||
],
|
||||
'commands': cmds,
|
||||
@@ -467,6 +469,7 @@ def build_plugins_step(edition, ver_mode):
|
||||
'image': build_image,
|
||||
'environment': env,
|
||||
'depends_on': [
|
||||
'compile-build-cmd',
|
||||
'yarn-install',
|
||||
],
|
||||
'commands': [
|
||||
@@ -514,13 +517,15 @@ def test_backend_integration_step(edition):
|
||||
],
|
||||
}
|
||||
|
||||
def betterer_frontend_step():
|
||||
def betterer_frontend_step(edition="oss"):
|
||||
deps = []
|
||||
if edition == "enterprise":
|
||||
deps.extend(['init-enterprise'])
|
||||
deps.extend(['yarn-install'])
|
||||
return {
|
||||
'name': 'betterer-frontend',
|
||||
'image': build_image,
|
||||
'depends_on': [
|
||||
'yarn-install',
|
||||
],
|
||||
'depends_on': deps,
|
||||
'commands': [
|
||||
'yarn betterer ci',
|
||||
],
|
||||
@@ -529,16 +534,18 @@ def betterer_frontend_step():
|
||||
|
||||
|
||||
|
||||
def test_frontend_step():
|
||||
def test_frontend_step(edition="oss"):
|
||||
deps = []
|
||||
if edition == "enterprise":
|
||||
deps.extend(['init-enterprise'])
|
||||
deps.extend(['yarn-install'])
|
||||
return {
|
||||
'name': 'test-frontend',
|
||||
'image': build_image,
|
||||
'environment': {
|
||||
'TEST_MAX_WORKERS': '50%',
|
||||
},
|
||||
'depends_on': [
|
||||
'yarn-install',
|
||||
],
|
||||
'depends_on': deps,
|
||||
'commands': [
|
||||
'yarn run ci:test-frontend',
|
||||
],
|
||||
@@ -1180,7 +1187,7 @@ def get_windows_steps(edition, ver_mode):
|
||||
|
||||
def verify_gen_cue_step(edition):
|
||||
deps = []
|
||||
if edition == "enterprise":
|
||||
if edition in ('enterprise', 'enterprise2'):
|
||||
deps.extend(['init-enterprise'])
|
||||
return {
|
||||
'name': 'verify-gen-cue',
|
||||
@@ -1253,7 +1260,7 @@ def end_to_end_tests_deps(edition):
|
||||
|
||||
def compile_build_cmd(edition='oss'):
|
||||
dependencies = []
|
||||
if edition == 'enterprise':
|
||||
if edition in ('enterprise', 'enterprise2'):
|
||||
dependencies = ['init-enterprise',]
|
||||
return {
|
||||
'name': 'compile-build-cmd',
|
||||
|
||||
Reference in New Issue
Block a user