The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
grafana/scripts/drone/rgm.star

384 lines
11 KiB

"""
rgm uses 'github.com/grafana/grafana-build' to build Grafana on the following events:
* A merge to main
* A tag that begins with a 'v'
"""
load(
"scripts/drone/events/release.star",
"verify_release_pipeline",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/whats_new_checker.star",
"whats_new_checker_pipeline",
)
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
load(
"scripts/drone/utils/images.star",
"images",
)
load(
"scripts/drone/utils/utils.star",
"pipeline",
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"with_deps",
)
load(
"scripts/drone/variables.star",
"golang_version",
)
load(
"scripts/drone/vault.star",
"from_secret",
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"npm_token",
"rgm_cdn_destination",
"rgm_dagger_token",
"rgm_destination",
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"rgm_downloads_destination",
"rgm_gcp_key_base64",
"rgm_github_token",
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"rgm_storybook_destination",
)
docs_paths = {
"exclude": [
"*.md",
"docs/**",
"packages/**/*.md",
"latest.json",
],
}
tag_trigger = {
"event": {
"exclude": [
"promote",
],
},
"ref": {
"include": [
"refs/tags/v*",
],
"exclude": [
"refs/tags/*-cloud*",
],
},
}
main_trigger = {
"event": [
"push",
],
"branch": "main",
"paths": docs_paths,
"repo": [
"grafana/grafana",
],
}
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
nightly_trigger = {
"event": {
"include": [
"cron",
],
},
"cron": {
"include": [
"nightly-release",
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
],
},
}
version_branch_trigger = {"ref": ["refs/heads/v[0-9]*"]}
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
def rgm_env_secrets(env):
"""Adds the rgm secret ENV variables to the given env arg
Args:
env: A map of environment varables. This function will adds the necessary secrets to it (and potentially overwrite them).
Returns:
Drone step.
"""
env["DESTINATION"] = from_secret(rgm_destination)
env["STORYBOOK_DESTINATION"] = from_secret(rgm_storybook_destination)
env["CDN_DESTINATION"] = from_secret(rgm_cdn_destination)
env["DOWNLOADS_DESTINATION"] = from_secret(rgm_downloads_destination)
env["GCP_KEY_BASE64"] = from_secret(rgm_gcp_key_base64)
env["GITHUB_TOKEN"] = from_secret(rgm_github_token)
env["_EXPERIMENTAL_DAGGER_CLOUD_TOKEN"] = from_secret(rgm_dagger_token)
env["GPG_PRIVATE_KEY"] = from_secret("packages_gpg_private_key")
env["GPG_PUBLIC_KEY"] = from_secret("packages_gpg_public_key")
env["GPG_PASSPHRASE"] = from_secret("packages_gpg_passphrase")
env["DOCKER_USERNAME"] = from_secret("docker_username")
env["DOCKER_PASSWORD"] = from_secret("docker_password")
env["NPM_TOKEN"] = from_secret(npm_token)
env["GCOM_API_KEY"] = from_secret("grafana_api_key")
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
return env
def rgm_run(name, script):
"""Returns a pipeline that does a full build & package of Grafana.
Args:
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
name: The name of the pipeline step.
script: The script in the container to run.
Returns:
Drone step.
"""
env = {
"GO_VERSION": golang_version,
"ALPINE_BASE": images["alpine"],
"UBUNTU_BASE": images["ubuntu"],
}
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
rgm_run_step = {
"name": name,
"image": "grafana/grafana-build:main",
"pull": "always",
"commands": [
"export GRAFANA_DIR=$$(pwd)",
"cd /src && ./scripts/{}".format(script),
],
"environment": rgm_env_secrets(env),
# The docker socket is a requirement for running dagger programs
# In the future we should find a way to use dagger without mounting the docker socket.
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
}
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
return [
rgm_run_step,
]
def rgm_copy(src, dst):
"""Copies file from/to GCS.
Args:
src: source of the files.
dst: destination of the files.
Returns:
Drone step.
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"""
commands = [
"printenv GCP_KEY_BASE64 | base64 -d > /tmp/key.json",
"gcloud auth activate-service-account --key-file=/tmp/key.json",
"gcloud storage cp -r {} {}".format(src, dst),
]
return {
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
"name": "rgm-copy",
"image": "google/cloud-sdk:alpine",
"commands": commands,
"environment": rgm_env_secrets({}),
}
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
def rgm_publish_packages(bucket = "grafana-packages"):
"""Publish deb and rpm packages.
Args:
bucket: target bucket to publish the packages.
Returns:
Drone steps.
"""
steps = []
for package_manager in ["deb", "rpm"]:
steps.append({
"name": "publish-{}".format(package_manager),
# See https://github.com/grafana/deployment_tools/blob/master/docker/package-publish/README.md for docs on that image
"image": images["package_publish"],
"privileged": True,
"settings": {
"access_key_id": from_secret("packages_access_key_id"),
"secret_access_key": from_secret("packages_secret_access_key"),
"service_account_json": from_secret("packages_service_account"),
"target_bucket": bucket,
"gpg_passphrase": from_secret("packages_gpg_passphrase"),
"gpg_public_key": from_secret("packages_gpg_public_key"),
"gpg_private_key": from_secret("packages_gpg_private_key"),
"package_path": "file:///drone/src/dist/*.{}".format(package_manager),
},
})
return steps
def rgm_main():
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
# Runs a package / build process (with some distros) when commits are merged to main
return pipeline(
name = "rgm-main-prerelease",
trigger = main_trigger,
steps = rgm_run("rgm-build", "drone_build_main.sh"),
depends_on = ["main-test-backend", "main-test-frontend"],
)
def rgm_tag():
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
# Runs a package / build process (with all distros) when a tag is made
return pipeline(
name = "rgm-tag-prerelease",
trigger = tag_trigger,
steps = rgm_run("rgm-build", "drone_build_tag_grafana.sh"),
)
def rgm_version_branch():
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
# Runs a package / build proces (with all distros) when a commit lands on a version branch
return pipeline(
name = "rgm-version-branch-prerelease",
trigger = version_branch_trigger,
steps = rgm_run("rgm-build", "drone_build_tag_grafana.sh"),
)
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
def rgm_nightly_build():
"""Nightly build pipeline.
Returns:
Drone pipeline.
"""
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
src = "$${DRONE_WORKSPACE}/dist/*"
dst = "$${DESTINATION}/$${DRONE_BUILD_EVENT}"
copy_step = rgm_copy(src, dst)
if not dst.startswith("gs://"):
copy_step["commands"].insert(0, "mkdir -p {}".format(dst))
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
copy_steps = with_deps([copy_step], ["rgm-build"])
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
return pipeline(
name = "rgm-nightly-build",
trigger = nightly_trigger,
steps = rgm_run("rgm-build", "drone_build_nightly_grafana.sh") + copy_steps,
depends_on = ["nightly-test-backend", "nightly-test-frontend"],
)
def rgm_nightly_publish():
"""Nightly publish pipeline.
Returns:
Drone pipeline.
"""
src = "$${DESTINATION}/$${DRONE_BUILD_EVENT}/*_$${DRONE_BUILD_NUMBER}_*"
dst = "$${DRONE_WORKSPACE}/dist"
publish_steps = with_deps(rgm_run("rgm-publish", "drone_publish_nightly_grafana.sh"), ["rgm-copy"])
package_steps = with_deps(rgm_publish_packages(), ["rgm-publish"])
copy_step = rgm_copy(src, dst)
if not dst.startswith("gs://"):
copy_step["commands"].insert(0, "mkdir -p {}".format(dst))
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
return pipeline(
name = "rgm-nightly-publish",
trigger = nightly_trigger,
steps = [copy_step] + publish_steps + package_steps,
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
depends_on = ["rgm-nightly-build"],
)
def rgm_nightly_pipeline():
return [
test_frontend(nightly_trigger, "nightly"),
test_backend(nightly_trigger, "nightly"),
rgm_nightly_build(),
rgm_nightly_publish(),
]
def rgm_tag_pipeline():
build = rgm_tag()
return [
build,
whats_new_checker_pipeline(tag_trigger),
verify_release_pipeline(
trigger = tag_trigger,
name = "rgm-tag-verify-prerelease-assets",
bucket = "grafana-prerelease",
depends_on = [
build["name"],
],
),
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
]
def rgm_version_branch_pipeline():
return [
rgm_version_branch(),
verify_release_pipeline(
trigger = version_branch_trigger,
name = "rgm-prerelease-verify-prerelease-assets",
bucket = "grafana-prerelease",
depends_on = [
"rgm-version-branch-prerelease",
],
),
]
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
def rgm_main_pipeline():
return [
rgm_main(),
]
def rgm_promotion_pipeline():
"""Promotion build pipeline.
Returns:
Drone pipeline.
"""
promotion_trigger = {
"event": ["promote"],
"target": "upload-packages",
}
env = {
"GO_VERSION": golang_version,
"ALPINE_BASE": images["alpine"],
"UBUNTU_BASE": images["ubuntu"],
}
# Expected promotion args:
# * GRAFANA_REF = commit hash, branch name, or tag name
# * ENTERPRISE_REF = commit hash, branch name, or tag name. If not building an enterprise artifact, then this can be
# left empty.
# * ARTIFACTS = comma delimited list of artifacts (ex: "targz:grafana:linux/amd64,rpm:grafana:linux/amd64")
# * VERSION = version string of Grafana that is being built (ex: v10.0.0)
# * UPLOAD_TO = Google Cloud Storage URL to upload the built artifacts to. (ex: gs://some-bucket/path)
build_step = {
"name": "rgm-build",
"image": "grafana/grafana-build:main",
"pull": "always",
"commands": [
"dagger run --silent /src/grafana-build artifacts " +
"-a $${ARTIFACTS} " +
"--grafana-ref=$${GRAFANA_REF} " +
"--enterprise-ref=$${ENTERPRISE_REF} " +
"--grafana-repo=$${GRAFANA_REPO} " +
"--version=$${VERSION} ",
],
"environment": rgm_env_secrets(env),
# The docker socket is a requirement for running dagger programs
# In the future we should find a way to use dagger without mounting the docker socket.
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
}
publish_step = rgm_copy("dist/*", "$${UPLOAD_TO}")
steps = [
build_step,
publish_step,
]
return [
pipeline(
name = "rgm-promotion",
trigger = promotion_trigger,
steps = steps,
),
]
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
def rgm():
return (
rgm_main_pipeline() +
rgm_tag_pipeline() +
rgm_version_branch_pipeline() +
rgm_nightly_pipeline() +
rgm_promotion_pipeline()
CI: Add nightly prerelease builds (#74119) * Add nightly prerelease builds * Fix duplicated pipeline names * Fix misnamed dependencies * Fix misnamed dependencies * Fix string formatting * Add option to specify bucket to RGM pipeline * Fix trigger? * Comment out cron triggers * Fix windows bucket for nightly * Fix versioning for windows and verify pipelines * Use grafana/grafana-build:dev-209553c * Fix version on windows steps * Fix version on windows steps * Fix windows .zip path * Fix windows .zip path * Remove windows builds from nightly for now * Remove verify release pipeline from nightly * Add docstring to rgm_release * Revert changes to get_windows_steps * Simplify changes to rgm.star * Use grafana/grafana-build:dev-f5a15d4 * Add rgm copy step * Use grafana/grafana-build:dev-d88be0f * Fix destination variable * Escape copy destination environment variable * Add -r flag to rgm copy command * Add dependency to rgm-copy step * Add dist volume * Use absolute path for dist volume * Move dist folder to drone workspace * Delegate drone workspace path to grafana-build * Use grafana/grafana-build:dev-66149b8 * Lower folder depth * Use grafana/grafana-build:dev-7355791 * Add rgm-nightly-publish pipeline * Merge imports on rgm.star * Fix rgm_copy to allow copying to local destination * Use grafana/grafana-build:dev-36ec1e2 * Use grafana/grafana-build:dev-634d8dc * Use grafana/grafana-build:dev-7a93728 * Use grafana/grafana-build:dev-5e36725 * Use grafana/grafana-build:dev-f5ebe1f * Fix copy source for nightly builds * Fix drone build number on rgm-copy step * Use grafana/grafana-build:dev-637583f * Use grafana/grafana-build:dev-f2cc524 * Allow tag trigger on grafana/grafana for testing * Use grafana/grafana-build:dev-c71d4b7 * Use grafana/grafana-build:dev-63beac8 * Use grafana/grafana-build:dev-224a0dd * Add environment variables for package publishing * Revert unintentional change to dataquery.cue * Add package publish step to nightly pipeline * Use GCS path for package publish * Pre-evaluate drone workspace on packages path * Use hardcoded drone workspace path * Remove unused env from publish packages step * Use grafana/grafana-build:dev-657ea6a * Use grafana/grafana-build:dev-1a9beec * Use grafana/grafana-build:dev-f0053c8 * Use grafana/grafana-build:main * Use grafana/grafana-build:dev-ae5182f * Use grafana/grafana-build:dev-ec3ec36 * Use grafana/grafana-build:dev-5e160d8 * Use grafana/grafana-build:dev-142d2dc * Use grafana/grafana-build:dev-db6bff1 * Use grafana/grafana-build:main * Change nightly trigger to cron
2 years ago
)