2020-07-10 22:09:21 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-10-14 22:02:45 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2020-07-10 22:09:21 +08:00
kind : pipeline
2022-07-08 17:18:46 +08:00
name : pr-verify-drone
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-07-08 17:18:46 +08:00
name : identify-runner
- commands :
2022-09-14 22:07:09 +08:00
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-09-14 22:07:09 +08:00
name : compile-build-cmd
- commands :
- ./bin/build verify-drone
2022-07-08 17:18:46 +08:00
depends_on :
2022-09-14 22:45:00 +08:00
- compile-build-cmd
2022-07-08 17:18:46 +08:00
image : byrnedo/alpine-curl:0.1.8
name : lint-drone
trigger :
event :
- pull_request
paths :
exclude :
- docs/**
- '*.md'
include :
- scripts/drone/**
- .drone.yml
- .drone.star
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2022-07-08 17:18:46 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2022-07-08 17:18:46 +08:00
kind : pipeline
2023-01-30 17:27:11 +08:00
name : pr-verify-starlark
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2023-01-30 17:27:11 +08:00
name : identify-runner
- commands :
2023-09-12 23:19:06 +08:00
- go install github.com/bazelbuild/buildtools/buildifier@latest
- buildifier --lint=warn -mode=check -r .
2024-10-15 22:27:13 +08:00
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-01-30 17:27:11 +08:00
name : lint-starlark
trigger :
event :
- pull_request
paths :
exclude :
- docs/**
- '*.md'
include :
- scripts/drone/**
- .drone.star
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on : [ ]
environment :
EDITION : oss
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-01-30 17:27:11 +08:00
kind : pipeline
2021-11-17 17:25:55 +08:00
name : pr-build-e2e
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
2024-11-21 23:08:02 +08:00
- commands :
- echo $(/usr/bin/github-app-external-token) > /github-app/token
environment :
GITHUB_APP_ID :
from_secret : github-app-app-id
GITHUB_APP_INSTALLATION_ID :
from_secret : github-app-installation-id
GITHUB_APP_PRIVATE_KEY :
from_secret : github-app-private-key
2024-12-10 16:46:28 +08:00
failure : ignore
2024-11-21 23:08:02 +08:00
image : us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
name : github-app-generate-token
volumes :
- name : github-app
path : /github-app
2022-04-14 19:56:14 +08:00
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-04-14 19:56:14 +08:00
name : identify-runner
2021-10-22 04:28:57 +08:00
- commands :
2021-11-17 17:25:55 +08:00
- mkdir -p bin
2025-02-07 06:23:51 +08:00
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.1.2/grabpl
2021-11-17 17:25:55 +08:00
- chmod +x bin/grabpl
image : byrnedo/alpine-curl:0.1.8
name : grabpl
2022-07-28 22:11:22 +08:00
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
2022-08-01 18:56:06 +08:00
depends_on : [ ]
2022-07-28 22:11:22 +08:00
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-07-28 22:11:22 +08:00
name : compile-build-cmd
2022-06-09 14:48:27 +08:00
- commands :
- '# It is required that code generated from Thema/CUE be committed and in sync
with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2022-06-09 14:48:27 +08:00
- CODEGEN_VERIFY=1 make gen-cue
2022-06-22 21:22:42 +08:00
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-06-09 14:48:27 +08:00
name : verify-gen-cue
2022-11-03 23:04:39 +08:00
- commands :
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2022-11-03 23:04:39 +08:00
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-11-03 23:04:39 +08:00
name : verify-gen-jsonnet
2022-04-14 19:56:14 +08:00
- commands :
2024-02-24 00:15:28 +08:00
- yarn install --immutable || yarn install --immutable
2022-10-11 23:58:03 +08:00
depends_on : [ ]
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-04-14 19:56:14 +08:00
name : yarn-install
2023-09-19 05:53:42 +08:00
- commands :
- apk add --update jq bash
- yarn packages:build
- yarn packages:pack
- ./scripts/validate-npm-packages.sh
depends_on :
- yarn-install
environment :
NODE_OPTIONS : --max_old_space_size=8192
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2023-09-19 05:53:42 +08:00
name : build-frontend-packages
2022-05-16 20:28:37 +08:00
- failure : ignore
image : grafana/drone-downstream
name : trigger-enterprise-downstream
settings :
params :
- SOURCE_BUILD_NUMBER=${DRONE_COMMIT}
- SOURCE_COMMIT=${DRONE_COMMIT}
- OSS_PULL_REQUEST=${DRONE_PULL_REQUEST}
repositories :
- grafana/grafana-enterprise@${DRONE_SOURCE_BRANCH}
server : https://drone.grafana.net
token :
from_secret : drone_token
2021-10-14 22:02:45 +08:00
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2025-02-12 22:37:04 +08:00
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --version
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*'
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all
2025-05-20 23:48:00 +08:00
- go run ./pkg/build/cmd artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
2024-10-25 22:25:29 +08:00
-a targz:grafana:linux/arm/v7 -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
2025-05-20 23:48:00 +08:00
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
2025-06-19 16:45:34 +08:00
--ubuntu-base=ubuntu-base --alpine-base=alpine-base --tag-format='{{ .version_base
2025-05-20 23:48:00 +08:00
}}-{{ .buildID }}-{{ .arch }}' --ubuntu-tag-format='{{ .version_base }}-{{ .buildID
}}-ubuntu-{{ .arch }}' --verify='false' --grafana-dir=$$PWD > packages.txt
2024-10-25 22:25:29 +08:00
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
2020-07-10 22:09:21 +08:00
depends_on :
2022-04-14 19:56:14 +08:00
- yarn-install
2024-02-03 02:59:48 +08:00
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-09-12 23:19:06 +08:00
name : rgm-package
2023-09-13 01:59:02 +08:00
pull : always
2023-09-12 23:19:06 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2024-10-25 22:25:29 +08:00
- commands :
- ./bin/grabpl artifacts docker publish --dockerhub-repo grafana/grafana
depends_on :
- rgm-package
environment :
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
2025-05-03 00:55:23 +08:00
GITHUB_APP_ID : "329617"
GITHUB_APP_INSTALLATION_ID : "37346161"
2024-10-25 22:25:29 +08:00
GITHUB_APP_PRIVATE_KEY :
from_secret : delivery-bot-app-private-key
failure : ignore
image : google/cloud-sdk:431.0.0
name : publish-images-grafana
volumes :
- name : docker
path : /var/run/docker.sock
2024-08-23 15:00:03 +08:00
- commands :
- yarn e2e:plugin:build
depends_on :
- yarn-install
environment :
NODE_OPTIONS : --max_old_space_size=8192
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2024-08-23 15:00:03 +08:00
name : build-test-plugins
2021-10-14 22:02:45 +08:00
- commands :
2023-09-12 23:19:06 +08:00
- apk add --update tar bash
- mkdir grafana
- tar --strip-components=1 -xvf ./dist/*amd64.tar.gz -C grafana
- cp -r devenv scripts tools grafana && cd grafana && ./scripts/grafana-server/start-server
2020-07-10 22:09:21 +08:00
depends_on :
2023-09-12 23:19:06 +08:00
- rgm-package
2021-10-14 22:02:45 +08:00
detach : true
environment :
2023-09-12 23:19:06 +08:00
GF_APP_MODE : development
GF_SERVER_HTTP_PORT : "3001"
GF_SERVER_ROUTER_LOGGING : "1"
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-01-21 01:01:00 +08:00
name : grafana-server
2022-11-08 18:27:54 +08:00
- commands :
2024-11-21 23:08:02 +08:00
- GITHUB_TOKEN=$(cat /github-app/token)
2022-11-08 18:27:54 +08:00
- cd /
- ./cpp-e2e/scripts/ci-run.sh azure ${DRONE_SOURCE_BRANCH}
depends_on :
- grafana-server
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2022-11-08 18:27:54 +08:00
environment :
AZURE_SP_APP_ID :
from_secret : azure_sp_app_id
AZURE_SP_PASSWORD :
from_secret : azure_sp_app_pw
AZURE_TENANT :
from_secret : azure_tenant
CYPRESS_CI : "true"
HOST : grafana-server
2025-05-15 01:57:43 +08:00
image : us-docker.pkg.dev/grafanalabs-dev/docker-oss-plugin-partnerships-dev/e2e-14.3.2:1.0.0
2022-11-08 18:27:54 +08:00
name : end-to-end-tests-cloud-plugins-suite-azure
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2022-11-08 18:27:54 +08:00
when :
paths :
include :
- pkg/tsdb/azuremonitor/**
2023-02-04 00:06:54 +08:00
- public/app/plugins/datasource/azuremonitor/**
2022-12-22 00:42:24 +08:00
- e2e/cloud-plugins-suite/azure-monitor.spec.ts
2022-11-08 18:27:54 +08:00
repo :
- grafana/grafana
2024-02-23 19:39:30 +08:00
- commands :
2024-04-15 20:19:37 +08:00
- npx wait-on@7.0.1 http://$HOST:$PORT
- yarn playwright install --with-deps chromium
2024-02-23 19:39:30 +08:00
- yarn e2e:playwright
depends_on :
- grafana-server
2024-08-23 15:00:03 +08:00
- build-test-plugins
2024-02-23 19:39:30 +08:00
environment :
HOST : grafana-server
PORT : "3001"
PROV_DIR : /grafana/scripts/grafana-server/tmp/conf/provisioning
2024-12-13 00:39:52 +08:00
image : node:22-bookworm
2024-02-23 19:39:30 +08:00
name : playwright-plugin-e2e
- commands :
- apt-get update
- apt-get install -yq zip
- printenv GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY > /tmp/gcpkey_upload_artifacts.json
- gcloud auth activate-service-account --key-file=/tmp/gcpkey_upload_artifacts.json
- gsutil cp -r ./playwright-report/. gs://releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report
- export E2E_PLAYWRIGHT_REPORT_URL=https://storage.googleapis.com/releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report/index.html
- "echo \"E2E Playwright report uploaded to: \n $${E2E_PLAYWRIGHT_REPORT_URL}\""
depends_on :
- playwright-plugin-e2e
environment :
GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY :
from_secret : gcp_upload_artifacts_key
failure : ignore
image : google/cloud-sdk:431.0.0
name : playwright-e2e-report-upload
when :
status :
- success
- failure
- commands :
2024-11-21 23:08:02 +08:00
- GITHUB_TOKEN=$(cat /github-app/token)
2024-02-23 19:39:30 +08:00
- if [ ! -d ./playwright-report/trace ]; then echo 'all tests passed'; exit 0; fi
- export E2E_PLAYWRIGHT_REPORT_URL=https://storage.googleapis.com/releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report/index.html
- 'curl -L -X POST https://api.github.com/repos/grafana/grafana/issues/${DRONE_PULL_REQUEST}/comments
-H "Accept: application/vnd.github+json" -H "Authorization: Bearer $${GITHUB_TOKEN}"
-H "X-GitHub-Api-Version: 2022-11-28" -d "{\"body\":\"❌ Failed to run Playwright
plugin e2e tests. <br /> <br /> Click [here]($${E2E_PLAYWRIGHT_REPORT_URL}) to
browse the Playwright report and trace viewer. <br /> For information on how to
run Playwright tests locally, refer to the [Developer guide](https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md#to-run-the-playwright-tests).
\"}"'
depends_on :
- playwright-e2e-report-upload
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2024-02-23 19:39:30 +08:00
failure : ignore
image : byrnedo/alpine-curl:0.1.8
name : playwright-e2e-report-post-link
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2024-02-23 19:39:30 +08:00
when :
status :
- success
- failure
2021-12-24 17:43:32 +08:00
- commands :
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-06-19 12:00:18 +08:00
- if [ -z `find ./e2e -type f -name *spec.ts.mp4` ]; then echo 'no e2e videos found
from remaining tests'; exit 0; fi
2021-12-24 17:43:32 +08:00
- apt-get update
- apt-get install -yq zip
- printenv GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY > /tmp/gcpkey_upload_artifacts.json
- gcloud auth activate-service-account --key-file=/tmp/gcpkey_upload_artifacts.json
- find ./e2e -type f -name "*spec.ts.mp4" | zip e2e/videos.zip -@
- gsutil cp e2e/videos.zip gs://$${E2E_TEST_ARTIFACTS_BUCKET}/${DRONE_BUILD_NUMBER}/artifacts/videos/videos.zip
- export E2E_ARTIFACTS_VIDEO_ZIP=https://storage.googleapis.com/$${E2E_TEST_ARTIFACTS_BUCKET}/${DRONE_BUILD_NUMBER}/artifacts/videos/videos.zip
- 'echo "E2E Test artifacts uploaded to: $${E2E_ARTIFACTS_VIDEO_ZIP}"'
- 'curl -X POST https://api.github.com/repos/${DRONE_REPO}/statuses/${DRONE_COMMIT_SHA}
-H "Authorization: token $${GITHUB_TOKEN}" -d "{\"state\":\"success\",\"target_url\":\"$${E2E_ARTIFACTS_VIDEO_ZIP}\",
\"description\": \"Click on the details to download e2e recording videos\", \"context\":
\"e2e_artifacts\"}"'
depends_on :
2025-06-19 12:00:18 +08:00
- end-to-end-tests-cloud-plugins-suite-azure
- playwright-plugin-e2e
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2021-12-24 17:43:32 +08:00
environment :
E2E_TEST_ARTIFACTS_BUCKET : releng-pipeline-artifacts-dev
GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY :
from_secret : gcp_upload_artifacts_key
2022-10-20 20:18:33 +08:00
failure : ignore
2023-05-25 15:17:24 +08:00
image : google/cloud-sdk:431.0.0
2022-01-12 23:58:35 +08:00
name : e2e-tests-artifacts-upload
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2022-01-12 23:58:35 +08:00
when :
status :
- success
- failure
2021-10-14 22:02:45 +08:00
- commands :
2020-07-10 22:09:21 +08:00
- yarn storybook:build
2022-12-07 15:56:15 +08:00
- ./bin/build verify-storybook
2020-07-10 22:09:21 +08:00
depends_on :
2023-09-12 23:19:06 +08:00
- rgm-package
2022-03-02 19:02:07 +08:00
- build-frontend-packages
2021-10-14 22:02:45 +08:00
environment :
NODE_OPTIONS : --max_old_space_size=4096
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2021-10-14 22:02:45 +08:00
name : build-storybook
2022-09-07 20:08:13 +08:00
when :
paths :
include :
- packages/grafana-ui/**
2021-10-14 22:02:45 +08:00
- commands :
2023-10-31 22:11:54 +08:00
- npx wait-on@7.0.1 http://$HOST:$PORT
2025-06-24 21:40:37 +08:00
- pa11y-ci --config e2e/pa11yci.conf.js
2021-10-14 22:02:45 +08:00
depends_on :
2022-01-21 01:01:00 +08:00
- grafana-server
2021-09-14 19:23:17 +08:00
environment :
GRAFANA_MISC_STATS_API_KEY :
from_secret : grafana_misc_stats_api_key
2022-01-21 01:01:00 +08:00
HOST : grafana-server
2025-06-24 21:40:37 +08:00
NO_THRESHOLDS : "false"
2021-09-14 19:23:17 +08:00
PORT : 3001
2021-11-17 13:03:09 +08:00
failure : always
2022-07-29 00:49:41 +08:00
image : grafana/docker-puppeteer:1.1.0
2021-11-10 20:35:03 +08:00
name : test-a11y-frontend
2020-07-10 22:09:21 +08:00
trigger :
event :
- pull_request
2022-02-21 19:55:16 +08:00
paths :
exclude :
2022-04-28 22:41:46 +08:00
- '*.md'
2022-02-21 19:55:16 +08:00
- docs/**
2022-04-28 22:41:46 +08:00
- latest.json
2021-10-14 22:02:45 +08:00
type : docker
2021-11-24 18:20:11 +08:00
volumes :
2021-11-30 18:53:07 +08:00
- host :
path : /var/run/docker.sock
name : docker
2024-11-21 23:08:02 +08:00
- name : github-app
temp : {}
2020-09-24 21:20:48 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-10-14 22:02:45 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2020-09-24 21:20:48 +08:00
kind : pipeline
2025-06-19 03:03:23 +08:00
name : pr-docs
2021-11-17 17:25:55 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
2025-06-19 03:03:23 +08:00
services : [ ]
2022-02-21 19:55:16 +08:00
steps :
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-02-21 19:55:16 +08:00
name : identify-runner
2022-04-14 19:56:14 +08:00
- commands :
2024-02-24 00:15:28 +08:00
- yarn install --immutable || yarn install --immutable
2022-10-11 23:58:03 +08:00
depends_on : [ ]
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-04-14 19:56:14 +08:00
name : yarn-install
2022-03-11 22:48:23 +08:00
- commands :
- yarn run prettier:checkDocs
2022-02-21 19:55:16 +08:00
depends_on :
2022-04-14 19:56:14 +08:00
- yarn-install
2022-03-11 22:48:23 +08:00
environment :
NODE_OPTIONS : --max_old_space_size=8192
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-03-11 22:48:23 +08:00
name : lint-docs
2022-02-21 19:55:16 +08:00
- commands :
2023-02-21 21:41:39 +08:00
- mkdir -p /hugo/content/docs/grafana/latest
2023-10-03 16:14:06 +08:00
- 'echo -e ''---\nredirectURL: /docs/grafana/latest/\ntype : redirect\nversioned :
true \n---\n'' > /hugo/content/docs/grafana/_index.md'
2022-02-21 19:55:16 +08:00
- cp -r docs/sources/* /hugo/content/docs/grafana/latest/
- cd /hugo && make prod
2023-10-28 01:30:56 +08:00
image : grafana/docs-base:latest
2022-02-21 19:55:16 +08:00
name : build-docs-website
2023-10-28 01:30:56 +08:00
pull : always
2023-07-20 17:48:12 +08:00
- commands :
- '# It is required that code generated from Thema/CUE be committed and in sync
with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2023-07-20 17:48:12 +08:00
- CODEGEN_VERIFY=1 make gen-cue
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-20 17:48:12 +08:00
name : verify-gen-cue
2022-02-21 19:55:16 +08:00
trigger :
event :
- pull_request
paths :
include :
2022-04-28 22:41:46 +08:00
- '*.md'
2022-02-21 19:55:16 +08:00
- docs/**
2022-08-10 18:39:56 +08:00
- packages/**/*.md
2022-04-28 22:41:46 +08:00
- latest.json
2023-07-19 22:03:07 +08:00
repo :
- grafana/grafana
2022-02-21 19:55:16 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2022-02-21 19:55:16 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2022-09-14 14:00:06 +08:00
kind : pipeline
2022-02-23 02:06:14 +08:00
name : main-docs
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-02-23 02:06:14 +08:00
name : identify-runner
2022-04-14 19:56:14 +08:00
- commands :
2024-02-24 00:15:28 +08:00
- yarn install --immutable || yarn install --immutable
2022-10-11 23:58:03 +08:00
depends_on : [ ]
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-04-14 19:56:14 +08:00
name : yarn-install
2022-03-11 22:48:23 +08:00
- commands :
- yarn run prettier:checkDocs
2022-02-23 02:06:14 +08:00
depends_on :
2022-04-14 19:56:14 +08:00
- yarn-install
2022-03-11 22:48:23 +08:00
environment :
NODE_OPTIONS : --max_old_space_size=8192
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-03-11 22:48:23 +08:00
name : lint-docs
2022-02-23 02:06:14 +08:00
- commands :
2023-02-21 21:41:39 +08:00
- mkdir -p /hugo/content/docs/grafana/latest
2023-10-03 16:14:06 +08:00
- 'echo -e ''---\nredirectURL: /docs/grafana/latest/\ntype : redirect\nversioned :
true \n---\n'' > /hugo/content/docs/grafana/_index.md'
2022-02-23 02:06:14 +08:00
- cp -r docs/sources/* /hugo/content/docs/grafana/latest/
- cd /hugo && make prod
2023-10-28 01:30:56 +08:00
image : grafana/docs-base:latest
2022-02-23 02:06:14 +08:00
name : build-docs-website
2023-10-28 01:30:56 +08:00
pull : always
2023-07-20 17:48:12 +08:00
- commands :
- '# It is required that code generated from Thema/CUE be committed and in sync
with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2023-07-20 17:48:12 +08:00
- CODEGEN_VERIFY=1 make gen-cue
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-20 17:48:12 +08:00
name : verify-gen-cue
2022-02-23 02:06:14 +08:00
trigger :
branch : main
event :
- push
2022-08-03 20:08:43 +08:00
paths :
include :
- '*.md'
- docs/**
2022-08-10 18:39:56 +08:00
- packages/**/*.md
2022-08-03 20:08:43 +08:00
- latest.json
2023-07-19 22:03:07 +08:00
repo :
- grafana/grafana
2022-02-23 02:06:14 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2022-02-23 02:06:14 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2022-02-23 02:06:14 +08:00
kind : pipeline
2025-06-19 03:03:23 +08:00
name : main-build-e2e-publish
2022-05-03 19:54:47 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
2025-06-19 03:03:23 +08:00
- commands :
- echo $(/usr/bin/github-app-external-token) > /github-app/token
environment :
GITHUB_APP_ID :
from_secret : github-app-app-id
GITHUB_APP_INSTALLATION_ID :
from_secret : github-app-installation-id
GITHUB_APP_PRIVATE_KEY :
from_secret : github-app-private-key
failure : ignore
image : us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
name : github-app-generate-token
volumes :
- name : github-app
path : /github-app
2022-05-03 19:54:47 +08:00
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-05-03 19:54:47 +08:00
name : identify-runner
2025-06-19 03:03:23 +08:00
- commands :
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.1.2/grabpl
- chmod +x bin/grabpl
image : byrnedo/alpine-curl:0.1.8
name : grabpl
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2025-06-19 03:03:23 +08:00
name : compile-build-cmd
2022-06-09 14:48:27 +08:00
- commands :
- '# It is required that code generated from Thema/CUE be committed and in sync
with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2022-06-09 14:48:27 +08:00
- CODEGEN_VERIFY=1 make gen-cue
2022-06-22 21:22:42 +08:00
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-06-09 14:48:27 +08:00
name : verify-gen-cue
2022-11-03 23:04:39 +08:00
- commands :
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
- '# The following command will fail if running code generators produces any diff
in output.'
2023-09-12 23:19:06 +08:00
- apk add --update make
2022-11-03 23:04:39 +08:00
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on : [ ]
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-11-03 23:04:39 +08:00
name : verify-gen-jsonnet
2022-05-03 19:54:47 +08:00
- commands :
2025-06-19 03:03:23 +08:00
- yarn install --immutable || yarn install --immutable
depends_on : [ ]
image : node:22.16.0-alpine
name : yarn-install
- commands :
- apk add --update jq
- new_version=$(cat package.json | jq -r .version | sed s/pre/${DRONE_BUILD_NUMBER}/g)
- 'echo "New version: $new_version"'
- yarn run lerna version $new_version --exact --no-git-tag-version --no-push --force-publish
-y
- yarn install --mode=update-lockfile
2022-06-09 14:48:27 +08:00
depends_on :
2025-06-19 03:03:23 +08:00
- yarn-install
image : node:22.16.0-alpine
name : update-package-json-version
2021-10-14 22:02:45 +08:00
- commands :
2025-06-19 03:03:23 +08:00
- apk add --update jq bash
- yarn packages:build
- yarn packages:pack
- ./scripts/validate-npm-packages.sh
2021-10-11 17:23:55 +08:00
depends_on :
2025-06-19 03:03:23 +08:00
- yarn-install
- update-package-json-version
environment :
NODE_OPTIONS : --max_old_space_size=8192
image : node:22.16.0-alpine
name : build-frontend-packages
2021-10-14 22:02:45 +08:00
- commands :
2025-06-19 03:03:23 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2025-06-19 03:03:23 +08:00
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --version
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*'
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all
- go run ./pkg/build/cmd artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
2025-06-19 16:45:34 +08:00
--ubuntu-base=ubuntu-base --alpine-base=alpine-base --tag-format='{{ .version_base
2025-06-19 03:03:23 +08:00
}}-{{ .buildID }}-{{ .arch }}' --ubuntu-tag-format='{{ .version_base }}-{{ .buildID
}}-ubuntu-{{ .arch }}' --verify='false' --grafana-dir=$$PWD > packages.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
2021-08-24 23:07:06 +08:00
depends_on :
2025-06-19 03:03:23 +08:00
- update-package-json-version
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-09-12 23:19:06 +08:00
name : rgm-package
2023-09-13 01:59:02 +08:00
pull : always
2023-09-12 23:19:06 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2024-10-25 22:25:29 +08:00
- commands :
- ./bin/grabpl artifacts docker publish --dockerhub-repo grafana/grafana
depends_on :
- rgm-package
environment :
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
GCP_KEY :
from_secret : gcp_grafanauploads
2025-05-03 00:55:23 +08:00
GITHUB_APP_ID : "329617"
GITHUB_APP_INSTALLATION_ID : "37346161"
2024-10-25 22:25:29 +08:00
GITHUB_APP_PRIVATE_KEY :
from_secret : delivery-bot-app-private-key
image : google/cloud-sdk:431.0.0
name : publish-images-grafana
volumes :
- name : docker
path : /var/run/docker.sock
when :
repo :
- grafana/grafana
2024-08-23 15:00:03 +08:00
- commands :
- yarn e2e:plugin:build
depends_on :
- yarn-install
environment :
NODE_OPTIONS : --max_old_space_size=8192
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2024-08-23 15:00:03 +08:00
name : build-test-plugins
2021-10-14 22:02:45 +08:00
- commands :
2023-09-12 23:19:06 +08:00
- apk add --update tar bash
- mkdir grafana
- tar --strip-components=1 -xvf ./dist/*amd64.tar.gz -C grafana
- cp -r devenv scripts tools grafana && cd grafana && ./scripts/grafana-server/start-server
2020-07-17 19:52:09 +08:00
depends_on :
2023-09-12 23:19:06 +08:00
- rgm-package
2021-10-14 22:02:45 +08:00
detach : true
environment :
2023-09-12 23:19:06 +08:00
GF_APP_MODE : development
GF_SERVER_HTTP_PORT : "3001"
GF_SERVER_ROUTER_LOGGING : "1"
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2022-01-21 01:01:00 +08:00
name : grafana-server
2022-11-08 18:27:54 +08:00
- commands :
2024-11-21 23:08:02 +08:00
- GITHUB_TOKEN=$(cat /github-app/token)
2022-11-08 18:27:54 +08:00
- cd /
- ./cpp-e2e/scripts/ci-run.sh azure ${DRONE_SOURCE_BRANCH}
depends_on :
- grafana-server
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2022-11-08 18:27:54 +08:00
environment :
AZURE_SP_APP_ID :
from_secret : azure_sp_app_id
AZURE_SP_PASSWORD :
from_secret : azure_sp_app_pw
AZURE_TENANT :
from_secret : azure_tenant
CYPRESS_CI : "true"
HOST : grafana-server
2025-05-15 01:57:43 +08:00
image : us-docker.pkg.dev/grafanalabs-dev/docker-oss-plugin-partnerships-dev/e2e-14.3.2:1.0.0
2022-11-08 18:27:54 +08:00
name : end-to-end-tests-cloud-plugins-suite-azure
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2022-11-08 18:27:54 +08:00
when :
paths :
include :
- pkg/tsdb/azuremonitor/**
2023-02-04 00:06:54 +08:00
- public/app/plugins/datasource/azuremonitor/**
2022-12-22 00:42:24 +08:00
- e2e/cloud-plugins-suite/azure-monitor.spec.ts
2022-11-08 18:27:54 +08:00
repo :
- grafana/grafana
2024-02-23 19:39:30 +08:00
- commands :
2024-04-15 20:19:37 +08:00
- npx wait-on@7.0.1 http://$HOST:$PORT
- yarn playwright install --with-deps chromium
2024-02-23 19:39:30 +08:00
- yarn e2e:playwright
depends_on :
- grafana-server
2024-08-23 15:00:03 +08:00
- build-test-plugins
2024-02-23 19:39:30 +08:00
environment :
HOST : grafana-server
PORT : "3001"
PROV_DIR : /grafana/scripts/grafana-server/tmp/conf/provisioning
2024-12-13 00:39:52 +08:00
image : node:22-bookworm
2024-02-23 19:39:30 +08:00
name : playwright-plugin-e2e
- commands :
- apt-get update
- apt-get install -yq zip
- printenv GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY > /tmp/gcpkey_upload_artifacts.json
- gcloud auth activate-service-account --key-file=/tmp/gcpkey_upload_artifacts.json
- gsutil cp -r ./playwright-report/. gs://releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report
- export E2E_PLAYWRIGHT_REPORT_URL=https://storage.googleapis.com/releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report/index.html
- "echo \"E2E Playwright report uploaded to: \n $${E2E_PLAYWRIGHT_REPORT_URL}\""
depends_on :
- playwright-plugin-e2e
environment :
GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY :
from_secret : gcp_upload_artifacts_key
failure : ignore
image : google/cloud-sdk:431.0.0
name : playwright-e2e-report-upload
when :
status :
- success
- failure
- commands :
2024-11-21 23:08:02 +08:00
- GITHUB_TOKEN=$(cat /github-app/token)
2024-02-23 19:39:30 +08:00
- if [ ! -d ./playwright-report/trace ]; then echo 'all tests passed'; exit 0; fi
- export E2E_PLAYWRIGHT_REPORT_URL=https://storage.googleapis.com/releng-pipeline-artifacts-dev/${DRONE_BUILD_NUMBER}/playwright-report/index.html
- 'curl -L -X POST https://api.github.com/repos/grafana/grafana/issues/${DRONE_PULL_REQUEST}/comments
-H "Accept: application/vnd.github+json" -H "Authorization: Bearer $${GITHUB_TOKEN}"
-H "X-GitHub-Api-Version: 2022-11-28" -d "{\"body\":\"❌ Failed to run Playwright
plugin e2e tests. <br /> <br /> Click [here]($${E2E_PLAYWRIGHT_REPORT_URL}) to
browse the Playwright report and trace viewer. <br /> For information on how to
run Playwright tests locally, refer to the [Developer guide](https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md#to-run-the-playwright-tests).
\"}"'
depends_on :
- playwright-e2e-report-upload
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2024-02-23 19:39:30 +08:00
failure : ignore
image : byrnedo/alpine-curl:0.1.8
name : playwright-e2e-report-post-link
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2024-02-23 19:39:30 +08:00
when :
status :
- success
- failure
2021-12-24 17:43:32 +08:00
- commands :
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-06-19 12:00:18 +08:00
- if [ -z `find ./e2e -type f -name *spec.ts.mp4` ]; then echo 'no e2e videos found
from remaining tests'; exit 0; fi
2021-12-24 17:43:32 +08:00
- apt-get update
- apt-get install -yq zip
- printenv GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY > /tmp/gcpkey_upload_artifacts.json
- gcloud auth activate-service-account --key-file=/tmp/gcpkey_upload_artifacts.json
- find ./e2e -type f -name "*spec.ts.mp4" | zip e2e/videos.zip -@
- gsutil cp e2e/videos.zip gs://$${E2E_TEST_ARTIFACTS_BUCKET}/${DRONE_BUILD_NUMBER}/artifacts/videos/videos.zip
- export E2E_ARTIFACTS_VIDEO_ZIP=https://storage.googleapis.com/$${E2E_TEST_ARTIFACTS_BUCKET}/${DRONE_BUILD_NUMBER}/artifacts/videos/videos.zip
- 'echo "E2E Test artifacts uploaded to: $${E2E_ARTIFACTS_VIDEO_ZIP}"'
- 'curl -X POST https://api.github.com/repos/${DRONE_REPO}/statuses/${DRONE_COMMIT_SHA}
-H "Authorization: token $${GITHUB_TOKEN}" -d "{\"state\":\"success\",\"target_url\":\"$${E2E_ARTIFACTS_VIDEO_ZIP}\",
\"description\": \"Click on the details to download e2e recording videos\", \"context\":
\"e2e_artifacts\"}"'
depends_on :
2025-06-19 12:00:18 +08:00
- end-to-end-tests-cloud-plugins-suite-azure
- playwright-plugin-e2e
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2021-12-24 17:43:32 +08:00
environment :
E2E_TEST_ARTIFACTS_BUCKET : releng-pipeline-artifacts-dev
GCP_GRAFANA_UPLOAD_ARTIFACTS_KEY :
from_secret : gcp_upload_artifacts_key
2022-10-20 20:18:33 +08:00
failure : ignore
2023-05-25 15:17:24 +08:00
image : google/cloud-sdk:431.0.0
2022-01-12 23:58:35 +08:00
name : e2e-tests-artifacts-upload
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2022-01-12 23:58:35 +08:00
when :
status :
- success
- failure
2021-10-14 22:02:45 +08:00
- commands :
2020-07-17 19:52:09 +08:00
- yarn storybook:build
2022-12-07 15:56:15 +08:00
- ./bin/build verify-storybook
2020-07-17 21:30:43 +08:00
depends_on :
2023-09-12 23:19:06 +08:00
- rgm-package
2022-03-02 19:02:07 +08:00
- build-frontend-packages
2021-10-14 22:02:45 +08:00
environment :
NODE_OPTIONS : --max_old_space_size=4096
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2021-10-14 22:02:45 +08:00
name : build-storybook
2022-09-07 20:08:13 +08:00
when :
paths :
include :
- packages/grafana-ui/**
2022-07-20 21:43:19 +08:00
- commands :
2023-10-31 22:11:54 +08:00
- npx wait-on@7.0.1 http://$HOST:$PORT
2025-06-24 21:40:37 +08:00
- pa11y-ci --config e2e/pa11yci.conf.js
2022-07-20 21:43:19 +08:00
depends_on :
- grafana-server
environment :
GRAFANA_MISC_STATS_API_KEY :
from_secret : grafana_misc_stats_api_key
HOST : grafana-server
2025-06-24 21:40:37 +08:00
NO_THRESHOLDS : "true"
2022-07-20 21:43:19 +08:00
PORT : 3001
failure : ignore
2022-07-29 00:49:41 +08:00
image : grafana/docker-puppeteer:1.1.0
2022-07-20 21:43:19 +08:00
name : test-a11y-frontend
2021-10-14 22:02:45 +08:00
- commands :
2022-09-15 16:06:43 +08:00
- ./bin/build store-storybook --deployment canary
2020-07-17 19:52:09 +08:00
depends_on :
2020-07-17 21:30:43 +08:00
- build-storybook
2025-06-19 12:00:18 +08:00
- end-to-end-tests-cloud-plugins-suite-azure
- playwright-plugin-e2e
2021-10-14 22:02:45 +08:00
environment :
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads
2021-11-30 18:53:07 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
2022-07-20 18:34:09 +08:00
image : grafana/grafana-ci-deploy:1.3.3
2021-12-20 19:23:51 +08:00
name : store-storybook
2022-04-06 15:46:05 +08:00
when :
2022-09-07 20:08:13 +08:00
paths :
include :
- packages/grafana-ui/**
2022-04-06 15:46:05 +08:00
repo :
- grafana/grafana
2021-10-14 22:02:45 +08:00
- commands :
2023-09-14 21:48:31 +08:00
- apk add --update bash grep git
- ./scripts/ci-frontend-metrics.sh ./grafana/public/build | ./bin/build publish-metrics
$$GRAFANA_MISC_STATS_API_KEY
2021-10-14 22:02:45 +08:00
depends_on :
- test-a11y-frontend
2021-06-29 16:29:34 +08:00
environment :
GRAFANA_MISC_STATS_API_KEY :
from_secret : grafana_misc_stats_api_key
failure : ignore
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2021-10-14 22:02:45 +08:00
name : publish-frontend-metrics
2022-04-06 15:46:05 +08:00
when :
repo :
- grafana/grafana
2022-02-08 01:30:41 +08:00
- commands :
2022-11-04 19:21:18 +08:00
- ./bin/grabpl artifacts docker publish --dockerhub-repo grafana/grafana-oss
2022-02-08 01:30:41 +08:00
depends_on :
2024-10-25 22:25:29 +08:00
- rgm-package
2022-02-08 01:30:41 +08:00
environment :
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads
2025-05-03 00:55:23 +08:00
GITHUB_APP_ID : "329617"
GITHUB_APP_INSTALLATION_ID : "37346161"
2023-05-15 21:33:31 +08:00
GITHUB_APP_PRIVATE_KEY :
from_secret : delivery-bot-app-private-key
2023-05-25 15:17:24 +08:00
image : google/cloud-sdk:431.0.0
2022-11-22 02:06:00 +08:00
name : publish-images-grafana-oss
2022-02-08 01:30:41 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2022-04-06 15:46:05 +08:00
when :
repo :
- grafana/grafana
2021-10-14 22:02:45 +08:00
- commands :
2024-10-24 18:07:07 +08:00
- apk add --update bash git
2023-04-18 17:02:37 +08:00
- ./scripts/publish-npm-packages.sh --dist-tag 'canary' --registry 'https://registry.npmjs.org'
2021-10-14 22:02:45 +08:00
depends_on :
2025-06-19 12:00:18 +08:00
- end-to-end-tests-cloud-plugins-suite-azure
- playwright-plugin-e2e
2023-09-12 23:19:06 +08:00
- build-frontend-packages
2020-07-17 19:52:09 +08:00
environment :
2021-12-13 16:50:19 +08:00
NPM_TOKEN :
from_secret : npm_token
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2021-10-14 22:02:45 +08:00
name : release-canary-npm-packages
2022-04-06 15:46:05 +08:00
when :
2023-04-18 16:19:37 +08:00
paths :
include :
- packages/**
2022-04-06 15:46:05 +08:00
repo :
- grafana/grafana
2021-10-14 22:02:45 +08:00
- commands :
2022-11-18 23:22:14 +08:00
- ./bin/build upload-packages --edition oss
2020-07-17 19:52:09 +08:00
depends_on :
2024-10-25 22:25:29 +08:00
- rgm-package
2021-02-09 21:55:11 +08:00
environment :
2022-02-07 17:11:27 +08:00
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads_base64
2021-11-30 18:53:07 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
2022-07-20 18:34:09 +08:00
image : grafana/grafana-ci-deploy:1.3.3
2021-10-14 22:02:45 +08:00
name : upload-packages
2022-04-06 15:46:05 +08:00
when :
repo :
- grafana/grafana
2021-10-14 22:02:45 +08:00
- commands :
2022-11-18 21:37:18 +08:00
- ./bin/build upload-cdn --edition oss
2021-02-09 21:55:11 +08:00
depends_on :
2024-10-25 22:25:29 +08:00
- rgm-package
2020-07-17 19:52:09 +08:00
environment :
2022-02-07 17:11:27 +08:00
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads
2021-11-30 18:53:07 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
2022-07-20 18:34:09 +08:00
image : grafana/grafana-ci-deploy:1.3.3
2021-10-14 22:02:45 +08:00
name : upload-cdn-assets
2022-04-06 15:46:05 +08:00
when :
repo :
- grafana/grafana
2020-07-17 19:52:09 +08:00
trigger :
2021-10-14 22:02:45 +08:00
branch : main
2020-07-17 19:52:09 +08:00
event :
- push
2022-08-03 20:08:43 +08:00
paths :
exclude :
- '*.md'
- docs/**
- latest.json
2023-07-19 22:03:07 +08:00
repo :
- grafana/grafana
2021-10-14 22:02:45 +08:00
type : docker
2021-11-24 18:20:11 +08:00
volumes :
2021-11-30 18:53:07 +08:00
- host :
path : /var/run/docker.sock
name : docker
2024-11-21 23:08:02 +08:00
- name : github-app
temp : {}
2020-08-19 17:46:36 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2025-06-19 03:03:23 +08:00
depends_on :
- main-build-e2e-publish
2022-11-18 22:15:04 +08:00
environment :
EDITION : oss
2022-09-21 14:27:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2021-12-20 16:09:25 +08:00
kind : pipeline
2025-06-19 03:03:23 +08:00
name : main-trigger-downstream
2021-12-20 16:09:25 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
2025-06-19 03:03:23 +08:00
services : [ ]
2022-09-19 22:17:36 +08:00
steps :
- image : grafana/drone-downstream
2025-06-19 03:03:23 +08:00
name : trigger-enterprise-downstream
settings :
params :
- SOURCE_BUILD_NUMBER=${DRONE_COMMIT}
- SOURCE_COMMIT=${DRONE_COMMIT}
repositories :
- grafana/grafana-enterprise@main
server : https://drone.grafana.net
token :
from_secret : drone_token
2024-07-30 21:01:10 +08:00
trigger :
2025-06-19 03:03:23 +08:00
branch : main
event :
- push
paths :
exclude :
- '*.md'
- docs/**
- latest.json
repo :
- grafana/grafana
2024-07-30 21:01:10 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on :
2025-06-19 03:03:23 +08:00
- main-build-e2e-publish
kind : pipeline
name : main-notify
platform :
arch : amd64
os : linux
steps :
- image : plugins/slack
name : slack
settings :
channel : grafana-ci-notifications
template : |-
Build {{build.number}} failed for commit: <https://github.com/{{repo.owner}}/{{repo.name}}/commit/{{build.commit}}|{{ truncate build.commit 8 }}>: {{build.link}}
Branch : <https://github.com/{{ repo.owner }}/{{ repo.name }}/commits/{{ build.branch }}|{{ build.branch }}>
Author : {{build.author}}
webhook :
from_secret : slack_webhook
trigger :
branch : main
event :
- push
paths :
exclude :
- '*.md'
- docs/**
- latest.json
repo :
- grafana/grafana
status :
- failure
type : docker
---
clone :
retries : 3
depends_on : [ ]
2024-07-30 21:01:10 +08:00
environment :
EDITION : oss
image_pull_secrets :
- gcr
- gar
kind : pipeline
name : rrc-trigger-downstream
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- image : grafana/drone-downstream
name : trigger-enterprise-downstream
settings :
params :
- SOURCE_BUILD_NUMBER=${DRONE_COMMIT}
- SOURCE_COMMIT=${DRONE_COMMIT}
- SOURCE_TAG=${DRONE_TAG}
repositories :
- grafana/grafana-enterprise@${DRONE_SOURCE_BRANCH}
server : https://drone.grafana.net
token :
from_secret : drone_token
trigger :
branch :
- instant
- fast
- steady
- slow
ref :
include :
- refs/tags/rrc*
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on : [ ]
environment :
EDITION : oss
image_pull_secrets :
- gcr
- gar
kind : pipeline
2023-07-14 19:18:09 +08:00
name : publish-docker-public
2022-01-11 17:17:00 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
2020-10-07 20:22:15 +08:00
steps :
2023-07-14 19:18:09 +08:00
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2023-07-14 19:18:09 +08:00
name : identify-runner
2021-11-16 01:14:33 +08:00
- commands :
- mkdir -p bin
2025-02-07 06:23:51 +08:00
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.1.2/grabpl
2021-11-16 01:14:33 +08:00
- chmod +x bin/grabpl
image : byrnedo/alpine-curl:0.1.8
name : grabpl
2022-07-28 22:11:22 +08:00
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
2023-07-14 19:18:09 +08:00
depends_on : [ ]
2022-07-28 22:11:22 +08:00
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-07-28 22:11:22 +08:00
name : compile-build-cmd
2022-04-14 19:56:14 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/build artifacts docker fetch --edition oss
2021-09-30 15:56:08 +08:00
depends_on :
2022-10-11 23:58:03 +08:00
- compile-build-cmd
2020-10-07 20:22:15 +08:00
environment :
2023-07-14 19:18:09 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads
2023-07-14 19:18:09 +08:00
image : google/cloud-sdk:431.0.0
name : fetch-images
volumes :
- name : docker
path : /var/run/docker.sock
2022-01-11 17:17:00 +08:00
- commands :
2024-07-30 22:44:04 +08:00
- apk add bash
- |2-
bash -c '
2024-10-15 22:27:13 +08:00
IMAGE_TAG=$(echo "$${TAG}" | sed -e "s/+/-/g")
2024-07-30 22:44:04 +08:00
debug=
if [[ -n $${DRY_RUN} ]]; then debug=echo; fi
docker login -u $${DOCKER_USER} -p $${DOCKER_PASSWORD}
# Push the grafana-image-tags images
2024-10-15 22:27:13 +08:00
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-amd64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-arm64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
# Create the grafana manifests
2024-10-18 03:13:42 +08:00
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG} grafana/grafana-image-tags:$${IMAGE_TAG}-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
2024-07-30 22:44:04 +08:00
2024-10-18 03:13:42 +08:00
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG}-ubuntu grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
# Push the grafana manifests
2024-10-15 22:27:13 +08:00
$$debug docker manifest push grafana/grafana:$${IMAGE_TAG}
$$debug docker manifest push grafana/grafana:$${IMAGE_TAG}-ubuntu
2024-07-30 22:44:04 +08:00
# if LATEST is set, then also create & push latest
if [[ -n $${LATEST} ]]; then
2024-10-15 22:27:13 +08:00
$$debug docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${IMAGE_TAG}-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
$$debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
$$debug docker manifest push grafana/grafana:latest
$$debug docker manifest push grafana/grafana:latest-ubuntu
fi'
2022-01-11 17:17:00 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- fetch-images
2022-01-11 17:17:00 +08:00
environment :
2023-07-14 19:18:09 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
2024-07-18 23:53:47 +08:00
image : docker:27-cli
2023-07-14 19:18:09 +08:00
name : publish-images-grafana
2022-01-11 17:17:00 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/grabpl artifacts docker publish --dockerhub-repo grafana/grafana-oss --version-tag
${DRONE_TAG}
2022-01-11 17:17:00 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- fetch-images
2022-01-11 17:17:00 +08:00
environment :
2023-07-14 19:18:09 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
2022-01-11 17:17:00 +08:00
GCP_KEY :
2023-07-21 21:53:57 +08:00
from_secret : gcp_grafanauploads
2025-05-03 00:55:23 +08:00
GITHUB_APP_ID : "329617"
GITHUB_APP_INSTALLATION_ID : "37346161"
2023-07-14 19:18:09 +08:00
GITHUB_APP_PRIVATE_KEY :
from_secret : delivery-bot-app-private-key
2023-05-25 15:17:24 +08:00
image : google/cloud-sdk:431.0.0
2023-07-14 19:18:09 +08:00
name : publish-images-grafana-oss
2022-01-11 17:17:00 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-07-14 19:18:09 +08:00
trigger :
event :
- promote
target :
- public
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on : [ ]
2024-07-18 23:53:47 +08:00
environment :
EDITION : oss
image_pull_secrets :
- gcr
- gar
kind : pipeline
name : manually-publish-docker-public
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- echo $DRONE_RUNNER_NAME
2025-02-26 07:23:28 +08:00
image : alpine:3.21.3
2024-07-18 23:53:47 +08:00
name : identify-runner
- commands :
- mkdir -p bin
2025-02-07 06:23:51 +08:00
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.1.2/grabpl
2024-07-18 23:53:47 +08:00
- chmod +x bin/grabpl
image : byrnedo/alpine-curl:0.1.8
name : grabpl
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2024-07-18 23:53:47 +08:00
name : compile-build-cmd
- commands :
- ./bin/build artifacts docker fetch --edition oss
depends_on :
- compile-build-cmd
environment :
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
GCP_KEY :
from_secret : gcp_grafanauploads
image : google/cloud-sdk:431.0.0
name : fetch-images
volumes :
- name : docker
path : /var/run/docker.sock
- commands :
2024-07-30 22:44:04 +08:00
- apk add bash
- |2-
bash -c '
2024-10-15 22:27:13 +08:00
IMAGE_TAG=$(echo "$${TAG}" | sed -e "s/+/-/g")
2024-07-30 22:44:04 +08:00
debug=
if [[ -n $${DRY_RUN} ]]; then debug=echo; fi
docker login -u $${DOCKER_USER} -p $${DOCKER_PASSWORD}
# Push the grafana-image-tags images
2024-10-15 22:27:13 +08:00
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-amd64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-arm64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64
$$debug docker push grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
# Create the grafana manifests
2024-10-18 03:13:42 +08:00
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG} grafana/grafana-image-tags:$${IMAGE_TAG}-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
2024-07-30 22:44:04 +08:00
2024-10-18 03:13:42 +08:00
$$debug docker manifest create grafana/grafana:$${IMAGE_TAG}-ubuntu grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
# Push the grafana manifests
2024-10-15 22:27:13 +08:00
$$debug docker manifest push grafana/grafana:$${IMAGE_TAG}
$$debug docker manifest push grafana/grafana:$${IMAGE_TAG}-ubuntu
2024-07-30 22:44:04 +08:00
# if LATEST is set, then also create & push latest
if [[ -n $${LATEST} ]]; then
2024-10-15 22:27:13 +08:00
$$debug docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${IMAGE_TAG}-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-armv7
$$debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${IMAGE_TAG}-ubuntu-armv7
2024-07-30 22:44:04 +08:00
$$debug docker manifest push grafana/grafana:latest
$$debug docker manifest push grafana/grafana:latest-ubuntu
fi'
2024-07-18 23:53:47 +08:00
depends_on :
- fetch-images
environment :
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USER :
from_secret : docker_username
image : docker:27-cli
name : publish-images-grafana
volumes :
- name : docker
path : /var/run/docker.sock
trigger :
event :
- promote
target :
- publish-docker-public
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on : [ ]
2024-06-12 21:48:50 +08:00
image_pull_secrets :
- gcr
- gar
kind : pipeline
name : create-release-pr
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2024-06-12 21:48:50 +08:00
- apk add perl
- v_target=`echo $${TAG} | perl -pe 's/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/v\1.\2.x/'`
- curl -L $${GH_CLI_URL} | tar -xz --strip-components=1 -C /usr
2024-07-27 07:20:36 +08:00
- gh workflow run -f dry_run=$${DRY_RUN} -f version=$${TAG} -f target=$${v_target}
-f latest=$${LATEST} --repo=grafana/grafana release-pr.yml
2024-06-12 21:48:50 +08:00
depends_on : [ ]
environment :
GH_CLI_URL : https://github.com/cli/cli/releases/download/v2.50.0/gh_2.50.0_linux_amd64.tar.gz
image : byrnedo/alpine-curl:0.1.8
name : create-release-pr
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2024-06-12 21:48:50 +08:00
trigger :
event :
- promote
target : release-pr
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
2024-11-21 23:08:02 +08:00
- name : github-app
temp : {}
2024-06-12 21:48:50 +08:00
---
clone :
retries : 3
depends_on : [ ]
2023-07-14 19:18:09 +08:00
environment :
EDITION : oss
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-07-14 19:18:09 +08:00
kind : pipeline
name : publish-artifacts-public
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
2021-10-14 22:02:45 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
2020-12-23 22:42:20 +08:00
environment :
2023-07-14 19:18:09 +08:00
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-14 19:18:09 +08:00
name : compile-build-cmd
2021-10-14 22:02:45 +08:00
- commands :
2024-10-15 22:27:13 +08:00
- ./bin/build artifacts packages --artifacts-editions=oss --tag $${DRONE_TAG} --src-bucket
$${PRERELEASE_BUCKET}
2020-10-07 20:22:15 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- compile-build-cmd
2021-11-24 18:20:11 +08:00
environment :
2023-07-14 19:18:09 +08:00
GCP_KEY :
2023-08-23 15:57:19 +08:00
from_secret : gcp_grafanauploads_base64
2023-07-14 19:18:09 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
image : grafana/grafana-ci-deploy:1.3.3
name : publish-artifacts
2021-10-14 22:02:45 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/build artifacts storybook --tag ${DRONE_TAG}
2020-10-07 20:22:15 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- compile-build-cmd
2021-10-14 22:02:45 +08:00
environment :
2022-02-07 17:11:27 +08:00
GCP_KEY :
2023-08-23 15:57:19 +08:00
from_secret : gcp_grafanauploads_base64
2021-11-30 18:53:07 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
2022-07-20 18:34:09 +08:00
image : grafana/grafana-ci-deploy:1.3.3
2023-07-14 19:18:09 +08:00
name : publish-storybook
2024-06-12 21:48:50 +08:00
- commands :
2024-11-21 23:08:02 +08:00
- echo $(/usr/bin/github-app-external-token) > /github-app/token
environment :
GITHUB_APP_ID :
from_secret : github-app-app-id
GITHUB_APP_INSTALLATION_ID :
from_secret : github-app-installation-id
GITHUB_APP_PRIVATE_KEY :
from_secret : github-app-private-key
2024-12-10 16:46:28 +08:00
failure : ignore
2024-11-21 23:08:02 +08:00
image : us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
name : github-app-generate-token
volumes :
- name : github-app
path : /github-app
- commands :
- export GITHUB_TOKEN=$(cat /github-app/token)
2024-06-12 21:48:50 +08:00
- apk add perl
- v_target=`echo $${TAG} | perl -pe 's/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/v\1.\2.x/'`
- curl -L $${GH_CLI_URL} | tar -xz --strip-components=1 -C /usr
2024-07-27 07:20:36 +08:00
- gh workflow run -f dry_run=$${DRY_RUN} -f version=$${TAG} -f target=$${v_target}
-f latest=$${LATEST} --repo=grafana/grafana release-pr.yml
2024-06-12 21:48:50 +08:00
depends_on :
- publish-artifacts
2024-11-21 23:08:02 +08:00
- github-app-generate-token
2024-06-12 21:48:50 +08:00
environment :
GH_CLI_URL : https://github.com/cli/cli/releases/download/v2.50.0/gh_2.50.0_linux_amd64.tar.gz
image : byrnedo/alpine-curl:0.1.8
name : create-release-pr
2024-11-21 23:08:02 +08:00
volumes :
- name : github-app
path : /github-app
2020-10-07 20:22:15 +08:00
trigger :
2022-01-11 22:28:29 +08:00
event :
2023-07-14 19:18:09 +08:00
- promote
target :
- public
2021-10-14 22:02:45 +08:00
type : docker
2021-11-24 18:20:11 +08:00
volumes :
2021-11-30 18:53:07 +08:00
- host :
path : /var/run/docker.sock
name : docker
2024-12-04 23:02:01 +08:00
- name : github-app
temp : {}
2020-10-07 20:22:15 +08:00
---
2021-10-14 22:02:45 +08:00
clone :
2023-07-14 19:18:09 +08:00
retries : 3
2022-01-11 17:17:00 +08:00
depends_on : [ ]
2022-11-18 22:15:04 +08:00
environment :
2023-07-14 19:18:09 +08:00
EDITION : oss
2021-10-14 22:02:45 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2020-10-07 20:22:15 +08:00
kind : pipeline
2023-07-14 19:18:09 +08:00
name : publish-npm-packages-public
2022-01-11 17:17:00 +08:00
node :
type : no -parallel
2020-10-07 20:22:15 +08:00
platform :
arch : amd64
2022-01-11 17:17:00 +08:00
os : linux
2021-10-14 22:02:45 +08:00
services : [ ]
2020-10-07 20:22:15 +08:00
steps :
2023-04-03 19:04:30 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
2022-10-11 15:05:13 +08:00
environment :
2023-07-14 19:18:09 +08:00
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-14 19:18:09 +08:00
name : compile-build-cmd
2022-01-11 17:17:00 +08:00
- commands :
2024-02-24 00:15:28 +08:00
- yarn install --immutable || yarn install --immutable
2023-07-14 19:18:09 +08:00
depends_on : [ ]
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2022-10-10 23:46:56 +08:00
name : yarn-install
2022-04-14 19:56:14 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/build artifacts npm retrieve --tag ${DRONE_TAG}
2022-04-14 19:56:14 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- compile-build-cmd
2022-10-10 23:46:56 +08:00
- yarn-install
2023-07-14 19:18:09 +08:00
environment :
GCP_KEY :
2023-08-23 15:57:19 +08:00
from_secret : gcp_grafanauploads_base64
2023-07-14 19:18:09 +08:00
PRERELEASE_BUCKET :
from_secret : prerelease_bucket
failure : ignore
image : grafana/grafana-ci-deploy:1.3.3
name : retrieve-npm-packages
2022-04-14 19:56:14 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/build artifacts npm release --tag ${DRONE_TAG}
2022-04-14 19:56:14 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- compile-build-cmd
- retrieve-npm-packages
2022-10-10 23:46:56 +08:00
environment :
2023-07-14 19:18:09 +08:00
NPM_TOKEN :
from_secret : npm_token
failure : ignore
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2023-07-14 19:18:09 +08:00
name : release-npm-packages
2022-10-10 23:46:56 +08:00
trigger :
event :
2023-07-14 19:18:09 +08:00
- promote
target :
- public
2022-10-10 23:46:56 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2024-06-21 07:20:49 +08:00
clone :
retries : 3
depends_on : [ ]
image_pull_secrets :
- gcr
- gar
kind : pipeline
name : verify-grafanacom-artifacts
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- apk add curl bash
- "\n for i in {1..5}; do\n if ./scripts/drone/verify-grafanacom.sh;
then\n exit 0\n elif [ $i -eq 5 ]; then\n exit
1 \n else\n sleep 60\n fi\n done\n
\ "
depends_on : [ ]
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2024-06-21 07:20:49 +08:00
name : verify-grafanacom
trigger :
event :
- promote
target : verify-grafanacom-artifacts
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2022-10-10 23:46:56 +08:00
clone :
2023-07-14 19:18:09 +08:00
retries : 3
depends_on :
- publish-artifacts-public
- publish-docker-public
2022-10-10 23:46:56 +08:00
environment :
2023-07-14 19:18:09 +08:00
EDITION : oss
2022-10-10 23:46:56 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2022-10-10 23:46:56 +08:00
kind : pipeline
2023-07-14 19:18:09 +08:00
name : publish-packages
2022-10-10 23:46:56 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
2023-07-14 19:18:09 +08:00
depends_on : [ ]
2022-10-10 23:46:56 +08:00
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2022-10-10 23:46:56 +08:00
name : compile-build-cmd
2023-07-14 19:18:09 +08:00
- depends_on :
- compile-build-cmd
image : us.gcr.io/kubernetes-dev/package-publish:latest
name : publish-linux-packages-deb
privileged : true
settings :
access_key_id :
from_secret : packages_access_key_id
deb_distribution : auto
gpg_passphrase :
from_secret : packages_gpg_passphrase
gpg_private_key :
from_secret : packages_gpg_private_key
gpg_public_key :
from_secret : packages_gpg_public_key
2023-07-26 19:18:00 +08:00
package_path : gs://grafana-prerelease/artifacts/downloads/*${DRONE_TAG}/oss/**.deb
2023-07-14 19:18:09 +08:00
secret_access_key :
from_secret : packages_secret_access_key
service_account_json :
from_secret : packages_service_account
target_bucket : grafana-packages
- depends_on :
- compile-build-cmd
image : us.gcr.io/kubernetes-dev/package-publish:latest
name : publish-linux-packages-rpm
privileged : true
settings :
access_key_id :
from_secret : packages_access_key_id
deb_distribution : auto
gpg_passphrase :
from_secret : packages_gpg_passphrase
gpg_private_key :
from_secret : packages_gpg_private_key
gpg_public_key :
from_secret : packages_gpg_public_key
2023-07-26 19:18:00 +08:00
package_path : gs://grafana-prerelease/artifacts/downloads/*${DRONE_TAG}/oss/**.rpm
2023-07-14 19:18:09 +08:00
secret_access_key :
from_secret : packages_secret_access_key
service_account_json :
from_secret : packages_service_account
target_bucket : grafana-packages
2022-06-09 14:48:27 +08:00
- commands :
2023-07-14 19:18:09 +08:00
- ./bin/build publish grafana-com --edition oss ${DRONE_TAG}
2022-01-11 17:17:00 +08:00
depends_on :
2023-07-14 19:18:09 +08:00
- publish-linux-packages-deb
- publish-linux-packages-rpm
environment :
GCP_KEY :
2023-07-26 21:59:25 +08:00
from_secret : gcp_grafanauploads_base64
2023-07-14 19:18:09 +08:00
GRAFANA_COM_API_KEY :
from_secret : grafana_api_key
image : grafana/grafana-ci-deploy:1.3.3
name : publish-grafanacom
2024-06-21 07:20:49 +08:00
- commands :
- apk add curl bash
- "\n for i in {1..5}; do\n if ./scripts/drone/verify-grafanacom.sh;
then\n exit 0\n elif [ $i -eq 5 ]; then\n exit
1 \n else\n sleep 60\n fi\n done\n
\ "
depends_on :
- publish-grafanacom
2025-06-16 23:29:07 +08:00
image : node:22.16.0-alpine
2024-06-21 07:20:49 +08:00
name : verify-grafanacom
2020-10-07 20:22:15 +08:00
trigger :
2022-01-11 22:28:29 +08:00
event :
2023-07-14 19:18:09 +08:00
- promote
target :
- public
2021-10-14 22:02:45 +08:00
type : docker
2021-11-24 18:20:11 +08:00
volumes :
2021-11-30 18:53:07 +08:00
- host :
path : /var/run/docker.sock
name : docker
2021-10-14 22:02:45 +08:00
---
2024-09-27 05:19:19 +08:00
clone :
retries : 3
depends_on : [ ]
image_pull_secrets :
- gcr
- gar
kind : pipeline
name : publish-grafanacom
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on : [ ]
environment :
CGO_ENABLED : 0
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2024-09-27 05:19:19 +08:00
name : compile-build-cmd
- commands :
- ./bin/build publish grafana-com --edition oss ${DRONE_TAG}
depends_on :
- compile-build-cmd
environment :
GCP_KEY :
from_secret : gcp_grafanauploads_base64
GRAFANA_COM_API_KEY :
from_secret : grafana_api_key
image : grafana/grafana-ci-deploy:1.3.3
name : publish-grafanacom
trigger :
event :
- promote
target : publish-grafanacom
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2023-10-05 00:55:43 +08:00
clone :
retries : 3
2025-06-19 03:03:23 +08:00
depends_on : [ ]
2023-10-05 00:55:43 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-10-05 00:55:43 +08:00
kind : pipeline
name : rgm-main-prerelease
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2023-10-05 00:55:43 +08:00
- export GRAFANA_DIR=$$(pwd)
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-20 23:48:00 +08:00
- ./pkg/build/daggerbuild/scripts/drone_build_main.sh
2023-10-05 00:55:43 +08:00
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2023-10-05 00:55:43 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-10-05 00:55:43 +08:00
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
2023-11-01 04:52:09 +08:00
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-10-05 00:55:43 +08:00
name : rgm-build
pull : always
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2023-10-05 00:55:43 +08:00
trigger :
branch : main
event :
- push
paths :
exclude :
- '*.md'
- docs/**
- packages/**/*.md
- latest.json
repo :
- grafana/grafana
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2022-01-11 17:17:00 +08:00
clone :
2023-07-14 19:18:09 +08:00
retries : 3
2023-07-28 22:58:22 +08:00
depends_on : [ ]
2023-04-03 18:43:37 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-04-03 18:43:37 +08:00
kind : pipeline
2023-10-05 00:55:43 +08:00
name : rgm-tag-prerelease
2022-10-10 23:46:56 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
2023-04-03 18:43:37 +08:00
services : [ ]
2020-10-07 20:22:15 +08:00
steps :
2025-07-19 04:18:43 +08:00
- commands :
- echo $(/usr/bin/github-app-external-token) > /github-app/token
environment :
GITHUB_APP_ID :
from_secret : github-app-app-id
GITHUB_APP_INSTALLATION_ID :
from_secret : github-app-installation-id
GITHUB_APP_PRIVATE_KEY :
from_secret : github-app-private-key
failure : ignore
image : us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
name : github-app-generate-token
volumes :
- name : github-app
path : /github-app
2021-11-16 01:14:33 +08:00
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2023-07-14 19:18:09 +08:00
- export GRAFANA_DIR=$$(pwd)
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-20 23:48:00 +08:00
- ./pkg/build/daggerbuild/scripts/drone_build_tag_grafana.sh
2025-07-19 04:18:43 +08:00
depends_on :
- github-app-generate-token
2021-10-14 22:02:45 +08:00
environment :
2023-07-14 19:18:09 +08:00
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2023-10-05 00:55:43 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
2023-07-14 19:18:09 +08:00
DESTINATION :
from_secret : destination
2023-10-05 00:55:43 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-07-14 19:18:09 +08:00
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
2023-01-19 23:30:05 +08:00
from_secret : packages_gpg_passphrase
2023-07-14 19:18:09 +08:00
GPG_PRIVATE_KEY :
2023-01-19 23:30:05 +08:00
from_secret : packages_gpg_private_key
2023-07-14 19:18:09 +08:00
GPG_PUBLIC_KEY :
2023-01-19 23:30:05 +08:00
from_secret : packages_gpg_public_key
2023-10-05 00:55:43 +08:00
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
2023-11-01 04:52:09 +08:00
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-14 19:18:09 +08:00
name : rgm-build
2023-09-13 01:59:02 +08:00
pull : always
2022-11-22 02:06:00 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2023-07-14 19:18:09 +08:00
trigger :
event :
exclude :
2023-10-05 00:55:43 +08:00
- promote
ref :
exclude :
- refs/tags/*-cloud*
include :
- refs/tags/v*
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
2025-07-19 04:18:43 +08:00
- name : github-app
path : /github-app
- name : github-app
temp : {}
2023-10-05 00:55:43 +08:00
---
clone :
retries : 3
depends_on :
- rgm-tag-prerelease
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-10-05 00:55:43 +08:00
kind : pipeline
name : rgm-tag-verify-prerelease-assets
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
- apt-get update && apt-get install -yq gettext
- printenv GCP_KEY | base64 -d > /tmp/key.json
- gcloud auth activate-service-account --key-file=/tmp/key.json
- ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat >> /tmp/stat.log
- '! cat /tmp/stat.log | grep "No URLs matched"'
depends_on :
- clone
environment :
BUCKET : grafana-prerelease
GCP_KEY :
from_secret : gcp_key_base64
image : google/cloud-sdk:431.0.0
name : gsutil-stat
trigger :
event :
exclude :
- promote
ref :
exclude :
- refs/tags/*-cloud*
include :
- refs/tags/v*
2023-07-14 19:18:09 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
2024-10-08 03:55:17 +08:00
depends_on : [ ]
2023-07-14 19:18:09 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-07-14 19:18:09 +08:00
kind : pipeline
2023-10-05 00:55:43 +08:00
name : rgm-version-branch-prerelease
2023-07-14 19:18:09 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
2022-11-22 02:06:00 +08:00
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2023-07-14 19:18:09 +08:00
- export GRAFANA_DIR=$$(pwd)
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-20 23:48:00 +08:00
- ./pkg/build/daggerbuild/scripts/drone_build_tag_grafana.sh
2022-11-22 02:06:00 +08:00
environment :
2023-07-14 19:18:09 +08:00
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2023-10-05 00:55:43 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
2023-07-14 19:18:09 +08:00
DESTINATION :
from_secret : destination
2023-10-05 00:55:43 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-07-14 19:18:09 +08:00
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
2023-10-05 00:55:43 +08:00
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
2023-11-01 04:52:09 +08:00
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-07-14 19:18:09 +08:00
name : rgm-build
2023-09-13 01:59:02 +08:00
pull : always
2022-11-22 02:06:00 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2022-11-22 02:06:00 +08:00
trigger :
ref :
2023-10-05 00:55:43 +08:00
- refs/heads/v[0-9]*
2022-11-22 02:06:00 +08:00
type : docker
volumes :
2022-01-11 22:28:29 +08:00
- host :
path : /var/run/docker.sock
name : docker
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2023-07-14 19:18:09 +08:00
depends_on :
2023-10-05 00:55:43 +08:00
- rgm-version-branch-prerelease
2023-07-15 04:27:07 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-07-15 04:27:07 +08:00
kind : pipeline
2023-10-05 00:55:43 +08:00
name : rgm-prerelease-verify-prerelease-assets
node :
type : no -parallel
2023-07-15 04:27:07 +08:00
platform :
arch : amd64
2023-10-05 00:55:43 +08:00
os : linux
2023-07-15 04:27:07 +08:00
services : [ ]
steps :
- commands :
2023-10-05 00:55:43 +08:00
- apt-get update && apt-get install -yq gettext
- printenv GCP_KEY | base64 -d > /tmp/key.json
- gcloud auth activate-service-account --key-file=/tmp/key.json
- ./scripts/list-release-artifacts.sh ${DRONE_TAG} | xargs -n1 gsutil stat >> /tmp/stat.log
- '! cat /tmp/stat.log | grep "No URLs matched"'
depends_on :
- clone
environment :
BUCKET : grafana-prerelease
GCP_KEY :
from_secret : gcp_key_base64
image : google/cloud-sdk:431.0.0
name : gsutil-stat
trigger :
ref :
- refs/heads/v[0-9]*
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
clone :
retries : 3
depends_on : [ ]
2023-09-12 23:19:06 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-09-12 23:19:06 +08:00
kind : pipeline
2023-10-05 00:55:43 +08:00
name : rgm-nightly-build
2023-09-12 23:19:06 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2023-09-12 23:19:06 +08:00
- export GRAFANA_DIR=$$(pwd)
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-20 23:48:00 +08:00
- ./pkg/build/daggerbuild/scripts/drone_build_nightly_grafana.sh
2023-09-12 23:19:06 +08:00
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2023-10-05 00:55:43 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
2023-09-12 23:19:06 +08:00
DESTINATION :
from_secret : destination
2023-10-05 00:55:43 +08:00
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-09-12 23:19:06 +08:00
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
2023-10-05 00:55:43 +08:00
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
2023-11-01 04:52:09 +08:00
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-09-12 23:19:06 +08:00
name : rgm-build
2023-09-13 01:59:02 +08:00
pull : always
2023-09-12 23:19:06 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2022-12-05 22:49:33 +08:00
- commands :
2023-10-05 00:55:43 +08:00
- mkdir -p $${DESTINATION}/$${DRONE_BUILD_EVENT}
- printenv GCP_KEY_BASE64 | base64 -d > /tmp/key.json
2023-07-14 19:18:09 +08:00
- gcloud auth activate-service-account --key-file=/tmp/key.json
2023-10-05 00:55:43 +08:00
- gcloud storage cp -r $${DRONE_WORKSPACE}/dist/* $${DESTINATION}/$${DRONE_BUILD_EVENT}
2022-01-11 22:28:29 +08:00
depends_on :
2023-10-05 00:55:43 +08:00
- rgm-build
2022-01-11 22:28:29 +08:00
environment :
2023-10-05 00:55:43 +08:00
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-10-05 00:55:43 +08:00
GCP_KEY_BASE64 :
2023-08-22 21:06:22 +08:00
from_secret : gcp_key_base64
2023-10-05 00:55:43 +08:00
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
image : google/cloud-sdk:alpine
name : rgm-copy
2022-01-11 22:28:29 +08:00
trigger :
2023-10-05 00:55:43 +08:00
cron :
include :
2023-10-05 13:44:24 +08:00
- nightly-release
2022-01-11 22:28:29 +08:00
event :
2023-07-14 19:18:09 +08:00
include :
2023-10-05 00:55:43 +08:00
- cron
2022-01-11 22:28:29 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2023-09-12 23:19:06 +08:00
clone :
retries : 3
depends_on :
2023-10-05 00:55:43 +08:00
- rgm-nightly-build
2023-09-12 23:19:06 +08:00
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2023-09-12 23:19:06 +08:00
kind : pipeline
2023-10-05 00:55:43 +08:00
name : rgm-nightly-publish
2023-09-12 23:19:06 +08:00
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
2023-10-05 00:55:43 +08:00
- mkdir -p $${DRONE_WORKSPACE}/dist
- printenv GCP_KEY_BASE64 | base64 -d > /tmp/key.json
2023-09-12 23:19:06 +08:00
- gcloud auth activate-service-account --key-file=/tmp/key.json
2023-10-05 00:55:43 +08:00
- gcloud storage cp -r $${DESTINATION}/$${DRONE_BUILD_EVENT}/*_$${DRONE_BUILD_NUMBER}_*
$${DRONE_WORKSPACE}/dist
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-10-05 00:55:43 +08:00
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
image : google/cloud-sdk:alpine
name : rgm-copy
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2023-10-05 00:55:43 +08:00
- export GRAFANA_DIR=$$(pwd)
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-20 23:48:00 +08:00
- ./pkg/build/daggerbuild/scripts/drone_publish_nightly_grafana.sh
2023-09-12 23:19:06 +08:00
depends_on :
2023-10-05 00:55:43 +08:00
- rgm-copy
2023-09-12 23:19:06 +08:00
environment :
2023-10-05 00:55:43 +08:00
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2023-10-05 00:55:43 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
2023-10-09 23:55:15 +08:00
from_secret : grafana_api_key
2023-10-05 00:55:43 +08:00
GCP_KEY_BASE64 :
2023-09-12 23:19:06 +08:00
from_secret : gcp_key_base64
2023-10-05 00:55:43 +08:00
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
2023-11-01 04:52:09 +08:00
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2023-10-05 00:55:43 +08:00
name : rgm-publish
pull : always
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2023-10-05 00:55:43 +08:00
- depends_on :
- rgm-publish
image : us.gcr.io/kubernetes-dev/package-publish:latest
name : publish-deb
privileged : true
settings :
access_key_id :
from_secret : packages_access_key_id
gpg_passphrase :
from_secret : packages_gpg_passphrase
gpg_private_key :
from_secret : packages_gpg_private_key
gpg_public_key :
from_secret : packages_gpg_public_key
package_path : file:///drone/src/dist/*.deb
secret_access_key :
from_secret : packages_secret_access_key
service_account_json :
from_secret : packages_service_account
2023-10-09 23:55:15 +08:00
target_bucket : grafana-packages
2023-10-05 00:55:43 +08:00
- depends_on :
- rgm-publish
image : us.gcr.io/kubernetes-dev/package-publish:latest
name : publish-rpm
privileged : true
settings :
access_key_id :
from_secret : packages_access_key_id
gpg_passphrase :
from_secret : packages_gpg_passphrase
gpg_private_key :
from_secret : packages_gpg_private_key
gpg_public_key :
from_secret : packages_gpg_public_key
package_path : file:///drone/src/dist/*.rpm
secret_access_key :
from_secret : packages_secret_access_key
service_account_json :
from_secret : packages_service_account
2023-10-09 23:55:15 +08:00
target_bucket : grafana-packages
2023-09-12 23:19:06 +08:00
trigger :
2023-10-05 00:55:43 +08:00
cron :
include :
2023-10-05 13:44:24 +08:00
- nightly-release
2023-10-05 00:55:43 +08:00
event :
include :
- cron
2023-09-12 23:19:06 +08:00
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
---
2024-01-11 23:22:14 +08:00
clone :
retries : 3
depends_on : [ ]
image_pull_secrets :
2024-01-20 01:29:49 +08:00
- gcr
- gar
2024-01-11 23:22:14 +08:00
kind : pipeline
name : rgm-promotion
node :
type : no -parallel
platform :
arch : amd64
os : linux
services : [ ]
steps :
- commands :
2024-11-21 23:08:02 +08:00
- echo $(/usr/bin/github-app-external-token) > /github-app/token
environment :
GITHUB_APP_ID :
from_secret : github-app-app-id
GITHUB_APP_INSTALLATION_ID :
from_secret : github-app-installation-id
GITHUB_APP_PRIVATE_KEY :
from_secret : github-app-private-key
2024-12-10 16:46:28 +08:00
failure : ignore
2024-11-21 23:08:02 +08:00
image : us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
name : github-app-generate-token
volumes :
- name : github-app
path : /github-app
- commands :
2025-05-20 23:48:00 +08:00
- wget -qO- https://github.com/dagger/dagger/releases/download/v0.18.8/dagger_v0.18.8_linux_amd64.tar.gz
| tar zx -C /bin
2025-07-19 04:18:43 +08:00
- apk add docker bash
2024-11-21 23:08:02 +08:00
- export GITHUB_TOKEN=$(cat /github-app/token)
2025-05-22 15:14:44 +08:00
- dagger run --silent go run ./pkg/build/cmd artifacts -a $${ARTIFACTS} --grafana-ref=$${GRAFANA_REF}
2025-05-22 17:55:35 +08:00
--enterprise-ref=$${ENTERPRISE_REF} --grafana-repo=$${GRAFANA_REPO} --build-id=$${DRONE_BUILD_NUMBER}
--version=$${VERSION}
2024-11-21 23:08:02 +08:00
depends_on :
- github-app-generate-token
2024-01-11 23:22:14 +08:00
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
2025-02-26 07:23:28 +08:00
ALPINE_BASE : alpine:3.21.3
2024-01-11 23:22:14 +08:00
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
from_secret : grafana_api_key
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
UBUNTU_BASE : ubuntu:22.04
2025-08-07 16:28:03 +08:00
image : golang:1.24.6-alpine
2024-01-11 23:22:14 +08:00
name : rgm-build
pull : always
volumes :
- name : docker
path : /var/run/docker.sock
2024-11-21 23:08:02 +08:00
- name : github-app
path : /github-app
2024-01-11 23:22:14 +08:00
- commands :
- printenv GCP_KEY_BASE64 | base64 -d > /tmp/key.json
- gcloud auth activate-service-account --key-file=/tmp/key.json
- gcloud storage cp -r dist/* $${UPLOAD_TO}
2025-02-25 02:36:13 +08:00
depends_on :
- rgm-build
2024-01-11 23:22:14 +08:00
environment :
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN :
from_secret : dagger_token
CDN_DESTINATION :
from_secret : rgm_cdn_destination
DESTINATION :
from_secret : destination
DOCKER_PASSWORD :
from_secret : docker_password
DOCKER_USERNAME :
from_secret : docker_username
DOWNLOADS_DESTINATION :
from_secret : rgm_downloads_destination
GCOM_API_KEY :
from_secret : grafana_api_key
GCP_KEY_BASE64 :
from_secret : gcp_key_base64
GPG_PASSPHRASE :
from_secret : packages_gpg_passphrase
GPG_PRIVATE_KEY :
from_secret : packages_gpg_private_key
GPG_PUBLIC_KEY :
from_secret : packages_gpg_public_key
NPM_TOKEN :
from_secret : npm_token
STORYBOOK_DESTINATION :
from_secret : rgm_storybook_destination
image : google/cloud-sdk:alpine
name : rgm-copy
trigger :
event :
- promote
target : upload-packages
type : docker
volumes :
- host :
path : /var/run/docker.sock
name : docker
2024-12-04 23:02:01 +08:00
- name : github-app
path : /github-app
2025-02-25 02:36:13 +08:00
- name : github-app
temp : {}
2024-01-11 23:22:14 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-05-26 20:27:40 +08:00
kind : pipeline
2021-11-23 18:43:00 +08:00
name : scan-grafana/grafana:latest-image
2021-05-26 20:27:40 +08:00
platform :
arch : amd64
2021-10-14 22:02:45 +08:00
os : linux
2021-05-26 20:27:40 +08:00
steps :
2023-08-28 19:52:08 +08:00
- commands :
- echo $${GCR_CREDENTIALS} | docker login -u _json_key --password-stdin https://us.gcr.io
environment :
GCR_CREDENTIALS :
from_secret : gcr_credentials
image : docker:dind
name : authenticate-gcr
volumes :
- name : docker
path : /var/run/docker.sock
2023-08-29 15:54:04 +08:00
- name : config
path : /root/.docker/
2021-10-14 22:02:45 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana:latest
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
2023-06-12 21:41:18 +08:00
name : scan-unknown-low-medium-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-10-14 22:02:45 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 1 --severity HIGH,CRITICAL grafana/grafana:latest
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-09-01 18:31:28 +08:00
environment :
GOOGLE_APPLICATION_CREDENTIALS :
from_secret : gcr_credentials_json
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
name : scan-high-critical-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- image : plugins/slack
name : slack-notify-failure
settings :
channel : grafana-backend-ops
template: 'Nightly docker image scan job for grafana/grafana:latest failed : {{build.link}}'
webhook :
from_secret : slack_webhook_backend
when :
status : failure
trigger :
cron : nightly
event : cron
type : docker
2023-08-28 19:52:08 +08:00
volumes :
- host :
path : /var/run/docker.sock
name : docker
2023-09-01 18:31:28 +08:00
- name : config
temp : {}
2021-11-23 18:43:00 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-11-23 18:43:00 +08:00
kind : pipeline
name : scan-grafana/grafana:main-image
platform :
arch : amd64
os : linux
steps :
2023-08-28 19:52:08 +08:00
- commands :
- echo $${GCR_CREDENTIALS} | docker login -u _json_key --password-stdin https://us.gcr.io
environment :
GCR_CREDENTIALS :
from_secret : gcr_credentials
image : docker:dind
name : authenticate-gcr
volumes :
- name : docker
path : /var/run/docker.sock
2023-08-29 15:54:04 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana:main
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
2023-06-12 21:41:18 +08:00
name : scan-unknown-low-medium-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 1 --severity HIGH,CRITICAL grafana/grafana:main
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-09-01 18:31:28 +08:00
environment :
GOOGLE_APPLICATION_CREDENTIALS :
from_secret : gcr_credentials_json
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
name : scan-high-critical-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- image : plugins/slack
name : slack-notify-failure
settings :
channel : grafana-backend-ops
template: 'Nightly docker image scan job for grafana/grafana:main failed : {{build.link}}'
webhook :
from_secret : slack_webhook_backend
when :
status : failure
trigger :
cron : nightly
event : cron
type : docker
2023-08-28 19:52:08 +08:00
volumes :
- host :
path : /var/run/docker.sock
name : docker
2023-09-01 18:31:28 +08:00
- name : config
temp : {}
2021-11-23 18:43:00 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-11-23 18:43:00 +08:00
kind : pipeline
name : scan-grafana/grafana:latest-ubuntu-image
platform :
arch : amd64
os : linux
steps :
2023-08-28 19:52:08 +08:00
- commands :
- echo $${GCR_CREDENTIALS} | docker login -u _json_key --password-stdin https://us.gcr.io
environment :
GCR_CREDENTIALS :
from_secret : gcr_credentials
image : docker:dind
name : authenticate-gcr
volumes :
- name : docker
path : /var/run/docker.sock
2023-08-29 15:54:04 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana:latest-ubuntu
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
2023-06-12 21:41:18 +08:00
name : scan-unknown-low-medium-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 1 --severity HIGH,CRITICAL grafana/grafana:latest-ubuntu
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-09-01 18:31:28 +08:00
environment :
GOOGLE_APPLICATION_CREDENTIALS :
from_secret : gcr_credentials_json
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
name : scan-high-critical-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- image : plugins/slack
name : slack-notify-failure
settings :
channel : grafana-backend-ops
template : 'Nightly docker image scan job for grafana/grafana:latest-ubuntu failed :
{{build.link}}'
webhook :
from_secret : slack_webhook_backend
when :
status : failure
trigger :
cron : nightly
event : cron
type : docker
2023-08-28 19:52:08 +08:00
volumes :
- host :
path : /var/run/docker.sock
name : docker
2023-09-01 18:31:28 +08:00
- name : config
temp : {}
2021-11-23 18:43:00 +08:00
---
2022-08-03 19:51:29 +08:00
clone :
retries : 3
2021-11-23 18:43:00 +08:00
kind : pipeline
name : scan-grafana/grafana:main-ubuntu-image
platform :
arch : amd64
os : linux
steps :
2023-08-28 19:52:08 +08:00
- commands :
- echo $${GCR_CREDENTIALS} | docker login -u _json_key --password-stdin https://us.gcr.io
environment :
GCR_CREDENTIALS :
from_secret : gcr_credentials
image : docker:dind
name : authenticate-gcr
volumes :
- name : docker
path : /var/run/docker.sock
2023-08-29 15:54:04 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana:main-ubuntu
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
2023-06-12 21:41:18 +08:00
name : scan-unknown-low-medium-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-11-23 18:43:00 +08:00
- commands :
2023-09-01 18:31:28 +08:00
- trivy image --exit-code 1 --severity HIGH,CRITICAL grafana/grafana:main-ubuntu
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-09-01 18:31:28 +08:00
environment :
GOOGLE_APPLICATION_CREDENTIALS :
from_secret : gcr_credentials_json
2021-11-23 18:43:00 +08:00
image : aquasec/trivy:0.21.0
name : scan-high-critical-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2021-10-14 22:02:45 +08:00
- image : plugins/slack
name : slack-notify-failure
2021-05-31 23:33:22 +08:00
settings :
2021-08-16 20:54:52 +08:00
channel : grafana-backend-ops
2021-11-23 18:43:00 +08:00
template : 'Nightly docker image scan job for grafana/grafana:main-ubuntu failed :
{{build.link}}'
2021-05-31 23:33:22 +08:00
webhook :
2021-06-02 14:49:42 +08:00
from_secret : slack_webhook_backend
2021-05-31 23:33:22 +08:00
when :
2021-10-14 22:02:45 +08:00
status : failure
2021-05-26 20:27:40 +08:00
trigger :
2021-10-14 22:02:45 +08:00
cron : nightly
event : cron
type : docker
2023-08-28 19:52:08 +08:00
volumes :
- host :
path : /var/run/docker.sock
name : docker
2023-09-01 18:31:28 +08:00
- name : config
temp : {}
2021-05-12 21:30:05 +08:00
---
2022-09-27 21:49:20 +08:00
clone :
retries : 3
kind : pipeline
2023-06-12 21:41:18 +08:00
name : scan-build-test-and-publish-docker-images
platform :
arch : amd64
os : linux
steps :
2023-08-28 19:52:08 +08:00
- commands :
- echo $${GCR_CREDENTIALS} | docker login -u _json_key --password-stdin https://us.gcr.io
environment :
GCR_CREDENTIALS :
from_secret : gcr_credentials
image : docker:dind
name : authenticate-gcr
volumes :
- name : docker
path : /var/run/docker.sock
2023-08-29 15:54:04 +08:00
- name : config
path : /root/.docker/
2023-06-12 21:41:18 +08:00
- commands :
2024-07-18 23:53:47 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM docker:27-cli
2023-09-12 23:19:06 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine/git:2.40.1
2025-08-07 16:28:03 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.24.6-alpine
2025-06-16 23:29:07 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:22.16.0-alpine
2024-12-13 00:39:52 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:22-bookworm
2023-06-12 21:41:18 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM google/cloud-sdk:431.0.0
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana-ci-deploy:1.3.3
2025-02-26 07:23:28 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine:3.21.3
2023-09-13 01:59:02 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM ubuntu:22.04
2023-06-12 21:41:18 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM byrnedo/alpine-curl:0.1.8
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM plugins/slack
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM us.gcr.io/kubernetes-dev/package-publish:latest
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/drone-downstream
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/docker-puppeteer:1.1.0
2023-10-28 01:30:56 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/docs-base:latest
2025-04-25 21:49:50 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM cypress/included:14.3.2
2023-09-12 23:19:06 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM jwilder/dockerize:0.6.1
2024-11-21 23:08:02 +08:00
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-06-12 21:41:18 +08:00
image : aquasec/trivy:0.21.0
name : scan-unknown-low-medium-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2023-06-12 21:41:18 +08:00
- commands :
2024-07-18 23:53:47 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL docker:27-cli
2023-09-12 23:19:06 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL alpine/git:2.40.1
2025-08-07 16:28:03 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.24.6-alpine
2025-06-16 23:29:07 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL node:22.16.0-alpine
2024-12-13 00:39:52 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL node:22-bookworm
2023-06-12 21:41:18 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL google/cloud-sdk:431.0.0
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/grafana-ci-deploy:1.3.3
2025-02-26 07:23:28 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL alpine:3.21.3
2023-09-13 01:59:02 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL ubuntu:22.04
2023-06-12 21:41:18 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL byrnedo/alpine-curl:0.1.8
- trivy --exit-code 1 --severity HIGH,CRITICAL plugins/slack
- trivy --exit-code 1 --severity HIGH,CRITICAL us.gcr.io/kubernetes-dev/package-publish:latest
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/drone-downstream
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/docker-puppeteer:1.1.0
2023-10-28 01:30:56 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/docs-base:latest
2025-04-25 21:49:50 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL cypress/included:14.3.2
2023-09-12 23:19:06 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL jwilder/dockerize:0.6.1
2024-11-21 23:08:02 +08:00
- trivy --exit-code 1 --severity HIGH,CRITICAL us-docker.pkg.dev/grafanalabs-global/docker-deployment-tools-prod/github-app-secret-writer:2024-11-05-v11688112090.1-83920c59
2023-08-28 19:52:08 +08:00
depends_on :
- authenticate-gcr
2023-09-01 18:31:28 +08:00
environment :
GOOGLE_APPLICATION_CREDENTIALS :
from_secret : gcr_credentials_json
2023-06-12 21:41:18 +08:00
image : aquasec/trivy:0.21.0
name : scan-high-critical-vulnerabilities
2023-08-28 19:52:08 +08:00
volumes :
- name : docker
path : /var/run/docker.sock
2023-09-01 18:31:28 +08:00
- name : config
path : /root/.docker/
2023-06-12 21:41:18 +08:00
- image : plugins/slack
name : slack-notify-failure
settings :
channel : grafana-backend-ops
template: 'Nightly docker image scan job for build-images failed : {{build.link}}'
webhook :
from_secret : slack_webhook_backend
when :
status : failure
trigger :
cron : nightly
event : cron
type : docker
2023-08-28 19:52:08 +08:00
volumes :
- host :
path : /var/run/docker.sock
name : docker
2023-09-01 18:31:28 +08:00
- name : config
temp : {}
2023-06-12 21:41:18 +08:00
---
2024-11-21 23:08:02 +08:00
get :
name : app-id
path : ci/data/repo/grafana/grafana/github-app
kind : secret
name : github-app-app-id
---
get :
name : app-installation-id
path : ci/data/repo/grafana/grafana/github-app
kind : secret
name : github-app-installation-id
---
get :
name : private-key
path : ci/data/repo/grafana/grafana/github-app
kind : secret
name : github-app-private-key
---
2023-07-21 21:53:57 +08:00
get :
name : credentials.json
path : infra/data/ci/grafana-release-eng/grafanauploads
kind : secret
name : gcp_grafanauploads
---
get :
name : credentials_base64
path : infra/data/ci/grafana-release-eng/grafanauploads
kind : secret
name : gcp_grafanauploads_base64
---
2023-07-20 04:40:03 +08:00
get :
2023-08-29 22:21:44 +08:00
name : api_key
path : infra/data/ci/grafana-release-eng/grafanacom
2023-07-20 04:40:03 +08:00
kind : secret
name : grafana_api_key
---
2021-05-12 21:30:05 +08:00
get :
name : .dockerconfigjson
2021-10-14 22:02:45 +08:00
path : secret/data/common/gcr
2021-05-12 21:30:05 +08:00
kind : secret
2024-01-20 01:29:49 +08:00
name : gcr
---
get :
name : .dockerconfigjson
path : secret/data/common/gar
kind : secret
name : gar
2021-10-14 22:02:45 +08:00
---
2021-06-10 18:22:03 +08:00
get :
name : machine-user-token
2021-10-14 22:02:45 +08:00
path : infra/data/ci/drone
kind : secret
name : drone_token
2021-08-02 21:35:49 +08:00
---
2021-11-30 18:53:07 +08:00
get :
name : bucket
path : infra/data/ci/grafana/prerelease
kind : secret
name : prerelease_bucket
---
2023-09-08 00:26:43 +08:00
get :
name : username
2025-05-01 22:32:35 +08:00
path : ci/data/common/dockerhub
2023-09-08 00:26:43 +08:00
kind : secret
name : docker_username
---
get :
name : password
2025-05-01 22:32:35 +08:00
path : ci/data/common/dockerhub
2023-09-08 00:26:43 +08:00
kind : secret
name : docker_password
---
2021-12-24 17:43:32 +08:00
get :
name : credentials.json
path : infra/data/ci/grafana/releng/artifacts-uploader-service-account
kind : secret
name : gcp_upload_artifacts_key
---
2023-07-11 19:08:05 +08:00
get :
name : credentials.json
path : infra/data/ci/grafana/assets-downloader-build-container-service-account
kind : secret
name : gcp_download_build_container_assets_key
---
2022-11-08 18:27:54 +08:00
get :
name : application_id
path : infra/data/ci/datasources/cpp-azure-resourcemanager-credentials
kind : secret
name : azure_sp_app_id
---
get :
name : application_secret
path : infra/data/ci/datasources/cpp-azure-resourcemanager-credentials
kind : secret
name : azure_sp_app_pw
---
get :
name : tenant_id
path : infra/data/ci/datasources/cpp-azure-resourcemanager-credentials
kind : secret
name : azure_tenant
---
2023-08-17 22:43:26 +08:00
get :
name : token
path : infra/data/ci/grafana-release-eng/npm
kind : secret
name : npm_token
---
2022-09-01 19:13:44 +08:00
get :
2023-01-20 06:03:19 +08:00
name : public-key-b64
2022-09-01 19:13:44 +08:00
path : infra/data/ci/packages-publish/gpg
kind : secret
name : packages_gpg_public_key
---
get :
2023-01-20 06:03:19 +08:00
name : private-key-b64
2022-09-01 19:13:44 +08:00
path : infra/data/ci/packages-publish/gpg
kind : secret
name : packages_gpg_private_key
---
get :
name : passphrase
path : infra/data/ci/packages-publish/gpg
kind : secret
name : packages_gpg_passphrase
---
get :
name : credentials.json
path : infra/data/ci/packages-publish/service-account
kind : secret
name : packages_service_account
---
get :
name : AccessID
path : infra/data/ci/packages-publish/bucket-credentials
kind : secret
name : packages_access_key_id
---
get :
name : Secret
path : infra/data/ci/packages-publish/bucket-credentials
kind : secret
name : packages_secret_access_key
---
2023-03-09 21:07:42 +08:00
get :
name : static_asset_editions
path : infra/data/ci/grafana-release-eng/artifact-publishing
kind : secret
name : static_asset_editions
---
2023-05-04 02:56:02 +08:00
get :
2023-07-28 22:58:22 +08:00
name : gcp_service_account_prod_base64
2023-05-04 02:56:02 +08:00
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : gcp_key_base64
---
get :
2023-07-28 22:58:22 +08:00
name : destination_prod
2023-05-04 02:56:02 +08:00
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : destination
---
2023-10-05 00:55:43 +08:00
get :
name : storybook_destination
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : rgm_storybook_destination
---
get :
name : cdn_destination
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : rgm_cdn_destination
---
get :
name : downloads_destination
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : rgm_downloads_destination
---
2023-05-18 01:19:53 +08:00
get :
name : dagger_token
path : infra/data/ci/grafana-release-eng/rgm
kind : secret
name : dagger_token
---
2023-05-15 21:33:31 +08:00
get :
2025-05-03 00:55:23 +08:00
name : PRIVATE_KEY
path : ci/data/repo/grafana/grafana/delivery-bot-app
2023-05-15 21:33:31 +08:00
kind : secret
name : delivery-bot-app-private-key
---
2023-08-28 19:52:08 +08:00
get :
name : service-account
path : secret/data/common/gcr
kind : secret
name : gcr_credentials
2024-05-08 21:01:17 +08:00
---
kind : signature
2025-08-07 16:28:03 +08:00
hmac : e7227aeb1bbea13606266ce540b5f0e0a63f05f56a3eb072954d54527dcc5a11
2024-05-08 21:01:17 +08:00
...