[v10.0.x] CI: Add rgm compatible windows msi pipeline (#71858)

CI: Add rgm compatible windows msi pipeline (#71678)

* Add rgm compatible windows msi pipeline

* Fix dependencies and platform

* Fix missing arg comment

* Fix linting issues

* Try to fix version on file path

* Fix dependency on verify release pipeline

(cherry picked from commit 4caa773401)
This commit is contained in:
Guilherme Caulada
2023-07-18 13:51:32 -03:00
committed by GitHub
parent 7ef357aa32
commit f128a9780d
3 changed files with 116 additions and 28 deletions
+19 -1
View File
@@ -4,6 +4,10 @@ rgm uses 'github.com/grafana/grafana-build' to build Grafana on the following ev
* A tag that begins with a 'v'
"""
load(
"scripts/drone/steps/lib.star",
"get_windows_steps",
)
load(
"scripts/drone/utils/utils.star",
"pipeline",
@@ -99,14 +103,28 @@ def rgm_tag():
depends_on = [],
)
def rgm_windows():
return pipeline(
name = "rgm-tag-prerelease-windows",
trigger = tag_trigger,
steps = get_windows_steps(
ver_mode = "release",
bucket = "grafana-prerelease-dev",
),
depends_on = ["rgm-tag-prerelease"],
platform = "windows",
environment = {"EDITION": "oss"},
)
def rgm():
return [
rgm_main(),
rgm_tag(),
rgm_windows(),
verify_release_pipeline(
name = "rgm-tag-verify-prerelease-assets",
trigger = tag_trigger,
depends_on = ["rgm-tag-prerelease"],
depends_on = ["rgm-tag-prerelease", "rgm-tag-prerelease-windows"],
bucket = "grafana-prerelease-dev",
),
]
+12 -9
View File
@@ -16,7 +16,7 @@ load(
"windows_images",
)
grabpl_version = "v3.0.39"
grabpl_version = "v3.0.40"
trigger_oss = {
"repo": [
@@ -1199,11 +1199,12 @@ def windows_clone_step():
],
}
def get_windows_steps(ver_mode):
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.
Returns:
List of Drone steps.
@@ -1233,13 +1234,13 @@ def get_windows_steps(ver_mode):
"release",
"release-branch",
):
bucket = "%PRERELEASE_BUCKET%/artifacts/downloads"
gcp_bucket = "{}/artifacts/downloads".format(bucket)
if ver_mode == "release":
ver_part = "${DRONE_TAG}"
dir = "release"
else:
dir = "main"
bucket = "grafana-downloads"
gcp_bucket = "grafana-downloads"
build_no = "DRONE_BUILD_NUMBER"
ver_part = "--build-id $$env:{}".format(build_no)
installer_commands = [
@@ -1253,9 +1254,11 @@ def get_windows_steps(ver_mode):
]
if ver_mode in ("release",):
version = "${DRONE_TAG:1}"
installer_commands.extend(
[
".\\grabpl.exe windows-installer --edition oss {}".format(
".\\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]',
@@ -1264,9 +1267,9 @@ def get_windows_steps(ver_mode):
if ver_mode == "main":
installer_commands.extend(
[
"gsutil cp $$fname gs://{}/oss/{}/".format(bucket, dir),
"gsutil cp $$fname gs://{}/oss/{}/".format(gcp_bucket, dir),
'gsutil cp "$$fname.sha256" gs://{}/oss/{}/'.format(
bucket,
gcp_bucket,
dir,
),
],
@@ -1275,12 +1278,12 @@ def get_windows_steps(ver_mode):
installer_commands.extend(
[
"gsutil cp $$fname gs://{}/{}/oss/{}/".format(
bucket,
gcp_bucket,
ver_part,
dir,
),
'gsutil cp "$$fname.sha256" gs://{}/{}/oss/{}/'.format(
bucket,
gcp_bucket,
ver_part,
dir,
),