diff --git a/.drone.yml b/.drone.yml index 72630f0cfa1..88071aed71a 100644 --- a/.drone.yml +++ b/.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 ... diff --git a/scripts/drone/events/release.star b/scripts/drone/events/release.star index 59025f3575e..d3f01b5c8a9 100644 --- a/scripts/drone/events/release.star +++ b/scripts/drone/events/release.star @@ -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])