diff --git a/.drone.yml b/.drone.yml index d3a38de3721..1033fad4019 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3326,8 +3326,8 @@ steps: - apt-get update && apt-get install -yq gettext - printenv GCP_KEY | base64 -d > /tmp/key.json - gcloud auth activate-service-account --key-file=/tmp/key.json - - ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat | grep - "No URLs matched" + - '! ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat | + grep "No URLs matched"' depends_on: - clone environment: @@ -3470,7 +3470,7 @@ environment: image_pull_secrets: - dockerconfigjson kind: pipeline -name: rgm-tag-prerelease-windows +name: rgm-tag-prerelease-windows-oss platform: arch: amd64 os: windows @@ -3530,7 +3530,73 @@ clone: retries: 3 depends_on: - rgm-tag-prerelease -- rgm-tag-prerelease-windows +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 image_pull_secrets: - dockerconfigjson kind: pipeline @@ -3546,8 +3612,8 @@ steps: - apt-get update && apt-get install -yq gettext - printenv GCP_KEY | base64 -d > /tmp/key.json - gcloud auth activate-service-account --key-file=/tmp/key.json - - ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat | grep - "No URLs matched" + - '! ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat | + grep "No URLs matched"' depends_on: - clone environment: @@ -4911,6 +4977,6 @@ kind: secret name: delivery-bot-app-private-key --- kind: signature -hmac: 7796dccc1ebde8bf6985375aab1803a5d59dd3b8b0ce725d7ce23c5ca39e2c80 +hmac: 95007b8a7b6c9fbf7759ed245fc9afda168d765149b7db8ad0c996c9e4d74dc0 ... diff --git a/scripts/drone/events/release.star b/scripts/drone/events/release.star index 292e99619e1..26675a7403b 100644 --- a/scripts/drone/events/release.star +++ b/scripts/drone/events/release.star @@ -458,7 +458,7 @@ def verify_release_pipeline( "apt-get update && apt-get install -yq gettext", "printenv GCP_KEY | base64 -d > /tmp/key.json", "gcloud auth activate-service-account --key-file=/tmp/key.json", - "./scripts/list-release-artifacts.sh {} | xargs -n1 gsutil stat | grep \"No URLs matched\"".format(version), + "! ./scripts/list-release-artifacts.sh {} | xargs -n1 gsutil stat | grep \"No URLs matched\"".format(version), ], } return pipeline( diff --git a/scripts/drone/rgm.star b/scripts/drone/rgm.star index dc9a7e20db4..e8ce6092d34 100644 --- a/scripts/drone/rgm.star +++ b/scripts/drone/rgm.star @@ -103,28 +103,34 @@ def rgm_tag(): depends_on = [], ) -def rgm_windows(): +def rgm_windows(edition = "oss"): return pipeline( - name = "rgm-tag-prerelease-windows", + name = "rgm-tag-prerelease-windows-{}".format(edition), trigger = tag_trigger, steps = get_windows_steps( ver_mode = "release", bucket = "grafana-prerelease-dev", + edition = edition, ), depends_on = ["rgm-tag-prerelease"], platform = "windows", - environment = {"EDITION": "oss"}, + environment = {"EDITION": edition}, ) def rgm(): return [ rgm_main(), rgm_tag(), - rgm_windows(), + rgm_windows(edition = "oss"), + rgm_windows(edition = "enterprise"), verify_release_pipeline( - name = "rgm-tag-verify-prerelease-assets", trigger = tag_trigger, - depends_on = ["rgm-tag-prerelease", "rgm-tag-prerelease-windows"], + 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", + ], ), ] diff --git a/scripts/drone/steps/lib.star b/scripts/drone/steps/lib.star index 457ff1a57f2..972b6bfb782 100644 --- a/scripts/drone/steps/lib.star +++ b/scripts/drone/steps/lib.star @@ -1261,12 +1261,13 @@ def windows_clone_step(): ], } -def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"): +def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%", edition = "oss"): """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. @@ -1315,12 +1316,17 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"): "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 oss {}".format( - "gs://{}/{}/oss/{}/grafana-{}.windows-amd64.zip".format(gcp_bucket, ver_part, ver_mode, version), + ".\\grabpl.exe windows-installer --target {} --edition {} {}".format( + "gs://{}/{}/{}/{}/grafana{}-{}.windows-amd64.zip".format(gcp_bucket, ver_part, edition, ver_mode, sfx, version), + edition, ver_part, ), '$$fname = ((Get-Childitem grafana*.msi -name) -split "`n")[0]', @@ -1329,9 +1335,10 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"): if ver_mode == "main": installer_commands.extend( [ - "gsutil cp $$fname gs://{}/oss/{}/".format(gcp_bucket, dir), - 'gsutil cp "$$fname.sha256" gs://{}/oss/{}/'.format( + "gsutil cp $$fname gs://{}/{}/{}/".format(gcp_bucket, edition, dir), + 'gsutil cp "$$fname.sha256" gs://{}/{}/{}/'.format( gcp_bucket, + edition, dir, ), ], @@ -1339,14 +1346,16 @@ def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"): else: installer_commands.extend( [ - "gsutil cp $$fname gs://{}/{}/oss/{}/".format( + "gsutil cp $$fname gs://{}/{}/{}/{}/".format( gcp_bucket, ver_part, + edition, dir, ), - 'gsutil cp "$$fname.sha256" gs://{}/{}/oss/{}/'.format( + 'gsutil cp "$$fname.sha256" gs://{}/{}/{}/{}/'.format( gcp_bucket, ver_part, + edition, dir, ), ],