mirror of
https://github.com/grafana/grafana.git
synced 2024-12-23 23:50:28 -06:00
CI: Move release integration pipeline to standalone promotion pipeline (#65787)
This commit is contained in:
parent
06ea490cc2
commit
e9aef20eb4
@ -14,6 +14,7 @@ load(
|
||||
"artifacts_page_pipeline",
|
||||
"enterprise2_pipelines",
|
||||
"enterprise_pipelines",
|
||||
"integration_test_pipelines",
|
||||
"oss_pipelines",
|
||||
"publish_artifacts_pipelines",
|
||||
"publish_npm_pipelines",
|
||||
@ -52,6 +53,7 @@ def main(_ctx):
|
||||
publish_packages_pipeline() +
|
||||
artifacts_page_pipeline() +
|
||||
version_branch_pipelines() +
|
||||
integration_test_pipelines() +
|
||||
cronjobs() +
|
||||
secrets()
|
||||
)
|
||||
|
600
.drone.yml
600
.drone.yml
@ -2372,12 +2372,6 @@ volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
retries: 3
|
||||
@ -2510,132 +2504,12 @@ volumes:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
---
|
||||
clone:
|
||||
retries: 3
|
||||
depends_on: []
|
||||
environment:
|
||||
EDITION: oss
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
kind: pipeline
|
||||
name: release-oss-integration-tests
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
arch: amd64
|
||||
os: linux
|
||||
services:
|
||||
- environment:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_DB: grafanatest
|
||||
POSTGRES_PASSWORD: grafanatest
|
||||
POSTGRES_USER: grafanatest
|
||||
image: postgres:12.3-alpine
|
||||
name: postgres
|
||||
volumes:
|
||||
- name: postgres
|
||||
path: /var/lib/postgresql/data/pgdata
|
||||
- environment:
|
||||
MYSQL_DATABASE: grafana_tests
|
||||
MYSQL_PASSWORD: password
|
||||
MYSQL_ROOT_PASSWORD: rootpass
|
||||
MYSQL_USER: grafana
|
||||
image: mysql:5.7.39
|
||||
name: mysql
|
||||
volumes:
|
||||
- name: mysql
|
||||
path: /var/lib/mysql
|
||||
steps:
|
||||
- commands:
|
||||
- mkdir -p bin
|
||||
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.30/grabpl
|
||||
- chmod +x bin/grabpl
|
||||
image: byrnedo/alpine-curl:0.1.8
|
||||
name: grabpl
|
||||
- commands:
|
||||
- echo $DRONE_RUNNER_NAME
|
||||
image: alpine:3.17.1
|
||||
name: identify-runner
|
||||
- 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.7.2
|
||||
name: verify-gen-cue
|
||||
- commands:
|
||||
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
|
||||
- '# The following command will fail if running code generators produces any diff
|
||||
in output.'
|
||||
- CODEGEN_VERIFY=1 make gen-jsonnet
|
||||
depends_on: []
|
||||
image: grafana/build-container:1.7.2
|
||||
name: verify-gen-jsonnet
|
||||
- commands:
|
||||
- make gen-go
|
||||
depends_on:
|
||||
- verify-gen-cue
|
||||
image: grafana/build-container:1.7.2
|
||||
name: wire-install
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq postgresql-client
|
||||
- dockerize -wait tcp://postgres:5432 -timeout 120s
|
||||
- psql -p 5432 -h postgres -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: postgres
|
||||
PGPASSWORD: grafanatest
|
||||
POSTGRES_HOST: postgres
|
||||
image: grafana/build-container:1.7.2
|
||||
name: postgres-integration-tests
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq default-mysql-client
|
||||
- dockerize -wait tcp://mysql:3306 -timeout 120s
|
||||
- cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h mysql -P 3306 -u root
|
||||
-prootpass
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: mysql
|
||||
MYSQL_HOST: mysql
|
||||
image: grafana/build-container:1.7.2
|
||||
name: mysql-integration-tests
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- promote
|
||||
ref:
|
||||
- refs/tags/v*
|
||||
type: docker
|
||||
volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
retries: 3
|
||||
depends_on:
|
||||
- release-oss-build-e2e-publish
|
||||
- release-oss-test-frontend
|
||||
- release-oss-test-backend
|
||||
- release-oss-integration-tests
|
||||
environment:
|
||||
EDITION: oss
|
||||
image_pull_secrets:
|
||||
@ -2983,12 +2857,6 @@ volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
disable: true
|
||||
@ -3183,187 +3051,12 @@ volumes:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
---
|
||||
clone:
|
||||
disable: true
|
||||
depends_on: []
|
||||
environment:
|
||||
EDITION: enterprise
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
kind: pipeline
|
||||
name: release-enterprise-integration-tests
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
arch: amd64
|
||||
os: linux
|
||||
services:
|
||||
- environment:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_DB: grafanatest
|
||||
POSTGRES_PASSWORD: grafanatest
|
||||
POSTGRES_USER: grafanatest
|
||||
image: postgres:12.3-alpine
|
||||
name: postgres
|
||||
volumes:
|
||||
- name: postgres
|
||||
path: /var/lib/postgresql/data/pgdata
|
||||
- environment:
|
||||
MYSQL_DATABASE: grafana_tests
|
||||
MYSQL_PASSWORD: password
|
||||
MYSQL_ROOT_PASSWORD: rootpass
|
||||
MYSQL_USER: grafana
|
||||
image: mysql:5.7.39
|
||||
name: mysql
|
||||
volumes:
|
||||
- name: mysql
|
||||
path: /var/lib/mysql
|
||||
- environment: {}
|
||||
image: redis:6.2.1-alpine
|
||||
name: redis
|
||||
- environment: {}
|
||||
image: memcached:1.6.9-alpine
|
||||
name: memcached
|
||||
steps:
|
||||
- commands:
|
||||
- mkdir -p bin
|
||||
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.30/grabpl
|
||||
- chmod +x bin/grabpl
|
||||
image: byrnedo/alpine-curl:0.1.8
|
||||
name: grabpl
|
||||
- commands:
|
||||
- echo $DRONE_RUNNER_NAME
|
||||
image: alpine:3.17.1
|
||||
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.7.2
|
||||
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:
|
||||
- clone-enterprise
|
||||
environment:
|
||||
GITHUB_TOKEN:
|
||||
from_secret: github_token
|
||||
image: grafana/build-container:1.7.2
|
||||
name: init-enterprise
|
||||
- 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.7.2
|
||||
name: verify-gen-cue
|
||||
- commands:
|
||||
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
|
||||
- '# The following command will fail if running code generators produces any diff
|
||||
in output.'
|
||||
- CODEGEN_VERIFY=1 make gen-jsonnet
|
||||
depends_on:
|
||||
- init-enterprise
|
||||
image: grafana/build-container:1.7.2
|
||||
name: verify-gen-jsonnet
|
||||
- commands:
|
||||
- make gen-go
|
||||
depends_on:
|
||||
- verify-gen-cue
|
||||
image: grafana/build-container:1.7.2
|
||||
name: wire-install
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq postgresql-client
|
||||
- dockerize -wait tcp://postgres:5432 -timeout 120s
|
||||
- psql -p 5432 -h postgres -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: postgres
|
||||
PGPASSWORD: grafanatest
|
||||
POSTGRES_HOST: postgres
|
||||
image: grafana/build-container:1.7.2
|
||||
name: postgres-integration-tests
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq default-mysql-client
|
||||
- dockerize -wait tcp://mysql:3306 -timeout 120s
|
||||
- cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h mysql -P 3306 -u root
|
||||
-prootpass
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: mysql
|
||||
MYSQL_HOST: mysql
|
||||
image: grafana/build-container:1.7.2
|
||||
name: mysql-integration-tests
|
||||
- commands:
|
||||
- dockerize -wait tcp://redis:6379/0 -timeout 120s
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
image: grafana/build-container:1.7.2
|
||||
name: redis-integration-tests
|
||||
- commands:
|
||||
- dockerize -wait tcp://memcached:11211 -timeout 120s
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
MEMCACHED_HOSTS: memcached:11211
|
||||
image: grafana/build-container:1.7.2
|
||||
name: memcached-integration-tests
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- promote
|
||||
ref:
|
||||
- refs/tags/v*
|
||||
type: docker
|
||||
volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
disable: true
|
||||
depends_on:
|
||||
- release-enterprise-build-e2e-publish
|
||||
- release-enterprise-test-frontend
|
||||
- release-enterprise-test-backend
|
||||
- release-enterprise-integration-tests
|
||||
environment:
|
||||
EDITION: enterprise
|
||||
image_pull_secrets:
|
||||
@ -5317,7 +5010,6 @@ depends_on:
|
||||
- release-branch-oss-build-e2e-publish
|
||||
- release-branch-oss-test-frontend
|
||||
- release-branch-oss-test-backend
|
||||
- release-branch-oss-integration-tests
|
||||
environment:
|
||||
EDITION: oss
|
||||
image_pull_secrets:
|
||||
@ -6029,7 +5721,6 @@ depends_on:
|
||||
- release-branch-enterprise-build-e2e-publish
|
||||
- release-branch-enterprise-test-frontend
|
||||
- release-branch-enterprise-test-backend
|
||||
- release-branch-enterprise-integration-tests
|
||||
environment:
|
||||
EDITION: enterprise
|
||||
image_pull_secrets:
|
||||
@ -6348,6 +6039,295 @@ volumes:
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
retries: 3
|
||||
depends_on: []
|
||||
environment:
|
||||
EDITION: oss
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
kind: pipeline
|
||||
name: integration-tests-oss
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
arch: amd64
|
||||
os: linux
|
||||
services:
|
||||
- environment:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_DB: grafanatest
|
||||
POSTGRES_PASSWORD: grafanatest
|
||||
POSTGRES_USER: grafanatest
|
||||
image: postgres:12.3-alpine
|
||||
name: postgres
|
||||
volumes:
|
||||
- name: postgres
|
||||
path: /var/lib/postgresql/data/pgdata
|
||||
- environment:
|
||||
MYSQL_DATABASE: grafana_tests
|
||||
MYSQL_PASSWORD: password
|
||||
MYSQL_ROOT_PASSWORD: rootpass
|
||||
MYSQL_USER: grafana
|
||||
image: mysql:5.7.39
|
||||
name: mysql
|
||||
volumes:
|
||||
- name: mysql
|
||||
path: /var/lib/mysql
|
||||
steps:
|
||||
- commands:
|
||||
- mkdir -p bin
|
||||
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.30/grabpl
|
||||
- chmod +x bin/grabpl
|
||||
image: byrnedo/alpine-curl:0.1.8
|
||||
name: grabpl
|
||||
- commands:
|
||||
- echo $DRONE_RUNNER_NAME
|
||||
image: alpine:3.17.1
|
||||
name: identify-runner
|
||||
- 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.7.2
|
||||
name: verify-gen-cue
|
||||
- commands:
|
||||
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
|
||||
- '# The following command will fail if running code generators produces any diff
|
||||
in output.'
|
||||
- CODEGEN_VERIFY=1 make gen-jsonnet
|
||||
depends_on: []
|
||||
image: grafana/build-container:1.7.2
|
||||
name: verify-gen-jsonnet
|
||||
- commands:
|
||||
- make gen-go
|
||||
depends_on:
|
||||
- verify-gen-cue
|
||||
image: grafana/build-container:1.7.2
|
||||
name: wire-install
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq postgresql-client
|
||||
- dockerize -wait tcp://postgres:5432 -timeout 120s
|
||||
- psql -p 5432 -h postgres -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: postgres
|
||||
PGPASSWORD: grafanatest
|
||||
POSTGRES_HOST: postgres
|
||||
image: grafana/build-container:1.7.2
|
||||
name: postgres-integration-tests
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq default-mysql-client
|
||||
- dockerize -wait tcp://mysql:3306 -timeout 120s
|
||||
- cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h mysql -P 3306 -u root
|
||||
-prootpass
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: mysql
|
||||
MYSQL_HOST: mysql
|
||||
image: grafana/build-container:1.7.2
|
||||
name: mysql-integration-tests
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target: integration-tests
|
||||
type: docker
|
||||
volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
disable: true
|
||||
depends_on: []
|
||||
environment:
|
||||
EDITION: enterprise
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
kind: pipeline
|
||||
name: integration-tests-enterprise
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
arch: amd64
|
||||
os: linux
|
||||
services:
|
||||
- environment:
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
POSTGRES_DB: grafanatest
|
||||
POSTGRES_PASSWORD: grafanatest
|
||||
POSTGRES_USER: grafanatest
|
||||
image: postgres:12.3-alpine
|
||||
name: postgres
|
||||
volumes:
|
||||
- name: postgres
|
||||
path: /var/lib/postgresql/data/pgdata
|
||||
- environment:
|
||||
MYSQL_DATABASE: grafana_tests
|
||||
MYSQL_PASSWORD: password
|
||||
MYSQL_ROOT_PASSWORD: rootpass
|
||||
MYSQL_USER: grafana
|
||||
image: mysql:5.7.39
|
||||
name: mysql
|
||||
volumes:
|
||||
- name: mysql
|
||||
path: /var/lib/mysql
|
||||
- environment: {}
|
||||
image: redis:6.2.1-alpine
|
||||
name: redis
|
||||
- environment: {}
|
||||
image: memcached:1.6.9-alpine
|
||||
name: memcached
|
||||
steps:
|
||||
- commands:
|
||||
- mkdir -p bin
|
||||
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v3.0.30/grabpl
|
||||
- chmod +x bin/grabpl
|
||||
image: byrnedo/alpine-curl:0.1.8
|
||||
name: grabpl
|
||||
- commands:
|
||||
- echo $DRONE_RUNNER_NAME
|
||||
image: alpine:3.17.1
|
||||
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.7.2
|
||||
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:
|
||||
- clone-enterprise
|
||||
environment:
|
||||
GITHUB_TOKEN:
|
||||
from_secret: github_token
|
||||
image: grafana/build-container:1.7.2
|
||||
name: init-enterprise
|
||||
- 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.7.2
|
||||
name: verify-gen-cue
|
||||
- commands:
|
||||
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
|
||||
- '# The following command will fail if running code generators produces any diff
|
||||
in output.'
|
||||
- CODEGEN_VERIFY=1 make gen-jsonnet
|
||||
depends_on:
|
||||
- init-enterprise
|
||||
image: grafana/build-container:1.7.2
|
||||
name: verify-gen-jsonnet
|
||||
- commands:
|
||||
- make gen-go
|
||||
depends_on:
|
||||
- verify-gen-cue
|
||||
image: grafana/build-container:1.7.2
|
||||
name: wire-install
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq postgresql-client
|
||||
- dockerize -wait tcp://postgres:5432 -timeout 120s
|
||||
- psql -p 5432 -h postgres -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: postgres
|
||||
PGPASSWORD: grafanatest
|
||||
POSTGRES_HOST: postgres
|
||||
image: grafana/build-container:1.7.2
|
||||
name: postgres-integration-tests
|
||||
- commands:
|
||||
- apt-get update
|
||||
- apt-get install -yq default-mysql-client
|
||||
- dockerize -wait tcp://mysql:3306 -timeout 120s
|
||||
- cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h mysql -P 3306 -u root
|
||||
-prootpass
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
GRAFANA_TEST_DB: mysql
|
||||
MYSQL_HOST: mysql
|
||||
image: grafana/build-container:1.7.2
|
||||
name: mysql-integration-tests
|
||||
- commands:
|
||||
- dockerize -wait tcp://redis:6379/0 -timeout 120s
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
image: grafana/build-container:1.7.2
|
||||
name: redis-integration-tests
|
||||
- commands:
|
||||
- dockerize -wait tcp://memcached:11211 -timeout 120s
|
||||
- go clean -testcache
|
||||
- go list './pkg/...' | xargs -I {} sh -c 'go test -run Integration -covermode=atomic
|
||||
-timeout=5m {}'
|
||||
depends_on:
|
||||
- wire-install
|
||||
environment:
|
||||
MEMCACHED_HOSTS: memcached:11211
|
||||
image: grafana/build-container:1.7.2
|
||||
name: memcached-integration-tests
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target: integration-tests
|
||||
type: docker
|
||||
volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
- name: postgres
|
||||
temp:
|
||||
medium: memory
|
||||
- name: mysql
|
||||
temp:
|
||||
medium: memory
|
||||
---
|
||||
clone:
|
||||
retries: 3
|
||||
kind: pipeline
|
||||
@ -6634,6 +6614,6 @@ kind: secret
|
||||
name: enterprise2_security_prefix
|
||||
---
|
||||
kind: signature
|
||||
hmac: 7ed023fb45c28415f26835221bd1e1e440c6f6796a5262da866f8ce9c4314542
|
||||
hmac: 5854eba6447f784a354210984cb34a52f0d04a2df8387d2df1a24731e2838e9d
|
||||
|
||||
...
|
||||
|
@ -196,6 +196,12 @@ def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
mysql_integration_tests_step(),
|
||||
]
|
||||
|
||||
# We don't need to run integration tests at release time since they have
|
||||
# been run multiple times before:
|
||||
if ver_mode in ("release"):
|
||||
integration_test_steps = []
|
||||
volumes = []
|
||||
|
||||
windows_pipeline = pipeline(
|
||||
name = "{}-oss-windows".format(ver_mode),
|
||||
edition = "oss",
|
||||
@ -203,11 +209,9 @@ def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
steps = get_windows_steps(edition = "oss", ver_mode = ver_mode),
|
||||
platform = "windows",
|
||||
depends_on = [
|
||||
# 'oss-build-e2e-publish-{}'.format(ver_mode),
|
||||
"{}-oss-build-e2e-publish".format(ver_mode),
|
||||
"{}-oss-test-frontend".format(ver_mode),
|
||||
"{}-oss-test-backend".format(ver_mode),
|
||||
"{}-oss-integration-tests".format(ver_mode),
|
||||
],
|
||||
environment = environment,
|
||||
)
|
||||
@ -224,7 +228,10 @@ def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
),
|
||||
test_frontend(trigger, ver_mode),
|
||||
test_backend(trigger, ver_mode),
|
||||
pipeline(
|
||||
]
|
||||
|
||||
if ver_mode not in ("release"):
|
||||
pipelines.append(pipeline(
|
||||
name = "{}-oss-integration-tests".format(ver_mode),
|
||||
edition = "oss",
|
||||
trigger = trigger,
|
||||
@ -239,9 +246,9 @@ def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
integration_test_steps,
|
||||
environment = environment,
|
||||
volumes = volumes,
|
||||
),
|
||||
windows_pipeline,
|
||||
]
|
||||
))
|
||||
|
||||
pipelines.append(windows_pipeline)
|
||||
|
||||
return pipelines
|
||||
|
||||
@ -338,8 +345,16 @@ def enterprise_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
integration_test_steps = [
|
||||
postgres_integration_tests_step(),
|
||||
mysql_integration_tests_step(),
|
||||
redis_integration_tests_step(),
|
||||
memcached_integration_tests_step(),
|
||||
]
|
||||
|
||||
# We don't need to run integration tests at release time since they have
|
||||
# been run multiple times before:
|
||||
if ver_mode in ("release"):
|
||||
integration_test_steps = []
|
||||
volumes = []
|
||||
|
||||
windows_pipeline = pipeline(
|
||||
name = "{}-enterprise-windows".format(ver_mode),
|
||||
edition = "enterprise",
|
||||
@ -347,11 +362,9 @@ def enterprise_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
steps = get_windows_steps(edition = "enterprise", ver_mode = ver_mode),
|
||||
platform = "windows",
|
||||
depends_on = [
|
||||
# 'enterprise-build-e2e-publish-{}'.format(ver_mode),
|
||||
"{}-enterprise-build-e2e-publish".format(ver_mode),
|
||||
"{}-enterprise-test-frontend".format(ver_mode),
|
||||
"{}-enterprise-test-backend".format(ver_mode),
|
||||
"{}-enterprise-integration-tests".format(ver_mode),
|
||||
],
|
||||
environment = environment,
|
||||
)
|
||||
@ -368,7 +381,10 @@ def enterprise_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
),
|
||||
test_frontend_enterprise(trigger, ver_mode, source = source),
|
||||
test_backend_enterprise(trigger, ver_mode, source = source),
|
||||
pipeline(
|
||||
]
|
||||
|
||||
if ver_mode not in ("release"):
|
||||
pipelines.append(pipeline(
|
||||
name = "{}-enterprise-integration-tests".format(ver_mode),
|
||||
edition = "enterprise",
|
||||
trigger = trigger,
|
||||
@ -391,16 +407,12 @@ def enterprise_pipelines(ver_mode = ver_mode, trigger = release_trigger):
|
||||
[
|
||||
wire_install_step(),
|
||||
] +
|
||||
integration_test_steps +
|
||||
[
|
||||
redis_integration_tests_step(),
|
||||
memcached_integration_tests_step(),
|
||||
],
|
||||
integration_test_steps,
|
||||
environment = environment,
|
||||
volumes = volumes,
|
||||
),
|
||||
windows_pipeline,
|
||||
]
|
||||
))
|
||||
|
||||
pipelines.append(windows_pipeline)
|
||||
|
||||
return pipelines
|
||||
|
||||
@ -655,3 +667,77 @@ def artifacts_page_pipeline():
|
||||
environment = {"EDITION": "enterprise"},
|
||||
),
|
||||
]
|
||||
|
||||
def integration_test_pipelines():
|
||||
"""
|
||||
Trigger integration tests on release builds
|
||||
|
||||
These pipelines should be triggered when we have a release that does a lot of
|
||||
cherry-picking and we still want to have all the integration tests run on that
|
||||
particular build.
|
||||
|
||||
Returns:
|
||||
List of Drone pipelines (one for enterprise and one for oss integration tests)
|
||||
"""
|
||||
trigger = {
|
||||
"event": ["promote"],
|
||||
"target": "integration-tests",
|
||||
}
|
||||
pipelines = []
|
||||
volumes = integration_test_services_volumes()
|
||||
oss_integration_test_steps = [
|
||||
postgres_integration_tests_step(),
|
||||
mysql_integration_tests_step(),
|
||||
]
|
||||
enterprise_integration_test_steps = oss_integration_test_steps + [
|
||||
redis_integration_tests_step(),
|
||||
memcached_integration_tests_step(),
|
||||
]
|
||||
source = "${DRONE_TAG}"
|
||||
|
||||
pipelines.append(pipeline(
|
||||
name = "integration-tests-oss",
|
||||
edition = "oss",
|
||||
trigger = trigger,
|
||||
services = integration_test_services(edition = "oss"),
|
||||
steps = [
|
||||
download_grabpl_step(),
|
||||
identify_runner_step(),
|
||||
verify_gen_cue_step(),
|
||||
verify_gen_jsonnet_step(),
|
||||
wire_install_step(),
|
||||
] +
|
||||
oss_integration_test_steps,
|
||||
environment = {"EDITION": "oss"},
|
||||
volumes = volumes,
|
||||
))
|
||||
|
||||
pipelines.append(pipeline(
|
||||
name = "integration-tests-enterprise",
|
||||
edition = "enterprise",
|
||||
trigger = trigger,
|
||||
services = integration_test_services(edition = "enterprise"),
|
||||
steps = [
|
||||
download_grabpl_step(),
|
||||
identify_runner_step(),
|
||||
clone_enterprise_step(source = source),
|
||||
init_enterprise_step(ver_mode),
|
||||
] +
|
||||
with_deps(
|
||||
[
|
||||
verify_gen_cue_step(),
|
||||
verify_gen_jsonnet_step(),
|
||||
],
|
||||
[
|
||||
"init-enterprise",
|
||||
],
|
||||
) +
|
||||
[
|
||||
wire_install_step(),
|
||||
] +
|
||||
enterprise_integration_test_steps,
|
||||
environment = {"EDITION": "enterprise"},
|
||||
volumes = volumes,
|
||||
))
|
||||
|
||||
return pipelines
|
||||
|
Loading…
Reference in New Issue
Block a user