From 409525984138f96e469fa2b726fdf6c8ee2f999f Mon Sep 17 00:00:00 2001 From: Kevin Minehart Date: Fri, 21 Jul 2023 16:27:43 -0500 Subject: [PATCH] [v10.0.x] CI: Run only Grafana builds on RGM for grafana/grafana (#72161) * CI: Try setting the vault secret for 'grafana_api_key' (#71981) * Try setting the vault secret * Maybe? * forgot .drone.yml * CI: Use GCP keys in vault and not drone secrets (#72023) * CI: Run only Grafana builds on RGM for grafana/grafana (#72144) * Run only OSS builds on RGM for grafana/grafana * Update script name * Ignore windows step failure for RGM --------- Co-authored-by: Guilherme Caulada --- .drone.yml | 143 ++++++++++-------------------- scripts/drone/events/release.star | 9 +- scripts/drone/rgm.star | 23 +++-- scripts/drone/steps/lib.star | 42 ++++----- scripts/drone/utils/utils.star | 5 ++ scripts/drone/vault.star | 5 ++ scripts/list-release-artifacts.sh | 48 ---------- 7 files changed, 94 insertions(+), 181 deletions(-) diff --git a/.drone.yml b/.drone.yml index 74157d44fc0..3670115a8b2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -743,7 +743,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images volumes: @@ -756,7 +756,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images-ubuntu volumes: @@ -1677,7 +1677,7 @@ steps: - end-to-end-tests-various-suite environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -1708,7 +1708,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images volumes: @@ -1721,7 +1721,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images-ubuntu volumes: @@ -1738,7 +1738,7 @@ steps: DOCKER_USER: from_secret: docker_username GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads GITHUB_APP_ID: from_secret: delivery-bot-app-id GITHUB_APP_INSTALLATION_ID: @@ -1764,7 +1764,7 @@ steps: DOCKER_USER: from_secret: docker_username GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads GITHUB_APP_ID: from_secret: delivery-bot-app-id GITHUB_APP_INSTALLATION_ID: @@ -1806,7 +1806,7 @@ steps: - end-to-end-tests-various-suite environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads_base64 PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -1820,7 +1820,7 @@ steps: - grafana-server environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -2323,7 +2323,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images volumes: @@ -2336,7 +2336,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images-ubuntu volumes: @@ -2441,7 +2441,7 @@ steps: - grafana-server environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -2455,7 +2455,7 @@ steps: - end-to-end-tests-various-suite environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads_base64 PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -2471,7 +2471,7 @@ steps: - end-to-end-tests-various-suite environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -2486,7 +2486,7 @@ steps: - build-frontend-packages environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_upload_artifacts_key PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/build-container:1.7.5 @@ -2754,7 +2754,7 @@ steps: DOCKER_USER: from_secret: docker_username GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: fetch-images volumes: @@ -2771,7 +2771,7 @@ steps: DOCKER_USER: from_secret: docker_username GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads GITHUB_APP_ID: from_secret: delivery-bot-app-id GITHUB_APP_INSTALLATION_ID: @@ -2794,7 +2794,7 @@ steps: DOCKER_USER: from_secret: docker_username GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads GITHUB_APP_ID: from_secret: delivery-bot-app-id GITHUB_APP_INSTALLATION_ID: @@ -3023,7 +3023,7 @@ steps: - publish-linux-packages-rpm environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads GRAFANA_COM_API_KEY: from_secret: grafana_api_key image: grafana/grafana-ci-deploy:1.3.3 @@ -3209,7 +3209,7 @@ services: [] steps: - commands: - export GRAFANA_DIR=$$(pwd) - - cd /src && ./scripts/drone_publish_tag.sh + - cd /src && ./scripts/drone_publish_tag_grafana.sh environment: _EXPERIMENTAL_DAGGER_CLOUD_TOKEN: from_secret: dagger_token @@ -3250,12 +3250,10 @@ clone: retries: 3 depends_on: - rgm-tag-prerelease -environment: - EDITION: oss image_pull_secrets: - dockerconfigjson kind: pipeline -name: rgm-tag-prerelease-windows-oss +name: rgm-tag-prerelease-windows platform: arch: amd64 os: windows @@ -3264,12 +3262,14 @@ services: [] steps: - commands: - echo $env:DRONE_RUNNER_NAME + failure: ignore image: mcr.microsoft.com/windows:1809 name: identify-runner - commands: - $$ProgressPreference = "SilentlyContinue" - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.40/windows/grabpl.exe -OutFile grabpl.exe + failure: ignore image: grafana/ci-wix:0.1.1 name: windows-init - commands: @@ -3294,6 +3294,7 @@ steps: from_secret: github_token PRERELEASE_BUCKET: from_secret: prerelease_bucket + failure: ignore image: grafana/ci-wix:0.1.1 name: build-windows-installer trigger: @@ -3315,73 +3316,7 @@ clone: retries: 3 depends_on: - rgm-tag-prerelease -environment: - EDITION: enterprise -image_pull_secrets: -- dockerconfigjson -kind: pipeline -name: rgm-tag-prerelease-windows-enterprise -platform: - arch: amd64 - os: windows - version: "1809" -services: [] -steps: -- commands: - - echo $env:DRONE_RUNNER_NAME - image: mcr.microsoft.com/windows:1809 - name: identify-runner -- commands: - - $$ProgressPreference = "SilentlyContinue" - - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.40/windows/grabpl.exe - -OutFile grabpl.exe - image: grafana/ci-wix:0.1.1 - name: windows-init -- commands: - - $$gcpKey = $$env:GCP_KEY - - '[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($$gcpKey)) - > gcpkey.json' - - dos2unix gcpkey.json - - gcloud auth activate-service-account --key-file=gcpkey.json - - rm gcpkey.json - - cp C:\App\nssm-2.24.zip . - - .\grabpl.exe windows-installer --target gs://grafana-prerelease-dev/artifacts/downloads/${DRONE_TAG}/enterprise/release/grafana-enterprise-${DRONE_TAG:1}.windows-amd64.zip - --edition enterprise ${DRONE_TAG} - - $$fname = ((Get-Childitem grafana*.msi -name) -split "`n")[0] - - gsutil cp $$fname gs://grafana-prerelease-dev/artifacts/downloads/${DRONE_TAG}/enterprise/release/ - - gsutil cp "$$fname.sha256" gs://grafana-prerelease-dev/artifacts/downloads/${DRONE_TAG}/enterprise/release/ - depends_on: - - windows-init - environment: - GCP_KEY: - from_secret: gcp_key - GITHUB_TOKEN: - from_secret: github_token - PRERELEASE_BUCKET: - from_secret: prerelease_bucket - image: grafana/ci-wix:0.1.1 - name: build-windows-installer -trigger: - event: - exclude: - - promote - ref: - exclude: - - refs/tags/*-cloud* - include: - - refs/tags/v* -type: docker -volumes: -- host: - path: //./pipe/docker_engine/ - name: docker ---- -clone: - retries: 3 -depends_on: -- rgm-tag-prerelease -- rgm-tag-prerelease-windows-oss -- rgm-tag-prerelease-windows-enterprise +- rgm-tag-prerelease-windows image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3544,7 +3479,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images volumes: @@ -3557,7 +3492,7 @@ steps: - compile-build-cmd environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads image: google/cloud-sdk:431.0.0 name: build-docker-images-ubuntu volumes: @@ -3663,7 +3598,7 @@ steps: - grafana-server environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -3680,7 +3615,7 @@ steps: - end-to-end-tests-various-suite environment: GCP_KEY: - from_secret: gcp_key + from_secret: gcp_grafanauploads_base64 PRERELEASE_BUCKET: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 @@ -4494,6 +4429,24 @@ trigger: event: cron type: docker --- +get: + name: credentials.json + path: infra/data/ci/grafana-release-eng/grafanauploads +kind: secret +name: gcp_grafanauploads +--- +get: + name: credentials_base64 + path: infra/data/ci/grafana-release-eng/grafanauploads +kind: secret +name: gcp_grafanauploads_base64 +--- +get: + name: grafana_api_key + path: infra/data/ci/drone-plugins +kind: secret +name: grafana_api_key +--- get: name: .dockerconfigjson path: secret/data/common/gcr @@ -4657,6 +4610,6 @@ kind: secret name: delivery-bot-app-private-key --- kind: signature -hmac: 3c6d5a8fdfccf677ed0e1376e74f10be626a6381e0c88ba082f2da1270c19019 +hmac: c149d78d17febb676b27e85a82158b94fb794931ce88b7b8cae7b40c9f5cd5a3 ... diff --git a/scripts/drone/events/release.star b/scripts/drone/events/release.star index e21c162cd77..64d99b82b01 100644 --- a/scripts/drone/events/release.star +++ b/scripts/drone/events/release.star @@ -51,7 +51,12 @@ load( "scripts/drone/pipelines/test_backend.star", "test_backend", ) -load("scripts/drone/vault.star", "from_secret", "prerelease_bucket") +load( + "scripts/drone/vault.star", + "from_secret", + "gcp_upload_artifacts_key", + "prerelease_bucket", +) load( "scripts/drone/utils/images.star", "images", @@ -87,7 +92,7 @@ def store_npm_packages_step(): "build-frontend-packages", ], "environment": { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_upload_artifacts_key), "PRERELEASE_BUCKET": from_secret(prerelease_bucket), }, "commands": ["./bin/build artifacts npm store --tag ${DRONE_TAG}"], diff --git a/scripts/drone/rgm.star b/scripts/drone/rgm.star index e8ce6092d34..22dbd2dc6e0 100644 --- a/scripts/drone/rgm.star +++ b/scripts/drone/rgm.star @@ -10,6 +10,7 @@ load( ) load( "scripts/drone/utils/utils.star", + "ignore_failure", "pipeline", ) load( @@ -99,38 +100,36 @@ def rgm_tag(): return pipeline( name = "rgm-tag-prerelease", trigger = tag_trigger, - steps = rgm_build(script = "drone_publish_tag.sh"), + steps = rgm_build(script = "drone_publish_tag_grafana.sh"), depends_on = [], ) -def rgm_windows(edition = "oss"): +def rgm_windows(): return pipeline( - name = "rgm-tag-prerelease-windows-{}".format(edition), + name = "rgm-tag-prerelease-windows", trigger = tag_trigger, - steps = get_windows_steps( - ver_mode = "release", - bucket = "grafana-prerelease-dev", - edition = edition, + steps = ignore_failure( + get_windows_steps( + ver_mode = "release", + bucket = "grafana-prerelease-dev", + ), ), depends_on = ["rgm-tag-prerelease"], platform = "windows", - environment = {"EDITION": edition}, ) def rgm(): return [ rgm_main(), rgm_tag(), - rgm_windows(edition = "oss"), - rgm_windows(edition = "enterprise"), + rgm_windows(), verify_release_pipeline( trigger = tag_trigger, name = "rgm-tag-verify-prerelease-assets", bucket = "grafana-prerelease-dev", depends_on = [ "rgm-tag-prerelease", - "rgm-tag-prerelease-windows-oss", - "rgm-tag-prerelease-windows-enterprise", + "rgm-tag-prerelease-windows", ], ), ] diff --git a/scripts/drone/steps/lib.star b/scripts/drone/steps/lib.star index c78619f67dd..d9bc3c320fb 100644 --- a/scripts/drone/steps/lib.star +++ b/scripts/drone/steps/lib.star @@ -5,6 +5,9 @@ This module is a library of Drone steps and other pipeline components. load( "scripts/drone/vault.star", "from_secret", + "gcp_grafanauploads", + "gcp_grafanauploads_base64", + "gcp_upload_artifacts_key", "prerelease_bucket", ) load( @@ -302,7 +305,7 @@ def store_storybook_step(ver_mode, trigger = None): ] + end_to_end_tests_deps(), "environment": { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), "PRERELEASE_BUCKET": from_secret(prerelease_bucket), }, "commands": commands, @@ -341,7 +344,7 @@ def e2e_tests_artifacts(): ], }, "environment": { - "GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY": from_secret("gcp_upload_artifacts_key"), + "GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY": from_secret(gcp_upload_artifacts_key), "E2E_TEST_ARTIFACTS_BUCKET": "releng-pipeline-artifacts-dev", "GITHUB_TOKEN": from_secret("github_token"), }, @@ -379,7 +382,7 @@ def upload_cdn_step(ver_mode, trigger = None): "grafana-server", ], "environment": { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), "PRERELEASE_BUCKET": from_secret(prerelease_bucket), }, "commands": [ @@ -903,7 +906,7 @@ def build_docker_images_step(archs = None, ubuntu = False, publish = False): cmd += " -archs {}".format(",".join(archs)) environment = { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), } return { @@ -923,7 +926,7 @@ def fetch_images_step(): "name": "fetch-images", "image": images["cloudsdk_image"], "environment": { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), "DOCKER_USER": from_secret("docker_username"), "DOCKER_PASSWORD": from_secret("docker_password"), }, @@ -950,7 +953,7 @@ def publish_images_step(ver_mode, docker_repo, trigger = None): docker_repo = "grafana/{}".format(docker_repo) environment = { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), "DOCKER_USER": from_secret("docker_username"), "DOCKER_PASSWORD": from_secret("docker_password"), "GITHUB_APP_ID": from_secret("delivery-bot-app-id"), @@ -1115,7 +1118,7 @@ def upload_packages_step(ver_mode, trigger = None): "image": images["publish_image"], "depends_on": end_to_end_tests_deps(), "environment": { - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads_base64), "PRERELEASE_BUCKET": from_secret("prerelease_bucket"), }, "commands": [ @@ -1157,7 +1160,7 @@ def publish_grafanacom_step(ver_mode): ], "environment": { "GRAFANA_COM_API_KEY": from_secret("grafana_api_key"), - "GCP_KEY": from_secret("gcp_key"), + "GCP_KEY": from_secret(gcp_grafanauploads), }, "commands": [ cmd, @@ -1199,13 +1202,12 @@ def windows_clone_step(): ], } -def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss"): +def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"): """Generate the list of Windows steps. Args: ver_mode: used to differentiate steps for different version modes. bucket: used to override prerelease bucket. - edition: used to override edition for RGM builds. Returns: List of Drone steps. @@ -1254,17 +1256,12 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss") "cp C:\\App\\nssm-2.24.zip .", ] - sfx = "" - if edition != "oss": - sfx = "-{}".format(edition) - if ver_mode in ("release",): version = "${DRONE_TAG:1}" installer_commands.extend( [ - ".\\grabpl.exe windows-installer --target {} --edition {} {}".format( - "gs://{}/{}/{}/{}/grafana{}-{}.windows-amd64.zip".format(gcp_bucket, ver_part, edition, ver_mode, sfx, version), - edition, + ".\\grabpl.exe windows-installer --target {} --edition oss {}".format( + "gs://{}/{}/oss/{}/grafana-{}.windows-amd64.zip".format(gcp_bucket, ver_part, ver_mode, version), ver_part, ), '$$fname = ((Get-Childitem grafana*.msi -name) -split "`n")[0]', @@ -1273,10 +1270,9 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss") if ver_mode == "main": installer_commands.extend( [ - "gsutil cp $$fname gs://{}/{}/{}/".format(gcp_bucket, edition, dir), - 'gsutil cp "$$fname.sha256" gs://{}/{}/{}/'.format( + "gsutil cp $$fname gs://{}/oss/{}/".format(gcp_bucket, dir), + 'gsutil cp "$$fname.sha256" gs://{}/oss/{}/'.format( gcp_bucket, - edition, dir, ), ], @@ -1284,16 +1280,14 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss") else: installer_commands.extend( [ - "gsutil cp $$fname gs://{}/{}/{}/{}/".format( + "gsutil cp $$fname gs://{}/{}/oss/{}/".format( gcp_bucket, ver_part, - edition, dir, ), - 'gsutil cp "$$fname.sha256" gs://{}/{}/{}/{}/'.format( + 'gsutil cp "$$fname.sha256" gs://{}/{}/oss/{}/'.format( gcp_bucket, ver_part, - edition, dir, ), ], diff --git a/scripts/drone/utils/utils.star b/scripts/drone/utils/utils.star index e3756297464..63961a1d3ca 100644 --- a/scripts/drone/utils/utils.star +++ b/scripts/drone/utils/utils.star @@ -130,3 +130,8 @@ def with_deps(steps, deps = []): for step in steps: step["depends_on"] = deps return steps + +def ignore_failure(steps): + for step in steps: + step["failure"] = "ignore" + return steps diff --git a/scripts/drone/vault.star b/scripts/drone/vault.star index 65e6689bba0..9d00f096855 100644 --- a/scripts/drone/vault.star +++ b/scripts/drone/vault.star @@ -5,6 +5,8 @@ pull_secret = "dockerconfigjson" drone_token = "drone_token" prerelease_bucket = "prerelease_bucket" gcp_upload_artifacts_key = "gcp_upload_artifacts_key" +gcp_grafanauploads = "gcp_grafanauploads" +gcp_grafanauploads_base64 = "gcp_grafanauploads_base64" gcp_download_build_container_assets_key = "gcp_download_build_container_assets_key" azure_sp_app_id = "azure_sp_app_id" azure_sp_app_pw = "azure_sp_app_pw" @@ -30,6 +32,9 @@ def vault_secret(name, path, key): def secrets(): return [ + vault_secret(gcp_grafanauploads, "infra/data/ci/grafana-release-eng/grafanauploads", "credentials.json"), + vault_secret(gcp_grafanauploads_base64, "infra/data/ci/grafana-release-eng/grafanauploads", "credentials_base64"), + vault_secret("grafana_api_key", "infra/data/ci/drone-plugins", "grafana_api_key"), vault_secret(pull_secret, "secret/data/common/gcr", ".dockerconfigjson"), vault_secret("github_token", "infra/data/ci/github/grafanabot", "pat"), vault_secret(drone_token, "infra/data/ci/drone", "machine-user-token"), diff --git a/scripts/list-release-artifacts.sh b/scripts/list-release-artifacts.sh index 588b49d8b5f..beaafb35ef2 100755 --- a/scripts/list-release-artifacts.sh +++ b/scripts/list-release-artifacts.sh @@ -7,8 +7,6 @@ ERSION_DEB="${ERSION//-/\~}" ASSETS=$(cat << EOF gs://${BUCKET}/artifacts/static-assets/grafana-oss/${ERSION}/public/robots.txt -gs://${BUCKET}/artifacts/static-assets/grafana/${ERSION}/public/robots.txt -gs://${BUCKET}/artifacts/static-assets/grafana-pro/${ERSION}/public/robots.txt gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana-${ERSION_DEB}-1.aarch64.rpm gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana-${ERSION_DEB}-1.aarch64.rpm.sha256 gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana-${ERSION_DEB}-1.armhfp.rpm @@ -43,52 +41,6 @@ gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana_${ERSION_DEB}_ gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana_${ERSION_DEB}_arm64.deb.sha256 gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana_${ERSION_DEB}_armhf.deb gs://${BUCKET}/artifacts/downloads/${VERSION}/oss/release/grafana_${ERSION_DEB}_armhf.deb.sha256 -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2-${ERSION}.linux-amd64.tar.gz -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2-${ERSION}.linux-amd64.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2-${ERSION}.linux-amd64-musl.tar.gz -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2-${ERSION}.linux-amd64-musl.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2_${ERSION_DEB}_amd64.deb -gs://${BUCKET}/artifacts/downloads-enterprise2/${VERSION}/enterprise2/release/grafana-enterprise2_${ERSION_DEB}_amd64.deb.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.aarch64.rpm -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.aarch64.rpm.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.armhfp.rpm -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.armhfp.rpm.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.x86_64.rpm -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION_DEB}-1.x86_64.rpm.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.darwin-amd64.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.darwin-amd64.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-amd64-musl.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-amd64-musl.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-amd64.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-amd64.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-arm64-musl.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-arm64-musl.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-arm64.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-arm64.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv6.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv6.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv7-musl.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv7-musl.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv7.tar.gz -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.linux-armv7.tar.gz.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.windows-amd64.msi -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.windows-amd64.msi.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.windows-amd64.zip -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-${ERSION}.windows-amd64.zip.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-rpi_${ERSION_DEB}_armhf.deb -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise-rpi_${ERSION_DEB}_armhf.deb.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_amd64.deb -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_amd64.deb.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_arm64.deb -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_arm64.deb.sha256 -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_armhf.deb -gs://${BUCKET}/artifacts/downloads/${VERSION}/enterprise/release/grafana-enterprise_${ERSION_DEB}_armhf.deb.sha256 -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-amd64.img -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-arm64.img -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-armv7.img -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-ubuntu-amd64.img -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-ubuntu-arm64.img -gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-enterprise-${ERSION}-ubuntu-armv7.img gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-oss-${ERSION}-amd64.img gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-oss-${ERSION}-arm64.img gs://${BUCKET}/artifacts/docker/${ERSION}/grafana-oss-${ERSION}-armv7.img