mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
CI: Split oss
and enterprise
steps for release pipelines (#55157)
* s/include_enterprise2/include_enterprise * Get rid of get_steps def - include steps in separate defs
This commit is contained in:
parent
0571d98bba
commit
5a1ba20856
24
.drone.yml
24
.drone.yml
@ -2548,17 +2548,6 @@ steps:
|
||||
from_secret: prerelease_bucket
|
||||
image: grafana/grafana-ci-deploy:1.3.3
|
||||
name: upload-packages
|
||||
- commands:
|
||||
- ./bin/grabpl artifacts npm store --tag ${DRONE_TAG}
|
||||
depends_on:
|
||||
- build-frontend-packages
|
||||
environment:
|
||||
GCP_KEY:
|
||||
from_secret: gcp_key
|
||||
PRERELEASE_BUCKET:
|
||||
from_secret: prerelease_bucket
|
||||
image: grafana/build-container:1.6.2
|
||||
name: store-npm-packages
|
||||
- commands:
|
||||
- ./bin/grabpl package --jobs 8 --edition enterprise2 --sign ${DRONE_TAG}
|
||||
depends_on:
|
||||
@ -2589,6 +2578,17 @@ steps:
|
||||
from_secret: prerelease_bucket
|
||||
image: grafana/grafana-ci-deploy:1.3.3
|
||||
name: upload-cdn-assets-enterprise2
|
||||
- commands:
|
||||
- ./bin/grabpl artifacts npm store --tag ${DRONE_TAG}
|
||||
depends_on:
|
||||
- build-frontend-packages
|
||||
environment:
|
||||
GCP_KEY:
|
||||
from_secret: gcp_key
|
||||
PRERELEASE_BUCKET:
|
||||
from_secret: prerelease_bucket
|
||||
image: grafana/build-container:1.6.2
|
||||
name: store-npm-packages
|
||||
- commands:
|
||||
- ./bin/grabpl upload-packages --edition enterprise2
|
||||
depends_on:
|
||||
@ -5055,6 +5055,6 @@ kind: secret
|
||||
name: packages_secret_access_key
|
||||
---
|
||||
kind: signature
|
||||
hmac: 5ddbaf0b3a60ffec387d728b2141c59a4875d72108a71b2ee0baf278d2b4e939
|
||||
hmac: e21a281dc63df0317ad1082113a224b53fb5ef2f62d74eb2d7b6d11d80f0f079
|
||||
|
||||
...
|
||||
|
@ -151,13 +151,14 @@ def publish_image_pipelines(mode):
|
||||
name='publish-docker-enterprise-{}'.format(mode), trigger=trigger, steps=publish_image_steps(version='enterprise', mode=mode, docker_repo='grafana-enterprise'), edition=""
|
||||
),]
|
||||
|
||||
def get_steps(edition, ver_mode):
|
||||
def get_oss_pipelines(trigger, ver_mode):
|
||||
edition = 'oss'
|
||||
services = integration_test_services(edition=edition)
|
||||
volumes = integration_test_services_volumes()
|
||||
package_steps = []
|
||||
publish_steps = []
|
||||
should_publish = ver_mode == 'release'
|
||||
should_upload = should_publish or ver_mode in ('release-branch',)
|
||||
include_enterprise2 = edition == 'enterprise'
|
||||
edition2 = 'enterprise2'
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
download_grabpl_step(),
|
||||
@ -189,18 +190,9 @@ def get_steps(edition, ver_mode):
|
||||
mysql_integration_tests_step(edition=edition, ver_mode=ver_mode),
|
||||
]
|
||||
|
||||
if include_enterprise2:
|
||||
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']),
|
||||
])
|
||||
|
||||
# Insert remaining steps
|
||||
build_steps.extend([
|
||||
package_step(edition=edition, ver_mode=ver_mode, include_enterprise2=include_enterprise2),
|
||||
package_step(edition=edition, ver_mode=ver_mode),
|
||||
copy_packages_for_docker_step(),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, publish=True),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, ubuntu=True, publish=True),
|
||||
@ -232,23 +224,6 @@ def get_steps(edition, ver_mode):
|
||||
publish_steps.append(store_npm_step)
|
||||
windows_package_steps = get_windows_steps(edition=edition, ver_mode=ver_mode)
|
||||
|
||||
if include_enterprise2:
|
||||
publish_steps.extend([
|
||||
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise2, variants=['linux-amd64']),
|
||||
upload_cdn_step(edition=edition2, ver_mode=ver_mode),
|
||||
])
|
||||
if should_upload:
|
||||
step = upload_packages_step(edition=edition2, ver_mode=ver_mode)
|
||||
if step:
|
||||
publish_steps.append(step)
|
||||
|
||||
return init_steps, test_steps, build_steps, integration_test_steps, package_steps, windows_package_steps, publish_steps
|
||||
|
||||
def get_oss_pipelines(trigger, ver_mode):
|
||||
edition = 'oss'
|
||||
services = integration_test_services(edition=edition)
|
||||
volumes = integration_test_services_volumes()
|
||||
init_steps, test_steps, build_steps, integration_test_steps, package_steps, windows_package_steps, publish_steps = get_steps(edition=edition, ver_mode=ver_mode)
|
||||
windows_pipeline = pipeline(
|
||||
name='{}-oss-windows'.format(ver_mode), edition=edition, trigger=trigger,
|
||||
steps=[identify_runner_step('windows')] + windows_package_steps,
|
||||
@ -292,12 +267,12 @@ def get_enterprise_pipelines(trigger, ver_mode):
|
||||
edition = 'enterprise'
|
||||
services = integration_test_services(edition=edition)
|
||||
volumes = integration_test_services_volumes()
|
||||
deps_on_clone_enterprise_step = {
|
||||
'depends_on': [
|
||||
'init-enterprise',
|
||||
]
|
||||
}
|
||||
_, test_steps, build_steps, integration_test_steps, package_steps, windows_package_steps, publish_steps = get_steps(edition=edition, ver_mode=ver_mode)
|
||||
package_steps = []
|
||||
publish_steps = []
|
||||
should_publish = ver_mode == 'release'
|
||||
should_upload = should_publish or ver_mode in ('release-branch',)
|
||||
include_enterprise = edition == 'enterprise'
|
||||
edition2 = 'enterprise2'
|
||||
init_steps = [
|
||||
download_grabpl_step(),
|
||||
identify_runner_step(),
|
||||
@ -305,6 +280,87 @@ def get_enterprise_pipelines(trigger, ver_mode):
|
||||
init_enterprise_step(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),
|
||||
build_frontend_package_step(edition=edition, ver_mode=ver_mode),
|
||||
build_plugins_step(edition=edition, ver_mode=ver_mode),
|
||||
]
|
||||
|
||||
integration_test_steps = [
|
||||
postgres_integration_tests_step(edition=edition, ver_mode=ver_mode),
|
||||
mysql_integration_tests_step(edition=edition, ver_mode=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']),
|
||||
])
|
||||
|
||||
# Insert remaining steps
|
||||
build_steps.extend([
|
||||
package_step(edition=edition, ver_mode=ver_mode, include_enterprise2=include_enterprise),
|
||||
copy_packages_for_docker_step(),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, publish=True),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, ubuntu=True, publish=True),
|
||||
grafana_server_step(edition=edition),
|
||||
])
|
||||
|
||||
if not disable_tests:
|
||||
build_steps.extend([
|
||||
e2e_tests_step('dashboards-suite', edition=edition, tries=3),
|
||||
e2e_tests_step('smoke-tests-suite', edition=edition, tries=3),
|
||||
e2e_tests_step('panels-suite', edition=edition, tries=3),
|
||||
e2e_tests_step('various-suite', edition=edition, tries=3),
|
||||
e2e_tests_artifacts(edition=edition),
|
||||
])
|
||||
|
||||
build_storybook = build_storybook_step(edition=edition, ver_mode=ver_mode)
|
||||
if build_storybook:
|
||||
build_steps.append(build_storybook)
|
||||
|
||||
if should_upload:
|
||||
publish_steps.extend([
|
||||
upload_cdn_step(edition=edition, ver_mode=ver_mode, trigger=trigger_oss),
|
||||
upload_packages_step(edition=edition, ver_mode=ver_mode, trigger=trigger_oss),
|
||||
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise, variants=['linux-amd64']),
|
||||
upload_cdn_step(edition=edition2, ver_mode=ver_mode),
|
||||
])
|
||||
if should_publish:
|
||||
publish_step = store_storybook_step(edition=edition, ver_mode=ver_mode)
|
||||
store_npm_step = store_npm_packages_step()
|
||||
if publish_step:
|
||||
publish_steps.append(publish_step)
|
||||
if store_npm_step:
|
||||
publish_steps.append(store_npm_step)
|
||||
windows_package_steps = get_windows_steps(edition=edition, ver_mode=ver_mode)
|
||||
|
||||
if should_upload:
|
||||
step = upload_packages_step(edition=edition2, ver_mode=ver_mode)
|
||||
if step:
|
||||
publish_steps.append(step)
|
||||
|
||||
deps_on_clone_enterprise_step = {
|
||||
'depends_on': [
|
||||
'init-enterprise',
|
||||
]
|
||||
}
|
||||
|
||||
for step in [wire_install_step(), yarn_install_step(), verify_gen_cue_step(edition)]:
|
||||
step.update(deps_on_clone_enterprise_step)
|
||||
init_steps.extend([step])
|
||||
|
Loading…
Reference in New Issue
Block a user