[v11.3.x] CI: Consolidate package and docker steps (#95419)
update .drone.yml
This commit is contained in:
@@ -405,13 +405,14 @@ def playwright_e2e_report_post_link():
|
||||
],
|
||||
}
|
||||
|
||||
def upload_cdn_step(ver_mode, trigger = None):
|
||||
def upload_cdn_step(ver_mode, trigger = None, depends_on = ["grafana-server"]):
|
||||
"""Uploads CDN assets using the Grafana build tool.
|
||||
|
||||
Args:
|
||||
ver_mode: only uses the step trigger when ver_mode == 'release-branch' or 'main'
|
||||
trigger: a Drone trigger for the step.
|
||||
Defaults to None.
|
||||
depends_on: drone steps that this step depends on
|
||||
|
||||
Returns:
|
||||
Drone step.
|
||||
@@ -420,9 +421,7 @@ def upload_cdn_step(ver_mode, trigger = None):
|
||||
step = {
|
||||
"name": "upload-cdn-assets",
|
||||
"image": images["publish"],
|
||||
"depends_on": [
|
||||
"grafana-server",
|
||||
],
|
||||
"depends_on": depends_on,
|
||||
"environment": {
|
||||
"GCP_KEY": from_secret(gcp_grafanauploads),
|
||||
"PRERELEASE_BUCKET": from_secret(prerelease_bucket),
|
||||
@@ -929,7 +928,7 @@ def fetch_images_step():
|
||||
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
|
||||
}
|
||||
|
||||
def publish_images_step(ver_mode, docker_repo, trigger = None):
|
||||
def publish_images_step(ver_mode, docker_repo, trigger = None, depends_on = ["rgm-build-docker"]):
|
||||
"""Generates a step for publishing public Docker images with grabpl.
|
||||
|
||||
Args:
|
||||
@@ -939,6 +938,7 @@ def publish_images_step(ver_mode, docker_repo, trigger = None):
|
||||
It is combined with the 'grafana/' library prefix.
|
||||
trigger: a Drone trigger for the pipeline.
|
||||
Defaults to None.
|
||||
depends_on: drone steps that this step depends on
|
||||
|
||||
Returns:
|
||||
Drone step.
|
||||
@@ -959,7 +959,7 @@ def publish_images_step(ver_mode, docker_repo, trigger = None):
|
||||
docker_repo,
|
||||
)
|
||||
|
||||
deps = ["rgm-build-docker"]
|
||||
deps = depends_on
|
||||
if ver_mode == "release":
|
||||
deps = ["fetch-images"]
|
||||
cmd += " --version-tag ${DRONE_TAG}"
|
||||
@@ -1149,7 +1149,12 @@ def release_canary_npm_packages_step(trigger = None):
|
||||
|
||||
return step
|
||||
|
||||
def upload_packages_step(ver_mode, trigger = None):
|
||||
def upload_packages_step(ver_mode, trigger = None, depends_on = [
|
||||
"end-to-end-tests-dashboards-suite",
|
||||
"end-to-end-tests-panels-suite",
|
||||
"end-to-end-tests-smoke-tests-suite",
|
||||
"end-to-end-tests-various-suite",
|
||||
]):
|
||||
"""Upload packages to object storage.
|
||||
|
||||
Args:
|
||||
@@ -1157,6 +1162,7 @@ def upload_packages_step(ver_mode, trigger = None):
|
||||
edition packages when executed.
|
||||
trigger: a Drone trigger for the step.
|
||||
Defaults to None.
|
||||
depends_on: drone steps that this step depends on
|
||||
|
||||
Returns:
|
||||
Drone step.
|
||||
@@ -1164,7 +1170,7 @@ def upload_packages_step(ver_mode, trigger = None):
|
||||
step = {
|
||||
"name": "upload-packages",
|
||||
"image": images["publish"],
|
||||
"depends_on": end_to_end_tests_deps(),
|
||||
"depends_on": depends_on,
|
||||
"environment": {
|
||||
"GCP_KEY": from_secret(gcp_grafanauploads_base64),
|
||||
"PRERELEASE_BUCKET": from_secret("prerelease_bucket"),
|
||||
|
||||
@@ -3,6 +3,10 @@ Individual steps that use 'grafana-build' to replace existing individual steps.
|
||||
These aren't used in releases.
|
||||
"""
|
||||
|
||||
load(
|
||||
"scripts/drone/utils/images.star",
|
||||
"images",
|
||||
)
|
||||
load(
|
||||
"scripts/drone/variables.star",
|
||||
"golang_version",
|
||||
@@ -22,7 +26,16 @@ def artifacts_cmd(artifacts = []):
|
||||
return cmd
|
||||
|
||||
# rgm_artifacts_step will create artifacts using the '/src/build artifacts' command.
|
||||
def rgm_artifacts_step(name = "rgm-package", artifacts = ["targz:grafana:linux/amd64", "targz:grafana:linux/arm64"], file = "packages.txt", depends_on = ["yarn-install"]):
|
||||
def rgm_artifacts_step(
|
||||
name = "rgm-package",
|
||||
artifacts = ["targz:grafana:linux/amd64", "targz:grafana:linux/arm64"],
|
||||
file = "packages.txt",
|
||||
depends_on = ["yarn-install"],
|
||||
tag_format = "{{ .version }}-{{ .arch }}",
|
||||
ubuntu_tag_format = "{{ .version }}-ubuntu-{{ .arch }}",
|
||||
verify = "false",
|
||||
ubuntu = images["ubuntu"],
|
||||
alpine = images["alpine"]):
|
||||
cmd = artifacts_cmd(artifacts = artifacts)
|
||||
|
||||
return {
|
||||
@@ -34,11 +47,18 @@ def rgm_artifacts_step(name = "rgm-package", artifacts = ["targz:grafana:linux/a
|
||||
"_EXPERIMENTAL_DAGGER_CLOUD_TOKEN": from_secret(rgm_dagger_token),
|
||||
},
|
||||
"commands": [
|
||||
"docker run --privileged --rm tonistiigi/binfmt --install all",
|
||||
cmd +
|
||||
"--go-version={} ".format(golang_version) +
|
||||
"--yarn-cache=$$YARN_CACHE_FOLDER " +
|
||||
"--build-id=$$DRONE_BUILD_NUMBER " +
|
||||
"--ubuntu-base={} ".format(ubuntu) +
|
||||
"--alpine-base={} ".format(alpine) +
|
||||
"--tag-format='{}' ".format(tag_format) +
|
||||
"--ubuntu-tag-format='{}' ".format(ubuntu_tag_format) +
|
||||
"--verify='{}' ".format(verify) +
|
||||
"--grafana-dir=$$PWD > {}".format(file),
|
||||
"find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i",
|
||||
],
|
||||
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user