Commit 4de78406 by Agnès Toulet Committed by GitHub

Drone: Update pipelines for Enterprise (#29939)

* update E2E tests

* fix e2e tests for new pipelines

* Add enterprise2 test, build, package and upload steps

* fix missing linting step

* Upgrade build pipeline tool

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use grabpl lint-backend

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor publishing

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor package publishing

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Supply --simulate-release flag to publish-packages for simulating a release

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Run e2e tests with specific ports

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* e2e/start-server: Make more robust

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
parent 551f9608
...@@ -17,7 +17,7 @@ steps: ...@@ -17,7 +17,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz - curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
...@@ -30,12 +30,7 @@ steps: ...@@ -30,12 +30,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -126,6 +121,8 @@ steps: ...@@ -126,6 +121,8 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PORT: 3001
depends_on: depends_on:
- package - package
...@@ -133,7 +130,7 @@ steps: ...@@ -133,7 +130,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -254,7 +251,7 @@ steps: ...@@ -254,7 +251,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz - curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
...@@ -279,12 +276,7 @@ steps: ...@@ -279,12 +276,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -400,6 +392,8 @@ steps: ...@@ -400,6 +392,8 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PORT: 3001
depends_on: depends_on:
- package - package
...@@ -407,7 +401,7 @@ steps: ...@@ -407,7 +401,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -571,7 +565,7 @@ steps: ...@@ -571,7 +565,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone - .\grabpl.exe verify-drone
- name: build-windows-installer - name: build-windows-installer
...@@ -621,13 +615,13 @@ steps: ...@@ -621,13 +615,13 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
environment: environment:
DOCKERIZE_VERSION: 0.6.1 DOCKERIZE_VERSION: 0.6.1
- name: publish-packages - name: publish-packages-oss
image: grafana/grafana-ci-deploy:1.2.7 image: grafana/grafana-ci-deploy:1.2.7
commands: commands:
- printenv GCP_KEY | base64 -d > /tmp/gcpkey.json - printenv GCP_KEY | base64 -d > /tmp/gcpkey.json
...@@ -706,7 +700,7 @@ steps: ...@@ -706,7 +700,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- ./bin/grabpl verify-version ${DRONE_TAG} - ./bin/grabpl verify-version ${DRONE_TAG}
...@@ -720,12 +714,7 @@ steps: ...@@ -720,12 +714,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -833,6 +822,8 @@ steps: ...@@ -833,6 +822,8 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PORT: 3001
depends_on: depends_on:
- package - package
...@@ -840,7 +831,7 @@ steps: ...@@ -840,7 +831,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -996,7 +987,7 @@ steps: ...@@ -996,7 +987,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone - .\grabpl.exe verify-drone
- name: build-windows-installer - name: build-windows-installer
...@@ -1047,7 +1038,7 @@ steps: ...@@ -1047,7 +1038,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git" - git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
...@@ -1079,12 +1070,7 @@ steps: ...@@ -1079,12 +1070,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -1192,6 +1178,10 @@ steps: ...@@ -1192,6 +1178,10 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise-*linux-amd64.tar.gz
PORT: 3001
RUNDIR: e2e/tmp-grafana-enterprise
depends_on: depends_on:
- package - package
...@@ -1199,7 +1189,7 @@ steps: ...@@ -1199,7 +1189,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -1281,6 +1271,97 @@ steps: ...@@ -1281,6 +1271,97 @@ steps:
- mysql-integration-tests - mysql-integration-tests
- postgres-integration-tests - postgres-integration-tests
- name: lint-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl lint-backend --build-tags=enterprise2
environment:
CGO_ENABLED: 1
depends_on:
- initialize
- name: test-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1"
- ./bin/grabpl test-backend --build-tags enterprise2
- ./bin/grabpl integration-tests --build-tags enterprise2
depends_on:
- initialize
- lint-backend-enterprise2
- name: build-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl build-backend --jobs 8 --edition enterprise --build-tags enterprise2 --github-token $${GITHUB_TOKEN} --no-pull-enterprise ${DRONE_TAG}
environment:
GITHUB_TOKEN:
from_secret: github_token
depends_on:
- initialize
- lint-backend-enterprise2
- test-backend-enterprise2
- name: package-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl package --jobs 8 --edition enterprise --build-tags enterprise2 --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign ${DRONE_TAG}
environment:
GITHUB_TOKEN:
from_secret: github_token
GPG_KEY_PASSWORD:
from_secret: gpg_key_password
GPG_PRIV_KEY:
from_secret: gpg_priv_key
GPG_PUB_KEY:
from_secret: gpg_pub_key
GRAFANA_API_KEY:
from_secret: grafana_api_key
depends_on:
- build-backend-enterprise2
- build-frontend
- build-plugins
- test-backend-enterprise2
- test-frontend
- codespell
- shellcheck
- check-dashboard-schemas
- name: end-to-end-tests-server-enterprise2
image: grafana/build-container:1.3.0
detach: true
commands:
- ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise2-*linux-amd64.tar.gz
PORT: 3002
RUNDIR: e2e/tmp-grafana-enterprise2
depends_on:
- package-enterprise2
- name: end-to-end-tests-enterprise2
image: grafana/ci-e2e:12.19.0-1
commands:
- ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests --port 3002
environment:
HOST: end-to-end-tests-server-enterprise2
depends_on:
- end-to-end-tests-server-enterprise2
- name: upload-packages-enterprise2
image: grafana/grafana-ci-deploy:1.2.7
commands:
- ./bin/grabpl upload-packages --edition enterprise --build-tags enterprise2 --packages-bucket grafana-downloads-enterprise2
environment:
GCP_GRAFANA_UPLOAD_KEY:
from_secret: gcp_key
depends_on:
- package-enterprise2
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
services: services:
- name: postgres - name: postgres
image: postgres:12.3-alpine image: postgres:12.3-alpine
...@@ -1324,7 +1405,7 @@ steps: ...@@ -1324,7 +1405,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git" - git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
- git checkout ${DRONE_TAG} - git checkout ${DRONE_TAG}
...@@ -1390,7 +1471,7 @@ steps: ...@@ -1390,7 +1471,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- ./bin/grabpl verify-version ${DRONE_TAG} - ./bin/grabpl verify-version ${DRONE_TAG}
...@@ -1495,7 +1576,7 @@ steps: ...@@ -1495,7 +1576,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- ./bin/grabpl verify-version v7.3.0-test - ./bin/grabpl verify-version v7.3.0-test
...@@ -1509,12 +1590,7 @@ steps: ...@@ -1509,12 +1590,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -1622,6 +1698,8 @@ steps: ...@@ -1622,6 +1698,8 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PORT: 3001
depends_on: depends_on:
- package - package
...@@ -1629,7 +1707,7 @@ steps: ...@@ -1629,7 +1707,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -1705,7 +1783,7 @@ steps: ...@@ -1705,7 +1783,7 @@ steps:
- name: upload-packages - name: upload-packages
image: grafana/grafana-ci-deploy:1.2.7 image: grafana/grafana-ci-deploy:1.2.7
commands: commands:
- ./bin/grabpl upload-packages --edition oss --deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket grafana-downloads-test --rpm-repo-bucket grafana-testing-repo - ./bin/grabpl upload-packages --edition oss --packages-bucket grafana-downloads-test
environment: environment:
GCP_GRAFANA_UPLOAD_KEY: GCP_GRAFANA_UPLOAD_KEY:
from_secret: gcp_key from_secret: gcp_key
...@@ -1774,7 +1852,7 @@ steps: ...@@ -1774,7 +1852,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone - .\grabpl.exe verify-drone
- name: build-windows-installer - name: build-windows-installer
...@@ -1825,7 +1903,7 @@ steps: ...@@ -1825,7 +1903,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git" - git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
...@@ -1857,12 +1935,7 @@ steps: ...@@ -1857,12 +1935,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -1970,6 +2043,10 @@ steps: ...@@ -1970,6 +2043,10 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise-*linux-amd64.tar.gz
PORT: 3001
RUNDIR: e2e/tmp-grafana-enterprise
depends_on: depends_on:
- package - package
...@@ -1977,7 +2054,7 @@ steps: ...@@ -1977,7 +2054,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -2043,7 +2120,7 @@ steps: ...@@ -2043,7 +2120,7 @@ steps:
- name: upload-packages - name: upload-packages
image: grafana/grafana-ci-deploy:1.2.7 image: grafana/grafana-ci-deploy:1.2.7
commands: commands:
- ./bin/grabpl upload-packages --edition enterprise --deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket grafana-downloads-test --rpm-repo-bucket grafana-testing-repo - ./bin/grabpl upload-packages --edition enterprise --packages-bucket grafana-downloads-test
environment: environment:
GCP_GRAFANA_UPLOAD_KEY: GCP_GRAFANA_UPLOAD_KEY:
from_secret: gcp_key from_secret: gcp_key
...@@ -2053,6 +2130,97 @@ steps: ...@@ -2053,6 +2130,97 @@ steps:
- mysql-integration-tests - mysql-integration-tests
- postgres-integration-tests - postgres-integration-tests
- name: lint-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl lint-backend --build-tags=enterprise2
environment:
CGO_ENABLED: 1
depends_on:
- initialize
- name: test-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1"
- ./bin/grabpl test-backend --build-tags enterprise2
- ./bin/grabpl integration-tests --build-tags enterprise2
depends_on:
- initialize
- lint-backend-enterprise2
- name: build-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl build-backend --jobs 8 --edition enterprise --build-tags enterprise2 --github-token $${GITHUB_TOKEN} --no-pull-enterprise v7.3.0-test
environment:
GITHUB_TOKEN:
from_secret: github_token
depends_on:
- initialize
- lint-backend-enterprise2
- test-backend-enterprise2
- name: package-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl package --jobs 8 --edition enterprise --build-tags enterprise2 --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign v7.3.0-test
environment:
GITHUB_TOKEN:
from_secret: github_token
GPG_KEY_PASSWORD:
from_secret: gpg_key_password
GPG_PRIV_KEY:
from_secret: gpg_priv_key
GPG_PUB_KEY:
from_secret: gpg_pub_key
GRAFANA_API_KEY:
from_secret: grafana_api_key
depends_on:
- build-backend-enterprise2
- build-frontend
- build-plugins
- test-backend-enterprise2
- test-frontend
- codespell
- shellcheck
- check-dashboard-schemas
- name: end-to-end-tests-server-enterprise2
image: grafana/build-container:1.3.0
detach: true
commands:
- ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise2-*linux-amd64.tar.gz
PORT: 3002
RUNDIR: e2e/tmp-grafana-enterprise2
depends_on:
- package-enterprise2
- name: end-to-end-tests-enterprise2
image: grafana/ci-e2e:12.19.0-1
commands:
- ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests --port 3002
environment:
HOST: end-to-end-tests-server-enterprise2
depends_on:
- end-to-end-tests-server-enterprise2
- name: upload-packages-enterprise2
image: grafana/grafana-ci-deploy:1.2.7
commands:
- ./bin/grabpl upload-packages --edition enterprise --build-tags enterprise2 --packages-bucket grafana-downloads-test
environment:
GCP_GRAFANA_UPLOAD_KEY:
from_secret: gcp_key
depends_on:
- package-enterprise2
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
services: services:
- name: postgres - name: postgres
image: postgres:12.3-alpine image: postgres:12.3-alpine
...@@ -2096,7 +2264,7 @@ steps: ...@@ -2096,7 +2264,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git" - git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
- git checkout master - git checkout master
...@@ -2162,7 +2330,7 @@ steps: ...@@ -2162,7 +2330,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- ./bin/grabpl verify-version v7.3.0-test - ./bin/grabpl verify-version v7.3.0-test
...@@ -2172,8 +2340,17 @@ steps: ...@@ -2172,8 +2340,17 @@ steps:
- name: publish-packages-oss - name: publish-packages-oss
image: grafana/grafana-ci-deploy:1.2.7 image: grafana/grafana-ci-deploy:1.2.7
commands: commands:
- ./bin/grabpl publish-packages --edition oss --dry-run v7.3.0-test - printenv GCP_KEY | base64 -d > /tmp/gcpkey.json
- ./bin/grabpl publish-packages --edition oss --gcp-key /tmp/gcpkey.json --deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release v7.3.0-test
environment: environment:
GCP_KEY:
from_secret: gcp_key
GPG_KEY_PASSWORD:
from_secret: gpg_key_password
GPG_PRIV_KEY:
from_secret: gpg_priv_key
GPG_PUB_KEY:
from_secret: gpg_pub_key
GRAFANA_COM_API_KEY: GRAFANA_COM_API_KEY:
from_secret: grafana_api_key from_secret: grafana_api_key
depends_on: depends_on:
...@@ -2182,8 +2359,17 @@ steps: ...@@ -2182,8 +2359,17 @@ steps:
- name: publish-packages-enterprise - name: publish-packages-enterprise
image: grafana/grafana-ci-deploy:1.2.7 image: grafana/grafana-ci-deploy:1.2.7
commands: commands:
- ./bin/grabpl publish-packages --edition enterprise --dry-run v7.3.0-test - printenv GCP_KEY | base64 -d > /tmp/gcpkey.json
- ./bin/grabpl publish-packages --edition enterprise --gcp-key /tmp/gcpkey.json --deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release v7.3.0-test
environment: environment:
GCP_KEY:
from_secret: gcp_key
GPG_KEY_PASSWORD:
from_secret: gpg_key_password
GPG_PRIV_KEY:
from_secret: gpg_priv_key
GPG_PUB_KEY:
from_secret: gpg_pub_key
GRAFANA_COM_API_KEY: GRAFANA_COM_API_KEY:
from_secret: grafana_api_key from_secret: grafana_api_key
depends_on: depends_on:
...@@ -2249,7 +2435,7 @@ steps: ...@@ -2249,7 +2435,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- ./bin/grabpl verify-drone - ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz - curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
...@@ -2262,12 +2448,7 @@ steps: ...@@ -2262,12 +2448,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -2372,6 +2553,8 @@ steps: ...@@ -2372,6 +2553,8 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PORT: 3001
depends_on: depends_on:
- package - package
...@@ -2379,7 +2562,7 @@ steps: ...@@ -2379,7 +2562,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -2505,7 +2688,7 @@ steps: ...@@ -2505,7 +2688,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone - .\grabpl.exe verify-drone
- name: build-windows-installer - name: build-windows-installer
...@@ -2552,7 +2735,7 @@ steps: ...@@ -2552,7 +2735,7 @@ steps:
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/grabpl
- chmod +x bin/grabpl - chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git" - git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
...@@ -2583,12 +2766,7 @@ steps: ...@@ -2583,12 +2766,7 @@ steps:
- name: lint-backend - name: lint-backend
image: grafana/build-container:1.3.0 image: grafana/build-container:1.3.0
commands: commands:
- golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - ./bin/grabpl lint-backend
- revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...
- ./scripts/revive-strict
- ./scripts/tidy-check.sh
- ./grafana-mixin/scripts/lint.sh
- ./grafana-mixin/scripts/build.sh
environment: environment:
CGO_ENABLED: 1 CGO_ENABLED: 1
depends_on: depends_on:
...@@ -2693,6 +2871,10 @@ steps: ...@@ -2693,6 +2871,10 @@ steps:
detach: true detach: true
commands: commands:
- ./e2e/start-server - ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise-*linux-amd64.tar.gz
PORT: 3001
RUNDIR: e2e/tmp-grafana-enterprise
depends_on: depends_on:
- package - package
...@@ -2700,7 +2882,7 @@ steps: ...@@ -2700,7 +2882,7 @@ steps:
image: grafana/ci-e2e:12.19.0-1 image: grafana/ci-e2e:12.19.0-1
commands: commands:
- ./node_modules/.bin/cypress install - ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests - ./bin/grabpl e2e-tests --port 3001
environment: environment:
HOST: end-to-end-tests-server HOST: end-to-end-tests-server
depends_on: depends_on:
...@@ -2786,6 +2968,94 @@ steps: ...@@ -2786,6 +2968,94 @@ steps:
- mysql-integration-tests - mysql-integration-tests
- postgres-integration-tests - postgres-integration-tests
- name: lint-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl lint-backend --build-tags=enterprise2
environment:
CGO_ENABLED: 1
depends_on:
- initialize
- name: test-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1"
- ./bin/grabpl test-backend --build-tags enterprise2
- ./bin/grabpl integration-tests --build-tags enterprise2
depends_on:
- initialize
- lint-backend-enterprise2
- name: build-backend-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl build-backend --jobs 8 --edition enterprise --build-tags enterprise2 --build-id ${DRONE_BUILD_NUMBER} --variants linux-x64 --no-pull-enterprise
depends_on:
- initialize
- lint-backend-enterprise2
- test-backend-enterprise2
- name: package-enterprise2
image: grafana/build-container:1.3.0
commands:
- ./bin/grabpl package --jobs 8 --edition enterprise --build-tags enterprise2 --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise --variants linux-x64 --sign
environment:
GITHUB_TOKEN:
from_secret: github_token
GPG_KEY_PASSWORD:
from_secret: gpg_key_password
GPG_PRIV_KEY:
from_secret: gpg_priv_key
GPG_PUB_KEY:
from_secret: gpg_pub_key
GRAFANA_API_KEY:
from_secret: grafana_api_key
depends_on:
- build-backend-enterprise2
- build-frontend
- build-plugins
- test-backend-enterprise2
- test-frontend
- codespell
- shellcheck
- check-dashboard-schemas
- name: end-to-end-tests-server-enterprise2
image: grafana/build-container:1.3.0
detach: true
commands:
- ./e2e/start-server
environment:
PACKAGE_FILE: dist/grafana-enterprise2-*linux-amd64.tar.gz
PORT: 3002
RUNDIR: e2e/tmp-grafana-enterprise2
depends_on:
- package-enterprise2
- name: end-to-end-tests-enterprise2
image: grafana/ci-e2e:12.19.0-1
commands:
- ./node_modules/.bin/cypress install
- ./bin/grabpl e2e-tests --port 3002
environment:
HOST: end-to-end-tests-server-enterprise2
depends_on:
- end-to-end-tests-server-enterprise2
- name: upload-packages-enterprise2
image: grafana/grafana-ci-deploy:1.2.7
commands:
- ./bin/grabpl upload-packages --edition enterprise --build-tags enterprise2 --packages-bucket grafana-downloads-enterprise2
environment:
GCP_GRAFANA_UPLOAD_KEY:
from_secret: gcp_key
depends_on:
- package-enterprise2
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
services: services:
- name: postgres - name: postgres
image: postgres:12.3-alpine image: postgres:12.3-alpine
...@@ -2829,7 +3099,7 @@ steps: ...@@ -2829,7 +3099,7 @@ steps:
image: grafana/ci-wix:0.1.1 image: grafana/ci-wix:0.1.1
commands: commands:
- $$ProgressPreference = "SilentlyContinue" - $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.29/windows/grabpl.exe -OutFile grabpl.exe - Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.30/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git" - git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise - cd grafana-enterprise
- git checkout $$env:DRONE_BRANCH - git checkout $$env:DRONE_BRANCH
......
...@@ -4,6 +4,7 @@ set -eo pipefail ...@@ -4,6 +4,7 @@ set -eo pipefail
. e2e/variables . e2e/variables
PORT=${PORT:-$DEFAULT_PORT} PORT=${PORT:-$DEFAULT_PORT}
PACKAGE_FILE=${PACKAGE_FILE:-$DEFAULT_PACKAGE_FILE}
./e2e/kill-server ./e2e/kill-server
...@@ -11,12 +12,20 @@ mkdir $RUNDIR ...@@ -11,12 +12,20 @@ mkdir $RUNDIR
echo -e "Copying grafana backend files to temp dir..." echo -e "Copying grafana backend files to temp dir..."
if [ -f $PACKAGE_FILE ]; then # Expand any wildcards
echo "Found package tar file, extracting..." pkgs=(${PACKAGE_FILE})
tar zxf $PACKAGE_FILE -C $RUNDIR pkg=${pkgs[0]}
if [[ -f ${pkg} ]]; then
echo "Found package tar file ${pkg}, extracting..."
tar zxf ${pkg} -C $RUNDIR
mv $RUNDIR/grafana-*/* $RUNDIR mv $RUNDIR/grafana-*/* $RUNDIR
else else
echo "Copying local dev files" echo "Couldn't find package ${PACKAGE_FILE} - copying local dev files"
if [[ ! -f bin/grafana-server ]]; then
echo bin/grafana-server missing
exit 1
fi
cp -r ./bin $RUNDIR cp -r ./bin $RUNDIR
cp -r ./public $RUNDIR cp -r ./public $RUNDIR
......
#!/bin/bash #!/bin/bash
RUNDIR=e2e/tmp DEFAULT_RUNDIR=e2e/tmp
RUNDIR=${RUNDIR:-$DEFAULT_RUNDIR}
PIDFILE=$RUNDIR/pid PIDFILE=$RUNDIR/pid
PACKAGE_FILE=dist/grafana-*linux-amd64.tar.gz DEFAULT_PACKAGE_FILE=dist/grafana-*linux-amd64.tar.gz
PROV_DIR=$RUNDIR/conf/provisioning PROV_DIR=$RUNDIR/conf/provisioning
DEFAULT_HOST=localhost DEFAULT_HOST=localhost
DEFAULT_PORT=3001 DEFAULT_PORT=3001
......
grabpl_version = '0.5.29' grabpl_version = '0.5.30'
build_image = 'grafana/build-container:1.3.0' build_image = 'grafana/build-container:1.3.0'
publish_image = 'grafana/grafana-ci-deploy:1.2.7' publish_image = 'grafana/grafana-ci-deploy:1.2.7'
grafana_docker_image = 'grafana/drone-grafana-docker:0.3.2' grafana_docker_image = 'grafana/drone-grafana-docker:0.3.2'
...@@ -205,9 +205,15 @@ def enterprise_downstream_step(edition): ...@@ -205,9 +205,15 @@ def enterprise_downstream_step(edition):
}, },
} }
def lint_backend_step(edition): def lint_backend_step(edition, build_tags=None):
sfx = ''
build_tags_str = ''
if build_tags:
sfx = '-' + '-'.join(build_tags)
build_tags_str += ' --build-tags={}'.format(','.join(build_tags))
return { return {
'name': 'lint-backend', 'name': 'lint-backend' + sfx,
'image': build_image, 'image': build_image,
'environment': { 'environment': {
# We need CGO because of go-sqlite3 # We need CGO because of go-sqlite3
...@@ -218,12 +224,7 @@ def lint_backend_step(edition): ...@@ -218,12 +224,7 @@ def lint_backend_step(edition):
], ],
'commands': [ 'commands': [
# Don't use Make since it will re-download the linters # Don't use Make since it will re-download the linters
'golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/...', './bin/grabpl lint-backend{}'.format(build_tags_str),
'revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...',
'./scripts/revive-strict',
'./scripts/tidy-check.sh',
'./grafana-mixin/scripts/lint.sh',
'./grafana-mixin/scripts/build.sh',
], ],
} }
...@@ -311,11 +312,16 @@ def publish_storybook_step(edition, ver_mode): ...@@ -311,11 +312,16 @@ def publish_storybook_step(edition, ver_mode):
'commands': commands, 'commands': commands,
} }
def build_backend_step(edition, ver_mode, variants=None, is_downstream=False): def build_backend_step(edition, ver_mode, variants=None, is_downstream=False, build_tags=None):
variants_str = ''
if variants: if variants:
variants_str = ' --variants {}'.format(','.join(variants)) variants_str = ' --variants {}'.format(','.join(variants))
else:
variants_str = '' build_tags_str = ''
sfx = ''
if build_tags:
build_tags_str = ' --build-tags {}'.format(','.join(build_tags))
sfx = '-' + '-'.join(build_tags)
# TODO: Convert number of jobs to percentage # TODO: Convert number of jobs to percentage
if ver_mode == 'release': if ver_mode == 'release':
...@@ -325,8 +331,8 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -325,8 +331,8 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False):
}, },
} }
cmds = [ cmds = [
'./bin/grabpl build-backend --jobs 8 --edition {} --github-token $${{GITHUB_TOKEN}} --no-pull-enterprise ${{DRONE_TAG}}'.format( './bin/grabpl build-backend --jobs 8 --edition {}{} --github-token $${{GITHUB_TOKEN}} --no-pull-enterprise ${{DRONE_TAG}}'.format(
edition, edition, build_tags_str,
), ),
] ]
elif ver_mode == 'test-release': elif ver_mode == 'test-release':
...@@ -336,8 +342,8 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -336,8 +342,8 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False):
}, },
} }
cmds = [ cmds = [
'./bin/grabpl build-backend --jobs 8 --edition {} --github-token $${{GITHUB_TOKEN}} --no-pull-enterprise {}'.format( './bin/grabpl build-backend --jobs 8 --edition {}{} --github-token $${{GITHUB_TOKEN}} --no-pull-enterprise {}'.format(
edition, test_release_ver, edition, build_tags_str, test_release_ver,
), ),
] ]
else: else:
...@@ -347,18 +353,18 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -347,18 +353,18 @@ def build_backend_step(edition, ver_mode, variants=None, is_downstream=False):
build_no = '$${SOURCE_BUILD_NUMBER}' build_no = '$${SOURCE_BUILD_NUMBER}'
env = {} env = {}
cmds = [ cmds = [
'./bin/grabpl build-backend --jobs 8 --edition {} --build-id {}{} --no-pull-enterprise'.format( './bin/grabpl build-backend --jobs 8 --edition {}{} --build-id {}{} --no-pull-enterprise'.format(
edition, build_no, variants_str, edition, build_tags_str, build_no, variants_str,
), ),
] ]
return { return {
'name': 'build-backend', 'name': 'build-backend' + sfx,
'image': build_image, 'image': build_image,
'depends_on': [ 'depends_on': [
'initialize', 'initialize',
'lint-backend', 'lint-backend' + sfx,
'test-backend', 'test-backend' + sfx,
], ],
'environment': env, 'environment': env,
'commands': cmds, 'commands': cmds,
...@@ -434,21 +440,27 @@ def build_plugins_step(edition, sign=False): ...@@ -434,21 +440,27 @@ def build_plugins_step(edition, sign=False):
], ],
} }
def test_backend_step(): def test_backend_step(build_tags=None):
sfx = ''
build_tags_str = ''
if build_tags:
sfx = '-' + '-'.join(build_tags)
build_tags_str = ' --build-tags {}'.format(','.join(build_tags))
return { return {
'name': 'test-backend', 'name': 'test-backend' + sfx,
'image': build_image, 'image': build_image,
'depends_on': [ 'depends_on': [
'initialize', 'initialize',
'lint-backend', 'lint-backend' + sfx,
], ],
'commands': [ 'commands': [
# First make sure that there are no tests with FocusConvey # First make sure that there are no tests with FocusConvey
'[ $(grep FocusConvey -R pkg | wc -l) -eq "0" ] || exit 1', '[ $(grep FocusConvey -R pkg | wc -l) -eq "0" ] || exit 1',
# Then execute non-integration tests in parallel, since it should be safe # Then execute non-integration tests in parallel, since it should be safe
'./bin/grabpl test-backend', './bin/grabpl test-backend{}'.format(build_tags_str),
# Then execute integration tests in serial # Then execute integration tests in serial
'./bin/grabpl integration-tests', './bin/grabpl integration-tests{}'.format(build_tags_str),
], ],
} }
...@@ -527,11 +539,17 @@ def dashboard_schemas_check(): ...@@ -527,11 +539,17 @@ def dashboard_schemas_check():
], ],
} }
def package_step(edition, ver_mode, variants=None, is_downstream=False): def package_step(edition, ver_mode, variants=None, is_downstream=False, build_tags=None):
variants_str = ''
if variants: if variants:
variants_str = ' --variants {}'.format(','.join(variants)) variants_str = ' --variants {}'.format(','.join(variants))
else:
variants_str = '' build_tags_str = ''
sfx = ''
if build_tags:
build_tags_str = ' --build-tags {}'.format(','.join(build_tags))
sfx = '-' + '-'.join(build_tags)
if ver_mode in ('master', 'release', 'test-release', 'release-branch'): if ver_mode in ('master', 'release', 'test-release', 'release-branch'):
sign_args = ' --sign' sign_args = ' --sign'
env = { env = {
...@@ -560,14 +578,14 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -560,14 +578,14 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False):
# TODO: Use percentage for jobs # TODO: Use percentage for jobs
if ver_mode == 'release': if ver_mode == 'release':
cmds = [ cmds = [
'{}./bin/grabpl package --jobs 8 --edition {} '.format(test_args, edition) + \ '{}./bin/grabpl package --jobs 8 --edition {}{} '.format(test_args, edition, build_tags_str) + \
'--github-token $${{GITHUB_TOKEN}} --no-pull-enterprise{} ${{DRONE_TAG}}'.format( '--github-token $${{GITHUB_TOKEN}} --no-pull-enterprise{} ${{DRONE_TAG}}'.format(
sign_args sign_args
), ),
] ]
elif ver_mode == 'test-release': elif ver_mode == 'test-release':
cmds = [ cmds = [
'{}./bin/grabpl package --jobs 8 --edition {} '.format(test_args, edition) + \ '{}./bin/grabpl package --jobs 8 --edition {}{} '.format(test_args, edition, build_tags_str) + \
'--github-token $${{GITHUB_TOKEN}} --no-pull-enterprise{} {}'.format( '--github-token $${{GITHUB_TOKEN}} --no-pull-enterprise{} {}'.format(
sign_args, test_release_ver, sign_args, test_release_ver,
), ),
...@@ -578,18 +596,18 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -578,18 +596,18 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False):
else: else:
build_no = '$${SOURCE_BUILD_NUMBER}' build_no = '$${SOURCE_BUILD_NUMBER}'
cmds = [ cmds = [
'{}./bin/grabpl package --jobs 8 --edition {} '.format(test_args, edition) + \ '{}./bin/grabpl package --jobs 8 --edition {}{} '.format(test_args, edition, build_tags_str) + \
'--build-id {} --no-pull-enterprise{}{}'.format(build_no, variants_str, sign_args), '--build-id {} --no-pull-enterprise{}{}'.format(build_no, variants_str, sign_args),
] ]
return { return {
'name': 'package', 'name': 'package' + sfx,
'image': build_image, 'image': build_image,
'depends_on': [ 'depends_on': [
'build-backend', 'build-backend' + sfx,
'build-frontend', 'build-frontend',
'build-plugins', 'build-plugins',
'test-backend', 'test-backend' + sfx,
'test-frontend', 'test-frontend',
'codespell', 'codespell',
'shellcheck', 'shellcheck',
...@@ -599,34 +617,54 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False): ...@@ -599,34 +617,54 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False):
'commands': cmds, 'commands': cmds,
} }
def e2e_tests_server_step(): def e2e_tests_server_step(edition, build_tags=None, port=3001):
sfx = ''
package_file_pfx = ''
if build_tags:
sfx = '-' + '-'.join(build_tags)
package_file_pfx = 'grafana' + sfx
elif edition == 'enterprise':
package_file_pfx = 'grafana-' + edition
environment = {
'PORT': port,
}
if package_file_pfx:
environment['PACKAGE_FILE'] = 'dist/{}-*linux-amd64.tar.gz'.format(package_file_pfx)
environment['RUNDIR'] = 'e2e/tmp-{}'.format(package_file_pfx)
return { return {
'name': 'end-to-end-tests-server', 'name': 'end-to-end-tests-server' + sfx,
'image': build_image, 'image': build_image,
'detach': True, 'detach': True,
'depends_on': [ 'depends_on': [
'package', 'package' + sfx,
], ],
'environment': environment,
'commands': [ 'commands': [
'./e2e/start-server', './e2e/start-server',
], ],
} }
def e2e_tests_step(): def e2e_tests_step(build_tags=None, port=3001):
sfx = ''
if build_tags:
sfx = '-' + '-'.join(build_tags)
return { return {
'name': 'end-to-end-tests', 'name': 'end-to-end-tests' + sfx,
'image': 'grafana/ci-e2e:12.19.0-1', 'image': 'grafana/ci-e2e:12.19.0-1',
'depends_on': [ 'depends_on': [
'end-to-end-tests-server', 'end-to-end-tests-server' + sfx,
], ],
'environment': { 'environment': {
'HOST': 'end-to-end-tests-server', 'HOST': 'end-to-end-tests-server' + sfx,
}, },
'commands': [ 'commands': [
# Have to re-install Cypress since it insists on searching for its binary beneath /root/.cache, # Have to re-install Cypress since it insists on searching for its binary beneath /root/.cache,
# even though the Yarn cache directory is beneath /usr/local/share somewhere # even though the Yarn cache directory is beneath /usr/local/share somewhere
'./node_modules/.bin/cypress install', './node_modules/.bin/cypress install',
'./bin/grabpl e2e-tests', './bin/grabpl e2e-tests --port {}'.format(port),
], ],
} }
...@@ -776,23 +814,30 @@ def deploy_to_kubernetes_step(edition, is_downstream=False): ...@@ -776,23 +814,30 @@ def deploy_to_kubernetes_step(edition, is_downstream=False):
], ],
} }
def upload_packages_step(edition, ver_mode, is_downstream=False): def upload_packages_step(edition, ver_mode, is_downstream=False, build_tags=None):
if ver_mode == 'master' and edition == 'enterprise' and not is_downstream: if ver_mode == 'master' and edition == 'enterprise' and not is_downstream:
return None return None
build_tags_str = ''
sfx = ''
packages_bucket = ''
if build_tags:
build_tags_str = ' --build-tags {}'.format(','.join(build_tags))
sfx = '-' + '-'.join(build_tags)
packages_bucket = ' --packages-bucket grafana-downloads' + sfx
if ver_mode == 'test-release': if ver_mode == 'test-release':
cmd = './bin/grabpl upload-packages --edition {} '.format(edition) + \ cmd = './bin/grabpl upload-packages --edition {}{} '.format(edition, build_tags_str) + \
'--deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket ' + \ '--packages-bucket grafana-downloads-test'
'grafana-downloads-test --rpm-repo-bucket grafana-testing-repo'
else: else:
cmd = './bin/grabpl upload-packages --edition {}'.format(edition) cmd = './bin/grabpl upload-packages --edition {}{}{}'.format(edition, build_tags_str, packages_bucket)
return { return {
'name': 'upload-packages', 'name': 'upload-packages' + sfx,
'image': publish_image, 'image': publish_image,
'depends_on': [ 'depends_on': [
'package', 'package' + sfx,
'end-to-end-tests', 'end-to-end-tests' + sfx,
'mysql-integration-tests', 'mysql-integration-tests',
'postgres-integration-tests', 'postgres-integration-tests',
], ],
...@@ -804,17 +849,30 @@ def upload_packages_step(edition, ver_mode, is_downstream=False): ...@@ -804,17 +849,30 @@ def upload_packages_step(edition, ver_mode, is_downstream=False):
'commands': [cmd,], 'commands': [cmd,],
} }
def publish_packages_step(edition, is_downstream): def publish_packages_step(edition, ver_mode, is_downstream=False):
if edition == 'enterprise' and not is_downstream: if ver_mode == 'test-release':
return None cmd = './bin/grabpl publish-packages --edition {} --gcp-key /tmp/gcpkey.json '.format(edition) + \
'--deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket ' + \
'grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release {}'.format(
test_release_ver,
)
elif ver_mode == 'release':
cmd = './bin/grabpl publish-packages --edition {} --gcp-key /tmp/gcpkey.json ${{DRONE_TAG}}'.format(
edition,
)
elif ver_mode == 'master':
if not is_downstream: if not is_downstream:
build_no = '${DRONE_BUILD_NUMBER}' build_no = '${DRONE_BUILD_NUMBER}'
else: else:
build_no = '$${SOURCE_BUILD_NUMBER}' build_no = '$${SOURCE_BUILD_NUMBER}'
cmd = './bin/grabpl publish-packages --edition {} --gcp-key /tmp/gcpkey.json --build-id {}'.format(
edition, build_no,
)
else:
fail('Unexpected version mode {}'.format(ver_mode))
return { return {
'name': 'publish-packages', 'name': 'publish-packages-{}'.format(edition),
'image': publish_image, 'image': publish_image,
'depends_on': [ 'depends_on': [
'initialize', 'initialize',
...@@ -838,9 +896,7 @@ def publish_packages_step(edition, is_downstream): ...@@ -838,9 +896,7 @@ def publish_packages_step(edition, is_downstream):
}, },
'commands': [ 'commands': [
'printenv GCP_KEY | base64 -d > /tmp/gcpkey.json', 'printenv GCP_KEY | base64 -d > /tmp/gcpkey.json',
'./bin/grabpl publish-packages --edition {} --gcp-key /tmp/gcpkey.json --build-id {}'.format( cmd,
edition, build_no,
),
], ],
} }
...@@ -879,7 +935,7 @@ def get_windows_steps(edition, ver_mode, is_downstream=False): ...@@ -879,7 +935,7 @@ def get_windows_steps(edition, ver_mode, is_downstream=False):
ver_part = test_release_ver ver_part = test_release_ver
dir = 'release' dir = 'release'
bucket = 'grafana-downloads-test' bucket = 'grafana-downloads-test'
bucket_part = ' --packages-bucket grafana-downloads-test' bucket_part = ' --packages-bucket {}'.format(bucket)
else: else:
dir = 'master' dir = 'master'
if not is_downstream: if not is_downstream:
......
...@@ -38,8 +38,8 @@ ver_mode = 'master' ...@@ -38,8 +38,8 @@ ver_mode = 'master'
def get_steps(edition, is_downstream=False): def get_steps(edition, is_downstream=False):
publish = edition != 'enterprise' or is_downstream publish = edition != 'enterprise' or is_downstream
steps = [ steps = [
enterprise_downstream_step(edition), enterprise_downstream_step(edition=edition),
lint_backend_step(edition), lint_backend_step(edition=edition),
codespell_step(), codespell_step(),
shellcheck_step(), shellcheck_step(),
dashboard_schemas_check(), dashboard_schemas_check(),
...@@ -50,7 +50,7 @@ def get_steps(edition, is_downstream=False): ...@@ -50,7 +50,7 @@ def get_steps(edition, is_downstream=False):
build_frontend_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream), build_frontend_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream),
build_plugins_step(edition=edition, sign=True), build_plugins_step(edition=edition, sign=True),
package_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream), package_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream),
e2e_tests_server_step(), e2e_tests_server_step(edition=edition),
e2e_tests_step(), e2e_tests_step(),
build_storybook_step(edition=edition, ver_mode=ver_mode), build_storybook_step(edition=edition, ver_mode=ver_mode),
publish_storybook_step(edition=edition, ver_mode=ver_mode), publish_storybook_step(edition=edition, ver_mode=ver_mode),
...@@ -64,10 +64,24 @@ def get_steps(edition, is_downstream=False): ...@@ -64,10 +64,24 @@ def get_steps(edition, is_downstream=False):
upload_packages_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream), upload_packages_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream),
deploy_to_kubernetes_step(edition=edition, is_downstream=is_downstream), deploy_to_kubernetes_step(edition=edition, is_downstream=is_downstream),
] ]
windows_steps = get_windows_steps(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream) if edition == 'enterprise':
build_tags = ['enterprise2']
steps.extend([
lint_backend_step(edition=edition, build_tags=build_tags),
test_backend_step(build_tags=build_tags),
build_backend_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], is_downstream=is_downstream, build_tags=build_tags),
package_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], is_downstream=is_downstream, build_tags=build_tags),
e2e_tests_server_step(edition=edition, build_tags=build_tags, port=3002),
e2e_tests_step(build_tags=build_tags, port=3002),
upload_packages_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream, build_tags=build_tags),
])
windows_steps = get_windows_steps(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream)
if edition == 'enterprise' and not is_downstream:
publish_steps = []
else:
publish_steps = [ publish_steps = [
publish_packages_step(edition=edition, is_downstream=is_downstream), publish_packages_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream),
] ]
return steps, windows_steps, publish_steps return steps, windows_steps, publish_steps
......
...@@ -31,7 +31,7 @@ def pr_pipelines(edition): ...@@ -31,7 +31,7 @@ def pr_pipelines(edition):
services = integration_test_services() services = integration_test_services()
variants = ['linux-x64', 'linux-x64-musl', 'osx64', 'win64',] variants = ['linux-x64', 'linux-x64-musl', 'osx64', 'win64',]
steps = [ steps = [
lint_backend_step(edition), lint_backend_step(edition=edition),
codespell_step(), codespell_step(),
shellcheck_step(), shellcheck_step(),
dashboard_schemas_check(), dashboard_schemas_check(),
...@@ -41,7 +41,7 @@ def pr_pipelines(edition): ...@@ -41,7 +41,7 @@ def pr_pipelines(edition):
build_frontend_step(edition=edition, ver_mode=ver_mode), build_frontend_step(edition=edition, ver_mode=ver_mode),
build_plugins_step(edition=edition), build_plugins_step(edition=edition),
package_step(edition=edition, ver_mode=ver_mode, variants=variants), package_step(edition=edition, ver_mode=ver_mode, variants=variants),
e2e_tests_server_step(), e2e_tests_server_step(edition=edition),
e2e_tests_step(), e2e_tests_step(),
build_storybook_step(edition=edition, ver_mode=ver_mode), build_storybook_step(edition=edition, ver_mode=ver_mode),
build_frontend_docs_step(edition=edition), build_frontend_docs_step(edition=edition),
...@@ -54,6 +54,16 @@ def pr_pipelines(edition): ...@@ -54,6 +54,16 @@ def pr_pipelines(edition):
if edition == 'enterprise': if edition == 'enterprise':
steps.append(benchmark_ldap_step()) steps.append(benchmark_ldap_step())
services.append(ldap_service()) services.append(ldap_service())
build_tags = ['enterprise2']
steps.extend([
lint_backend_step(edition=edition, build_tags=build_tags),
test_backend_step(build_tags=build_tags),
build_backend_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], build_tags=build_tags),
package_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], build_tags=build_tags),
e2e_tests_server_step(edition=edition, build_tags=build_tags, port=3002),
e2e_tests_step(build_tags=build_tags, port=3002),
])
trigger = { trigger = {
'event': ['pull_request',], 'event': ['pull_request',],
} }
......
...@@ -29,6 +29,7 @@ load( ...@@ -29,6 +29,7 @@ load(
'upload_packages_step', 'upload_packages_step',
'notify_pipeline', 'notify_pipeline',
'integration_test_services', 'integration_test_services',
'publish_packages_step',
) )
def release_npm_packages_step(edition, ver_mode): def release_npm_packages_step(edition, ver_mode):
...@@ -60,7 +61,7 @@ def get_steps(edition, ver_mode): ...@@ -60,7 +61,7 @@ def get_steps(edition, ver_mode):
should_upload = should_publish or ver_mode in ('release-branch',) should_upload = should_publish or ver_mode in ('release-branch',)
steps = [ steps = [
lint_backend_step(edition), lint_backend_step(edition=edition),
codespell_step(), codespell_step(),
shellcheck_step(), shellcheck_step(),
dashboard_schemas_check(), dashboard_schemas_check(),
...@@ -70,7 +71,7 @@ def get_steps(edition, ver_mode): ...@@ -70,7 +71,7 @@ def get_steps(edition, ver_mode):
build_frontend_step(edition=edition, ver_mode=ver_mode), build_frontend_step(edition=edition, ver_mode=ver_mode),
build_plugins_step(edition=edition, sign=True), build_plugins_step(edition=edition, sign=True),
package_step(edition=edition, ver_mode=ver_mode), package_step(edition=edition, ver_mode=ver_mode),
e2e_tests_server_step(), e2e_tests_server_step(edition=edition),
e2e_tests_step(), e2e_tests_step(),
build_storybook_step(edition=edition, ver_mode=ver_mode), build_storybook_step(edition=edition, ver_mode=ver_mode),
copy_packages_for_docker_step(), copy_packages_for_docker_step(),
...@@ -88,6 +89,19 @@ def get_steps(edition, ver_mode): ...@@ -88,6 +89,19 @@ def get_steps(edition, ver_mode):
]) ])
windows_steps = get_windows_steps(edition=edition, ver_mode=ver_mode) windows_steps = get_windows_steps(edition=edition, ver_mode=ver_mode)
if edition == 'enterprise':
build_tags = ['enterprise2']
steps.extend([
lint_backend_step(edition=edition, build_tags=build_tags),
test_backend_step(build_tags=build_tags),
build_backend_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], build_tags=build_tags),
package_step(edition=edition, ver_mode=ver_mode, variants=['linux-x64'], build_tags=build_tags),
e2e_tests_server_step(edition=edition, build_tags=build_tags, port=3002),
e2e_tests_step(build_tags=build_tags, port=3002),
])
if should_upload:
steps.append(upload_packages_step(edition=edition, ver_mode=ver_mode, build_tags=build_tags))
return steps, windows_steps return steps, windows_steps
def get_oss_pipelines(trigger, ver_mode): def get_oss_pipelines(trigger, ver_mode):
...@@ -118,38 +132,6 @@ def get_enterprise_pipelines(trigger, ver_mode): ...@@ -118,38 +132,6 @@ def get_enterprise_pipelines(trigger, ver_mode):
), ),
] ]
def publish_packages_step(edition):
return {
'name': 'publish-packages-{}'.format(edition),
'image': publish_image,
'depends_on': [
'initialize',
],
'environment': {
'GRAFANA_COM_API_KEY': {
'from_secret': 'grafana_api_key',
},
'GCP_KEY': {
'from_secret': 'gcp_key',
},
'GPG_PRIV_KEY': {
'from_secret': 'gpg_priv_key',
},
'GPG_PUB_KEY': {
'from_secret': 'gpg_pub_key',
},
'GPG_KEY_PASSWORD': {
'from_secret': 'gpg_key_password',
},
},
'commands': [
'printenv GCP_KEY | base64 -d > /tmp/gcpkey.json',
'./bin/grabpl publish-packages --edition {} --gcp-key /tmp/gcpkey.json ${{DRONE_TAG}}'.format(
edition,
),
],
}
def release_pipelines(ver_mode='release', trigger=None): def release_pipelines(ver_mode='release', trigger=None):
services = integration_test_services() services = integration_test_services()
if not trigger: if not trigger:
...@@ -169,8 +151,8 @@ def release_pipelines(ver_mode='release', trigger=None): ...@@ -169,8 +151,8 @@ def release_pipelines(ver_mode='release', trigger=None):
if should_publish: if should_publish:
publish_pipeline = pipeline( publish_pipeline = pipeline(
name='publish-{}'.format(ver_mode), trigger=trigger, edition='oss', steps=[ name='publish-{}'.format(ver_mode), trigger=trigger, edition='oss', steps=[
publish_packages_step(edition='oss'), publish_packages_step(edition='oss', ver_mode=ver_mode),
publish_packages_step(edition='enterprise'), publish_packages_step(edition='enterprise', ver_mode=ver_mode),
], depends_on=[p['name'] for p in oss_pipelines + enterprise_pipelines], install_deps=False, ], depends_on=[p['name'] for p in oss_pipelines + enterprise_pipelines], install_deps=False,
ver_mode=ver_mode, ver_mode=ver_mode,
) )
...@@ -198,36 +180,8 @@ def test_release_pipelines(): ...@@ -198,36 +180,8 @@ def test_release_pipelines():
publish_pipeline = pipeline( publish_pipeline = pipeline(
name='publish-{}'.format(ver_mode), trigger=trigger, edition='oss', steps=[ name='publish-{}'.format(ver_mode), trigger=trigger, edition='oss', steps=[
{ publish_packages_step(edition='oss', ver_mode=ver_mode),
'name': 'publish-packages-oss', publish_packages_step(edition='enterprise', ver_mode=ver_mode),
'image': publish_image,
'depends_on': [
'initialize',
],
'environment': {
'GRAFANA_COM_API_KEY': {
'from_secret': 'grafana_api_key',
},
},
'commands': [
publish_cmd.format('oss'),
],
},
{
'name': 'publish-packages-enterprise',
'image': publish_image,
'depends_on': [
'initialize',
],
'environment': {
'GRAFANA_COM_API_KEY': {
'from_secret': 'grafana_api_key',
},
},
'commands': [
publish_cmd.format('enterprise'),
],
},
], depends_on=[p['name'] for p in oss_pipelines + enterprise_pipelines], install_deps=False, ], depends_on=[p['name'] for p in oss_pipelines + enterprise_pipelines], install_deps=False,
ver_mode=ver_mode, ver_mode=ver_mode,
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment