CI: Split release test pipelines (#56655)

* Split test release pipelines

* Add missing dependencies

* Add release branch case when naming pipeline
This commit is contained in:
Dimitris Sotirakis 2022-10-10 18:46:56 +03:00 committed by GitHub
parent 129a5a29e7
commit 75c5845749
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 488 additions and 342 deletions

View File

@ -178,6 +178,8 @@ volumes:
clone: clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment:
EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -1018,6 +1020,8 @@ volumes:
clone: clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment:
EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -1923,7 +1927,7 @@ clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -2232,12 +2236,10 @@ volumes:
clone: clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment:
EDITION: OSS
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
name: release-oss-test name: release-oss-test-frontend
node: node:
type: no-parallel type: no-parallel
platform: platform:
@ -2255,21 +2257,6 @@ steps:
- chmod +x bin/grabpl - chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8 image: byrnedo/alpine-curl:0.1.8
name: grabpl name: grabpl
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands: - commands:
- yarn install --immutable - yarn install --immutable
depends_on: depends_on:
@ -2284,37 +2271,12 @@ steps:
image: golang:1.19.2 image: golang:1.19.2
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- apt-get update && apt-get install make - yarn betterer ci
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend
- commands:
- yarn run prettier:check
- yarn run lint
- yarn run i18n:compile
- yarn run typecheck
depends_on: depends_on:
- yarn-install - yarn-install
environment: failure: ignore
TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: lint-frontend name: betterer-frontend
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
- commands: - commands:
- yarn run ci:test-frontend - yarn run ci:test-frontend
depends_on: depends_on:
@ -2342,7 +2304,76 @@ clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-oss-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
event:
exclude:
- promote
ref:
- refs/tags/v*
repo:
exclude:
- grafana/grafana
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
retries: 3
depends_on: []
environment:
EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -2456,10 +2487,11 @@ clone:
retries: 3 retries: 3
depends_on: depends_on:
- release-oss-build-e2e-publish - release-oss-build-e2e-publish
- release-oss-test - release-oss-test-frontend
- release-oss-test-backend
- release-oss-integration-tests - release-oss-integration-tests
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -2522,7 +2554,7 @@ clone:
disable: true disable: true
depends_on: [] depends_on: []
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -2871,12 +2903,10 @@ volumes:
clone: clone:
disable: true disable: true
depends_on: [] depends_on: []
environment:
EDITION: ENTERPRISE
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
name: release-enterprise-test name: release-enterprise-test-frontend
node: node:
type: no-parallel type: no-parallel
platform: platform:
@ -2884,6 +2914,10 @@ platform:
os: linux os: linux
services: [] services: []
steps: steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands: - commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.11/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.11/grabpl
@ -2891,96 +2925,25 @@ steps:
image: byrnedo/alpine-curl:0.1.8 image: byrnedo/alpine-curl:0.1.8
name: grabpl name: grabpl
- commands: - commands:
- echo $DRONE_RUNNER_NAME - yarn install --immutable
image: alpine:3.15.6
name: identify-runner
- commands:
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
- git checkout ${DRONE_TAG}
environment:
GITHUB_TOKEN:
from_secret: github_token
image: grafana/build-container:1.6.3
name: clone-enterprise
- commands:
- mv bin/grabpl /tmp/
- rmdir bin
- mv grafana-enterprise /tmp/
- /tmp/grabpl init-enterprise --github-token $${GITHUB_TOKEN} /tmp/grafana-enterprise
${DRONE_TAG}
- mv /tmp/grafana-enterprise/deployment_tools_config.json deployment_tools_config.json
- mkdir bin
- mv /tmp/grabpl bin/
depends_on: depends_on:
- clone-enterprise - grabpl
environment:
GITHUB_TOKEN:
from_secret: github_token
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: init-enterprise name: yarn-install
- commands: - commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd - go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: depends_on: []
- init-enterprise
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.19.2 image: golang:1.19.2
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- make gen-go - yarn betterer ci
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- yarn install --immutable
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: yarn-install
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- apt-get update && apt-get install make
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend
- commands:
- yarn run prettier:check
- yarn run lint
- yarn run i18n:compile
- yarn run typecheck
depends_on: depends_on:
- yarn-install - yarn-install
environment: failure: ignore
TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: lint-frontend name: betterer-frontend
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
- commands: - commands:
- yarn run ci:test-frontend - yarn run ci:test-frontend
depends_on: depends_on:
@ -2989,21 +2952,6 @@ steps:
TEST_MAX_WORKERS: 50% TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: test-frontend name: test-frontend
- commands:
- apt-get update && apt-get install make
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend-enterprise2
- commands:
- go test -tags=pro -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-enterprise2
trigger: trigger:
event: event:
exclude: exclude:
@ -3023,7 +2971,145 @@ clone:
disable: true disable: true
depends_on: [] depends_on: []
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-enterprise-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
event:
exclude:
- promote
ref:
- refs/tags/v*
repo:
exclude:
- grafana/grafana
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
disable: true
depends_on: []
environment:
EDITION: enterprise2
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-enterprise2-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -tags=pro -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-enterprise2
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
event:
exclude:
- promote
ref:
- refs/tags/v*
repo:
exclude:
- grafana/grafana
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
disable: true
depends_on: []
environment:
EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -3187,10 +3273,11 @@ clone:
disable: true disable: true
depends_on: depends_on:
- release-enterprise-build-e2e-publish - release-enterprise-build-e2e-publish
- release-enterprise-test - release-enterprise-test-frontend
- release-enterprise-test-backend
- release-enterprise-integration-tests - release-enterprise-integration-tests
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -3865,7 +3952,7 @@ clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -4143,12 +4230,10 @@ volumes:
clone: clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment:
EDITION: OSS
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
name: release-branch-oss-test name: release-branch-oss-test-frontend
node: node:
type: no-parallel type: no-parallel
platform: platform:
@ -4166,21 +4251,6 @@ steps:
- chmod +x bin/grabpl - chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8 image: byrnedo/alpine-curl:0.1.8
name: grabpl name: grabpl
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands: - commands:
- yarn install --immutable - yarn install --immutable
depends_on: depends_on:
@ -4195,37 +4265,12 @@ steps:
image: golang:1.19.2 image: golang:1.19.2
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- apt-get update && apt-get install make - yarn betterer ci
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend
- commands:
- yarn run prettier:check
- yarn run lint
- yarn run i18n:compile
- yarn run typecheck
depends_on: depends_on:
- yarn-install - yarn-install
environment: failure: ignore
TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: lint-frontend name: betterer-frontend
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
- commands: - commands:
- yarn run ci:test-frontend - yarn run ci:test-frontend
depends_on: depends_on:
@ -4247,7 +4292,70 @@ clone:
retries: 3 retries: 3
depends_on: [] depends_on: []
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-branch-oss-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
ref:
- refs/heads/v[0-9]*
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
retries: 3
depends_on: []
environment:
EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -4355,10 +4463,11 @@ clone:
retries: 3 retries: 3
depends_on: depends_on:
- release-branch-oss-build-e2e-publish - release-branch-oss-build-e2e-publish
- release-branch-oss-test - release-branch-oss-test-frontend
- release-branch-oss-test-backend
- release-branch-oss-integration-tests - release-branch-oss-integration-tests
environment: environment:
EDITION: OSS EDITION: oss
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -4411,7 +4520,7 @@ clone:
disable: true disable: true
depends_on: [] depends_on: []
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -4749,12 +4858,10 @@ volumes:
clone: clone:
disable: true disable: true
depends_on: [] depends_on: []
environment:
EDITION: ENTERPRISE
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
name: release-branch-enterprise-test name: release-branch-enterprise-test-frontend
node: node:
type: no-parallel type: no-parallel
platform: platform:
@ -4762,6 +4869,10 @@ platform:
os: linux os: linux
services: [] services: []
steps: steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands: - commands:
- mkdir -p bin - mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.11/grabpl - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.11/grabpl
@ -4769,93 +4880,25 @@ steps:
image: byrnedo/alpine-curl:0.1.8 image: byrnedo/alpine-curl:0.1.8
name: grabpl name: grabpl
- commands: - commands:
- echo $DRONE_RUNNER_NAME - yarn install --immutable
image: alpine:3.15.6
name: identify-runner
- commands:
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
- git checkout ${DRONE_BRANCH}
environment:
GITHUB_TOKEN:
from_secret: github_token
image: grafana/build-container:1.6.3
name: clone-enterprise
- commands:
- mv bin/grabpl /tmp/
- rmdir bin
- mv grafana-enterprise /tmp/
- /tmp/grabpl init-enterprise /tmp/grafana-enterprise
- mv /tmp/grafana-enterprise/deployment_tools_config.json deployment_tools_config.json
- mkdir bin
- mv /tmp/grabpl bin/
depends_on: depends_on:
- clone-enterprise - grabpl
environment: {}
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: init-enterprise name: yarn-install
- commands: - commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd - go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: depends_on: []
- init-enterprise
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.19.2 image: golang:1.19.2
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- make gen-go - yarn betterer ci
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- yarn install --immutable
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: yarn-install
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on:
- init-enterprise
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- apt-get update && apt-get install make
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend
- commands:
- yarn run prettier:check
- yarn run lint
- yarn run i18n:compile
- yarn run typecheck
depends_on: depends_on:
- yarn-install - yarn-install
environment: failure: ignore
TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: lint-frontend name: betterer-frontend
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
- commands: - commands:
- yarn run ci:test-frontend - yarn run ci:test-frontend
depends_on: depends_on:
@ -4864,21 +4907,6 @@ steps:
TEST_MAX_WORKERS: 50% TEST_MAX_WORKERS: 50%
image: grafana/build-container:1.6.3 image: grafana/build-container:1.6.3
name: test-frontend name: test-frontend
- commands:
- apt-get update && apt-get install make
- make lint-go
depends_on:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.19.2
name: lint-backend-enterprise2
- commands:
- go test -tags=pro -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-enterprise2
trigger: trigger:
ref: ref:
- refs/heads/v[0-9]* - refs/heads/v[0-9]*
@ -4892,7 +4920,133 @@ clone:
disable: true disable: true
depends_on: [] depends_on: []
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-branch-enterprise-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
ref:
- refs/heads/v[0-9]*
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
disable: true
depends_on: []
environment:
EDITION: enterprise2
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: release-branch-enterprise2-test-backend
node:
type: no-parallel
platform:
arch: amd64
os: linux
services: []
steps:
- commands:
- echo $DRONE_RUNNER_NAME
image: alpine:3.15.6
name: identify-runner
- commands:
- go build -o ./bin/build -ldflags '-extldflags -static' ./pkg/build/cmd
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.19.2
name: compile-build-cmd
- 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.'
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: grafana/build-container:1.6.3
name: verify-gen-cue
- commands:
- make gen-go
depends_on:
- verify-gen-cue
image: grafana/build-container:1.6.3
name: wire-install
- commands:
- go test -tags=pro -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-enterprise2
- commands:
- go test -run Integration -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: grafana/build-container:1.6.3
name: test-backend-integration
trigger:
ref:
- refs/heads/v[0-9]*
type: docker
volumes:
- host:
path: /var/run/docker.sock
name: docker
---
clone:
disable: true
depends_on: []
environment:
EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -5047,10 +5201,11 @@ clone:
disable: true disable: true
depends_on: depends_on:
- release-branch-enterprise-build-e2e-publish - release-branch-enterprise-build-e2e-publish
- release-branch-enterprise-test - release-branch-enterprise-test-frontend
- release-branch-enterprise-test-backend
- release-branch-enterprise-integration-tests - release-branch-enterprise-integration-tests
environment: environment:
EDITION: ENTERPRISE EDITION: enterprise
image_pull_secrets: image_pull_secrets:
- dockerconfigjson - dockerconfigjson
kind: pipeline kind: pipeline
@ -5339,6 +5494,6 @@ kind: secret
name: packages_secret_access_key name: packages_secret_access_key
--- ---
kind: signature kind: signature
hmac: 74e91fca99550f9a5c85b01f1e8ab58629a1fff4e55ca07be3163d26e5f291bb hmac: 0a4cc4cfd81481dbb25b9ccfc22ddd4ad23bbaa1b775e5c64aba2533ccfe1676
... ...

View File

@ -61,6 +61,16 @@ load(
'drone_change_template', 'drone_change_template',
) )
load(
'scripts/drone/pipelines/test_frontend.star',
'test_frontend',
)
load(
'scripts/drone/pipelines/test_backend.star',
'test_backend',
)
load('scripts/drone/vault.star', 'from_secret', 'github_token', 'pull_secret', 'drone_token', 'prerelease_bucket') load('scripts/drone/vault.star', 'from_secret', 'github_token', 'pull_secret', 'drone_token', 'prerelease_bucket')
def store_npm_packages_step(): def store_npm_packages_step():
@ -113,7 +123,7 @@ def release_npm_packages_step():
} }
def get_oss_pipelines(trigger, ver_mode): def get_oss_pipelines(trigger, ver_mode):
environment = {'EDITION': 'OSS'} environment = {'EDITION': 'oss'}
edition = 'oss' edition = 'oss'
services = integration_test_services(edition=edition) services = integration_test_services(edition=edition)
volumes = integration_test_services_volumes() volumes = integration_test_services_volumes()
@ -130,16 +140,6 @@ def get_oss_pipelines(trigger, ver_mode):
compile_build_cmd(), compile_build_cmd(),
] ]
test_steps = []
test_steps.extend([
lint_backend_step(edition=edition),
lint_frontend_step(),
test_backend_step(edition=edition),
test_backend_integration_step(edition=edition),
test_frontend_step(),
])
build_steps = [ build_steps = [
build_backend_step(edition=edition, ver_mode=ver_mode), build_backend_step(edition=edition, ver_mode=ver_mode),
build_frontend_step(edition=edition, ver_mode=ver_mode), build_frontend_step(edition=edition, ver_mode=ver_mode),
@ -202,11 +202,8 @@ def get_oss_pipelines(trigger, ver_mode):
] ]
if not disable_tests: if not disable_tests:
pipelines.extend([ pipelines.extend([
pipeline( test_frontend(trigger, ver_mode),
name='{}-oss-test'.format(ver_mode), edition=edition, trigger=trigger, services=[], test_backend(trigger, ver_mode),
steps=init_steps + test_steps,
environment=environment, volumes=[],
),
pipeline( pipeline(
name='{}-oss-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services, name='{}-oss-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services,
steps=[download_grabpl_step(), identify_runner_step(), verify_gen_cue_step(edition), wire_install_step(), ] + integration_test_steps, steps=[download_grabpl_step(), identify_runner_step(), verify_gen_cue_step(edition), wire_install_step(), ] + integration_test_steps,
@ -216,7 +213,8 @@ def get_oss_pipelines(trigger, ver_mode):
deps = { deps = {
'depends_on': [ 'depends_on': [
'{}-oss-build{}-publish'.format(ver_mode, get_e2e_suffix()), '{}-oss-build{}-publish'.format(ver_mode, get_e2e_suffix()),
'{}-oss-test'.format(ver_mode), '{}-oss-test-frontend'.format(ver_mode),
'{}-oss-test-backend'.format(ver_mode),
'{}-oss-integration-tests'.format(ver_mode) '{}-oss-integration-tests'.format(ver_mode)
] ]
} }
@ -226,7 +224,7 @@ def get_oss_pipelines(trigger, ver_mode):
return pipelines return pipelines
def get_enterprise_pipelines(trigger, ver_mode): def get_enterprise_pipelines(trigger, ver_mode):
environment = {'EDITION': 'ENTERPRISE'} environment = {'EDITION': 'enterprise'}
edition = 'enterprise' edition = 'enterprise'
services = integration_test_services(edition=edition) services = integration_test_services(edition=edition)
volumes = integration_test_services_volumes() volumes = integration_test_services_volumes()
@ -244,16 +242,6 @@ def get_enterprise_pipelines(trigger, ver_mode):
compile_build_cmd(edition), compile_build_cmd(edition),
] ]
test_steps = []
test_steps.extend([
lint_backend_step(edition=edition),
lint_frontend_step(),
test_backend_step(edition=edition),
test_backend_integration_step(edition=edition),
test_frontend_step(),
])
build_steps = [ build_steps = [
build_backend_step(edition=edition, ver_mode=ver_mode), build_backend_step(edition=edition, ver_mode=ver_mode),
build_frontend_step(edition=edition, ver_mode=ver_mode), build_frontend_step(edition=edition, ver_mode=ver_mode),
@ -267,10 +255,6 @@ def get_enterprise_pipelines(trigger, ver_mode):
] ]
if include_enterprise: if include_enterprise:
test_steps.extend([
lint_backend_step(edition=edition2),
test_backend_step(edition=edition2),
])
build_steps.extend([ build_steps.extend([
build_backend_step(edition=edition2, ver_mode=ver_mode, variants=['linux-amd64']), build_backend_step(edition=edition2, ver_mode=ver_mode, variants=['linux-amd64']),
]) ])
@ -344,11 +328,9 @@ def get_enterprise_pipelines(trigger, ver_mode):
] ]
if not disable_tests: if not disable_tests:
pipelines.extend([ pipelines.extend([
pipeline( test_frontend(trigger, ver_mode, edition),
name='{}-enterprise-test'.format(ver_mode), edition=edition, trigger=trigger, services=[], test_backend(trigger, ver_mode, edition),
steps=init_steps + test_steps, environment=environment, test_backend(trigger, ver_mode, edition2),
volumes=[],
),
pipeline( pipeline(
name='{}-enterprise-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services, name='{}-enterprise-integration-tests'.format(ver_mode), edition=edition, trigger=trigger, services=services,
steps=[download_grabpl_step(), identify_runner_step(), clone_enterprise_step(ver_mode), init_enterprise_step(ver_mode), verify_gen_cue_step(edition), wire_install_step()] + integration_test_steps + [redis_integration_tests_step(), memcached_integration_tests_step()], steps=[download_grabpl_step(), identify_runner_step(), clone_enterprise_step(ver_mode), init_enterprise_step(ver_mode), verify_gen_cue_step(edition), wire_install_step()] + integration_test_steps + [redis_integration_tests_step(), memcached_integration_tests_step()],
@ -358,7 +340,8 @@ def get_enterprise_pipelines(trigger, ver_mode):
deps = { deps = {
'depends_on': [ 'depends_on': [
'{}-enterprise-build{}-publish'.format(ver_mode, get_e2e_suffix()), '{}-enterprise-build{}-publish'.format(ver_mode, get_e2e_suffix()),
'{}-enterprise-test'.format(ver_mode), '{}-enterprise-test-frontend'.format(ver_mode),
'{}-enterprise-test-backend'.format(ver_mode),
'{}-enterprise-integration-tests'.format(ver_mode) '{}-enterprise-integration-tests'.format(ver_mode)
] ]
} }

View File

@ -13,7 +13,8 @@ load(
'pipeline', 'pipeline',
) )
def test_backend(trigger, ver_mode): def test_backend(trigger, ver_mode, edition="oss"):
environment = {'EDITION': edition}
init_steps = [ init_steps = [
identify_runner_step(), identify_runner_step(),
compile_build_cmd(), compile_build_cmd(),
@ -21,10 +22,13 @@ def test_backend(trigger, ver_mode):
wire_install_step(), wire_install_step(),
] ]
test_steps = [ test_steps = [
test_backend_step(edition="oss"), test_backend_step(edition),
test_backend_integration_step(edition="oss"), test_backend_integration_step(edition),
] ]
pipeline_name = '{}-test-backend'.format(ver_mode)
if ver_mode in ("release-branch", "release"):
pipeline_name = '{}-{}-test-backend'.format(ver_mode, edition)
return pipeline( return pipeline(
name='{}-test-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps, environment=environment
) )

View File

@ -13,7 +13,8 @@ load(
'pipeline', 'pipeline',
) )
def test_frontend(trigger, ver_mode): def test_frontend(trigger, ver_mode, edition="oss"):
environment = {'EDITION': edition}
init_steps = [ init_steps = [
identify_runner_step(), identify_runner_step(),
download_grabpl_step(), download_grabpl_step(),
@ -24,6 +25,9 @@ def test_frontend(trigger, ver_mode):
betterer_frontend_step(), betterer_frontend_step(),
test_frontend_step(), test_frontend_step(),
] ]
pipeline_name = '{}-test-frontend'.format(ver_mode)
if ver_mode in ("release-branch", "release"):
pipeline_name = '{}-{}-test-frontend'.format(ver_mode, edition)
return pipeline( return pipeline(
name='{}-test-frontend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps, name=pipeline_name, edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps,
) )