From f005a375db149be1981b8fad88a99d34c998cdc9 Mon Sep 17 00:00:00 2001 From: Guilherme Caulada Date: Fri, 21 Jul 2023 17:50:06 -0300 Subject: [PATCH] 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 --- .drone.yml | 85 ++++--------------------------- scripts/drone/rgm.star | 23 ++++----- scripts/drone/steps/lib.star | 25 +++------ scripts/drone/utils/utils.star | 5 ++ scripts/list-release-artifacts.sh | 48 ----------------- 5 files changed, 34 insertions(+), 152 deletions(-) diff --git a/.drone.yml b/.drone.yml index 70885108efb..c76082852de 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2992,7 +2992,7 @@ steps: - windows-init environment: GCP_KEY: - from_secret: gcp_grafanauploads_base64 + from_secret: gcp_key GITHUB_TOKEN: from_secret: github_token PRERELEASE_BUCKET: @@ -3460,7 +3460,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 @@ -3501,12 +3501,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 @@ -3515,12 +3513,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: @@ -3540,11 +3540,12 @@ steps: - windows-init environment: GCP_KEY: - from_secret: gcp_grafanauploads_base64 + from_secret: gcp_key GITHUB_TOKEN: from_secret: github_token PRERELEASE_BUCKET: from_secret: prerelease_bucket + failure: ignore image: grafana/ci-wix:0.1.1 name: build-windows-installer trigger: @@ -3566,73 +3567,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_grafanauploads_base64 - 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 @@ -4353,7 +4288,7 @@ steps: - windows-init environment: GCP_KEY: - from_secret: gcp_grafanauploads_base64 + from_secret: gcp_key GITHUB_TOKEN: from_secret: github_token PRERELEASE_BUCKET: @@ -5031,6 +4966,6 @@ kind: secret name: delivery-bot-app-private-key --- kind: signature -hmac: ea32500f4c7c72fe5b95a1617dd43935becbbc4c8bc2cbbf87b87c512afcca0a +hmac: 890baa48e98285eda1bae3f18bf605b9f887fd64206a1f048789c403282305fb ... 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 c9c8b7063c8..42d89768fed 100644 --- a/scripts/drone/steps/lib.star +++ b/scripts/drone/steps/lib.star @@ -1264,13 +1264,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. @@ -1319,17 +1318,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]', @@ -1338,10 +1332,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, ), ], @@ -1349,16 +1342,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, ), ], @@ -1371,7 +1362,7 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss") "windows-init", ], "environment": { - "GCP_KEY": from_secret(gcp_grafanauploads_base64), + "GCP_KEY": from_secret("gcp_key"), "PRERELEASE_BUCKET": from_secret(prerelease_bucket), "GITHUB_TOKEN": from_secret("github_token"), }, diff --git a/scripts/drone/utils/utils.star b/scripts/drone/utils/utils.star index 0d0e7966ec2..82cc0dca592 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/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