[v9.4.x] CI: Allow RGM to create msi for multiple editions (#71892)

CI: Allow RGM to create msi for multiple editions (#71883)

* Allow RGM to create msi for multiple editions

* Remove suffix from build-windows-installer step

* Invert exit code on verify_release_pipeline

(cherry picked from commit 4c80bcf35f)
This commit is contained in:
Guilherme Caulada
2023-07-19 13:35:16 -03:00
committed by GitHub
parent 97aabc8497
commit 32830edc60
4 changed files with 102 additions and 21 deletions
+1 -1
View File
@@ -449,7 +449,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(
+12 -6
View File
@@ -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",
],
),
]
+16 -7
View File
@@ -1207,12 +1207,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.
@@ -1261,12 +1262,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]',
@@ -1275,9 +1281,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,
),
],
@@ -1285,14 +1292,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,
),
],