From 0bf3c98eec4acb65464c04a00346bb89f293700d Mon Sep 17 00:00:00 2001 From: Dimitris Sotirakis Date: Fri, 18 Nov 2022 16:15:04 +0200 Subject: [PATCH] CI: Add environment variables for edition to all pipelines (#58964) Add environment variables to pipelines --- .drone.yml | 60 ++++++++++++++++++- scripts/drone/events/release.star | 11 ++-- scripts/drone/pipelines/build.star | 3 +- scripts/drone/pipelines/docs.star | 3 +- .../drone/pipelines/integration_tests.star | 3 +- scripts/drone/pipelines/lint_backend.star | 3 +- scripts/drone/pipelines/lint_frontend.star | 3 +- scripts/drone/pipelines/publish_images.star | 6 +- scripts/drone/pipelines/shellcheck.star | 3 +- scripts/drone/pipelines/test_frontend.star | 2 +- .../drone/pipelines/trigger_downstream.star | 3 +- scripts/drone/pipelines/verify_drone.star | 3 +- scripts/drone/pipelines/windows.star | 3 +- 13 files changed, 87 insertions(+), 19 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4b48aa009e0..6f120401d38 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,6 +2,8 @@ clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -56,6 +58,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -117,6 +121,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -253,6 +259,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -313,6 +321,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -627,6 +637,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -760,6 +772,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -830,6 +844,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -873,6 +889,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -944,6 +962,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1002,6 +1022,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1128,6 +1150,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1188,6 +1212,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1600,6 +1626,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1731,6 +1759,8 @@ depends_on: - main-test-backend - main-build-e2e-publish - main-integration-tests +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -1828,6 +1858,8 @@ clone: depends_on: - main-build-e2e-publish - main-integration-tests +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -2210,6 +2242,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -2879,6 +2913,8 @@ volumes: clone: disable: true depends_on: [] +environment: + EDITION: enterprise image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3324,6 +3360,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3412,6 +3450,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: enterprise image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3483,6 +3523,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: enterprise image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3554,6 +3596,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: all image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3596,6 +3640,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: all image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3638,6 +3684,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: all image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3699,6 +3747,8 @@ depends_on: - publish-artifacts-public - publish-docker-oss-public - publish-docker-enterprise-public +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3794,6 +3844,8 @@ depends_on: - publish-artifacts-public - publish-docker-oss-public - publish-docker-enterprise-public +environment: + EDITION: enterprise image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3886,6 +3938,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: all image_pull_secrets: - dockerconfigjson kind: pipeline @@ -4204,6 +4258,8 @@ volumes: clone: retries: 3 depends_on: [] +environment: + EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline @@ -4851,6 +4907,8 @@ volumes: clone: disable: true depends_on: [] +environment: + EDITION: enterprise image_pull_secrets: - dockerconfigjson kind: pipeline @@ -5512,6 +5570,6 @@ kind: secret name: packages_secret_access_key --- kind: signature -hmac: bdde811590573d22162d8305ced15080e8b20f2180b7491891c461427810a4b3 +hmac: 49c89d01105450cc0ae03afc0dc5aec89d61a758cb1e3a4da9fec1434a49da5c ... diff --git a/scripts/drone/events/release.star b/scripts/drone/events/release.star index 1339bfcba81..ce5442e555c 100644 --- a/scripts/drone/events/release.star +++ b/scripts/drone/events/release.star @@ -376,7 +376,7 @@ def publish_artifacts_pipelines(mode): ] return [pipeline( - name='publish-artifacts-{}'.format(mode), trigger=trigger, steps=steps, edition="all" + name='publish-artifacts-{}'.format(mode), trigger=trigger, steps=steps, edition="all", environment = {'EDITION': 'all'} )] def publish_packages_pipeline(): @@ -406,9 +406,9 @@ def publish_packages_pipeline(): ] return [pipeline( - name='publish-packages-oss', trigger=trigger, steps=oss_steps, edition="all", depends_on=deps + name='publish-packages-oss', trigger=trigger, steps=oss_steps, edition="all", depends_on=deps, environment = {'EDITION': 'oss'}, ), pipeline( - name='publish-packages-enterprise', trigger=trigger, steps=enterprise_steps, edition="all", depends_on=deps + name='publish-packages-enterprise', trigger=trigger, steps=enterprise_steps, edition="all", depends_on=deps, environment = {'EDITION': 'enterprise'} )] def publish_npm_pipelines(mode): @@ -424,7 +424,7 @@ def publish_npm_pipelines(mode): ] return [pipeline( - name='publish-npm-packages-{}'.format(mode), trigger=trigger, steps = steps, edition="all" + name='publish-npm-packages-{}'.format(mode), trigger=trigger, steps = steps, edition="all", environment = {'EDITION': 'all'}, )] def artifacts_page_pipeline(): @@ -432,7 +432,8 @@ def artifacts_page_pipeline(): 'event': ['promote'], 'target': 'security', } - return [pipeline(name='publish-artifacts-page', trigger=trigger, steps = [download_grabpl_step(), artifacts_page_step()], edition="all")] + return [pipeline(name='publish-artifacts-page', trigger=trigger, steps = [download_grabpl_step(), artifacts_page_step()], edition="all", environment = {'EDITION': 'all'} + )] def release_pipelines(ver_mode='release', trigger=None): # 'enterprise' edition services contain both OSS and enterprise services diff --git a/scripts/drone/pipelines/build.star b/scripts/drone/pipelines/build.star index 081c2a0e0d0..a09122ae65b 100644 --- a/scripts/drone/pipelines/build.star +++ b/scripts/drone/pipelines/build.star @@ -45,6 +45,7 @@ load( ) def build_e2e(trigger, ver_mode, edition): + environment = {'EDITION': edition} variants = ['linux-amd64', 'linux-amd64-musl', 'darwin-amd64', 'windows-amd64',] init_steps = [ identify_runner_step(), @@ -106,5 +107,5 @@ def build_e2e(trigger, ver_mode, edition): publish_suffix = '-publish' return pipeline( - name='{}-build-e2e{}'.format(ver_mode, publish_suffix), edition="oss", trigger=trigger, services=[], steps=init_steps + build_steps, + name='{}-build-e2e{}'.format(ver_mode, publish_suffix), edition="oss", trigger=trigger, services=[], steps=init_steps + build_steps, environment=environment, ) diff --git a/scripts/drone/pipelines/docs.star b/scripts/drone/pipelines/docs.star index eefecd599e7..32f9eb97826 100644 --- a/scripts/drone/pipelines/docs.star +++ b/scripts/drone/pipelines/docs.star @@ -32,6 +32,7 @@ docs_paths = { } def docs_pipelines(edition, ver_mode, trigger): + environment = {'EDITION': edition} steps = [ download_grabpl_step(), identify_runner_step(), @@ -42,7 +43,7 @@ def docs_pipelines(edition, ver_mode, trigger): ] return pipeline( - name='{}-docs'.format(ver_mode), edition=edition, trigger=trigger, services=[], steps=steps, + name='{}-docs'.format(ver_mode), edition=edition, trigger=trigger, services=[], steps=steps, environment=environment, ) def lint_docs(): diff --git a/scripts/drone/pipelines/integration_tests.star b/scripts/drone/pipelines/integration_tests.star index 9d064e77ffc..6994d00a2f0 100644 --- a/scripts/drone/pipelines/integration_tests.star +++ b/scripts/drone/pipelines/integration_tests.star @@ -23,6 +23,7 @@ load( ) def integration_tests(trigger, ver_mode, edition): + environment = {'EDITION': edition} services = integration_test_services(edition) volumes = integration_test_services_volumes() init_steps = [ @@ -40,5 +41,5 @@ def integration_tests(trigger, ver_mode, edition): return pipeline( name='{}-integration-tests'.format(ver_mode), edition="oss", trigger=trigger, services=services, steps=init_steps + test_steps, - volumes=volumes + environment=environment, volumes=volumes ) diff --git a/scripts/drone/pipelines/lint_backend.star b/scripts/drone/pipelines/lint_backend.star index f127f655db4..08112f28868 100644 --- a/scripts/drone/pipelines/lint_backend.star +++ b/scripts/drone/pipelines/lint_backend.star @@ -13,6 +13,7 @@ load( ) def lint_backend_pipeline(trigger, ver_mode): + environment = {'EDITION': 'oss'} wire_step = wire_install_step() wire_step.update({ 'depends_on': [] }) init_steps = [ @@ -27,5 +28,5 @@ def lint_backend_pipeline(trigger, ver_mode): test_steps.extend([lint_drone_step()]) return pipeline( - name='{}-lint-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, + name='{}-lint-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, environment=environment, ) diff --git a/scripts/drone/pipelines/lint_frontend.star b/scripts/drone/pipelines/lint_frontend.star index f40621c1d9a..bb99a9e0d21 100644 --- a/scripts/drone/pipelines/lint_frontend.star +++ b/scripts/drone/pipelines/lint_frontend.star @@ -11,6 +11,7 @@ load( ) def lint_frontend_pipeline(trigger, ver_mode): + environment = {'EDITION': 'oss'} yarn_step = yarn_install_step() yarn_step.update({ 'depends_on': [] }) init_steps = [ @@ -21,5 +22,5 @@ def lint_frontend_pipeline(trigger, ver_mode): lint_frontend_step(), ] return pipeline( - name='{}-lint-frontend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, + name='{}-lint-frontend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, environment=environment, ) diff --git a/scripts/drone/pipelines/publish_images.star b/scripts/drone/pipelines/publish_images.star index 5365880d169..7e760ef8ff0 100644 --- a/scripts/drone/pipelines/publish_images.star +++ b/scripts/drone/pipelines/publish_images.star @@ -34,9 +34,9 @@ def publish_image_pipelines_public(): 'target': [mode], } return [pipeline( - name='publish-docker-oss-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='oss', mode=mode, docker_repo='grafana/grafana'), edition="" + name='publish-docker-oss-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='oss', mode=mode, docker_repo='grafana/grafana'), edition="", environment = {'EDITION': 'oss'} ), pipeline( - name='publish-docker-enterprise-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='enterprise', mode=mode, docker_repo='grafana/grafana-enterprise'), edition="" + name='publish-docker-enterprise-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='enterprise', mode=mode, docker_repo='grafana/grafana-enterprise'), edition="", environment = {'EDITION': 'enterprise'} ),] def publish_image_pipelines_security(): @@ -46,5 +46,5 @@ def publish_image_pipelines_security(): 'target': [mode], } return [pipeline( - name='publish-docker-enterprise-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='enterprise', mode=mode, docker_repo='grafana/grafana-enterprise'), edition="" + name='publish-docker-enterprise-{}'.format(mode), trigger=trigger, steps=publish_image_steps(edition='enterprise', mode=mode, docker_repo='grafana/grafana-enterprise'), edition="", environment = {'EDITION': 'enterprise'} ),] diff --git a/scripts/drone/pipelines/shellcheck.star b/scripts/drone/pipelines/shellcheck.star index 808d7329ba9..95bf84ac732 100644 --- a/scripts/drone/pipelines/shellcheck.star +++ b/scripts/drone/pipelines/shellcheck.star @@ -38,11 +38,12 @@ def shellcheck_step(): } def shellcheck_pipeline(): + environment = {'EDITION': 'oss'} steps = [ compile_build_cmd(), shellcheck_step(), ] return pipeline( - name='pr-shellcheck', edition="oss", trigger=trigger, services=[], steps=steps, + name='pr-shellcheck', edition="oss", trigger=trigger, services=[], steps=steps, environment=environment, ) diff --git a/scripts/drone/pipelines/test_frontend.star b/scripts/drone/pipelines/test_frontend.star index 7490c66c2e2..6c72ccc8a00 100644 --- a/scripts/drone/pipelines/test_frontend.star +++ b/scripts/drone/pipelines/test_frontend.star @@ -32,5 +32,5 @@ def test_frontend(trigger, ver_mode, edition="oss"): if ver_mode in ("release-branch", "release"): pipeline_name = '{}-{}-test-frontend'.format(ver_mode, edition) return pipeline( - name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps, + name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps, environment=environment, ) diff --git a/scripts/drone/pipelines/trigger_downstream.star b/scripts/drone/pipelines/trigger_downstream.star index 36ab3f1ff0d..c1bc672905e 100644 --- a/scripts/drone/pipelines/trigger_downstream.star +++ b/scripts/drone/pipelines/trigger_downstream.star @@ -21,8 +21,9 @@ trigger = { } def enterprise_downstream_pipeline(edition, ver_mode): + environment = {'EDITION': edition} steps = [enterprise_downstream_step(edition, ver_mode)] deps = ['main-build-e2e-publish', 'main-integration-tests'] return pipeline( - name='main-trigger-downstream', edition=edition, trigger=trigger, services=[], steps=steps, depends_on=deps + name='main-trigger-downstream', edition=edition, trigger=trigger, services=[], steps=steps, depends_on=deps, environment=environment, ) diff --git a/scripts/drone/pipelines/verify_drone.star b/scripts/drone/pipelines/verify_drone.star index e350c8e0a7e..6d55044d12c 100644 --- a/scripts/drone/pipelines/verify_drone.star +++ b/scripts/drone/pipelines/verify_drone.star @@ -12,6 +12,7 @@ load( ) def verify_drone(trigger, ver_mode): + environment = {'EDITION': 'oss'} steps = [ identify_runner_step(), download_grabpl_step(), @@ -19,5 +20,5 @@ def verify_drone(trigger, ver_mode): lint_drone_step(), ] return pipeline( - name='{}-verify-drone'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=steps, + name='{}-verify-drone'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=steps, environment=environment, ) diff --git a/scripts/drone/pipelines/windows.star b/scripts/drone/pipelines/windows.star index c0e0f61f7f6..357346e8829 100644 --- a/scripts/drone/pipelines/windows.star +++ b/scripts/drone/pipelines/windows.star @@ -13,6 +13,7 @@ load( load('scripts/drone/vault.star', 'from_secret', 'prerelease_bucket', 'github_token') def windows(trigger, edition, ver_mode): + environment = {'EDITION': edition} init_cmds = [] sfx = '' if edition in ('enterprise', 'enterprise2'): @@ -130,5 +131,5 @@ def windows(trigger, edition, ver_mode): return pipeline( name='main-windows', edition=edition, trigger=dict(trigger, repo=['grafana/grafana']), steps=[identify_runner_step('windows')] + steps, - depends_on=['main-test-frontend', 'main-test-backend', 'main-build-e2e-publish', 'main-integration-tests'], platform='windows', + depends_on=['main-test-frontend', 'main-test-backend', 'main-build-e2e-publish', 'main-integration-tests'], platform='windows', environment=environment, )