add redis integration test for enterprise (#32617)

This commit is contained in:
Kevin Minehart
2021-04-06 08:50:54 -05:00
committed by GitHub
parent 823f0bc460
commit 5c1d4777b2
5 changed files with 126 additions and 33 deletions

View File

@@ -17,7 +17,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
@@ -259,7 +259,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
@@ -591,7 +591,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone
- name: build-windows-installer
@@ -641,7 +641,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
environment:
@@ -726,7 +726,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- ./bin/grabpl verify-version ${DRONE_TAG}
@@ -1033,7 +1033,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone
- name: build-windows-installer
@@ -1084,7 +1084,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
@@ -1345,6 +1345,17 @@ steps:
- test-backend
- test-frontend
- name: redis-integration-tests
image: grafana/build-container:1.4.1
commands:
- ./bin/dockerize -wait tcp://redis:6379/0 -timeout 120s
- ./bin/grabpl integration-tests
environment:
REDIS_URL: redis://redis:6379/0
depends_on:
- test-backend
- test-frontend
- name: upload-cdn-assets
image: grafana/grafana-ci-deploy:1.3.1
commands:
@@ -1367,6 +1378,7 @@ steps:
- end-to-end-tests
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
- name: package-enterprise2
image: grafana/build-container:1.4.1
@@ -1430,6 +1442,7 @@ steps:
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
services:
- name: postgres
@@ -1447,6 +1460,9 @@ services:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: grafana
- name: redis
image: redis:6.2.1-alpine
trigger:
ref:
- refs/tags/v*
@@ -1474,7 +1490,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
- git checkout ${DRONE_TAG}
@@ -1540,7 +1556,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- ./bin/grabpl verify-version ${DRONE_TAG}
@@ -1645,7 +1661,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- ./bin/grabpl verify-version v7.3.0-test
@@ -1941,7 +1957,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone
- name: build-windows-installer
@@ -1992,7 +2008,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
@@ -2247,6 +2263,17 @@ steps:
- test-backend
- test-frontend
- name: redis-integration-tests
image: grafana/build-container:1.4.1
commands:
- ./bin/dockerize -wait tcp://redis:6379/0 -timeout 120s
- ./bin/grabpl integration-tests
environment:
REDIS_URL: redis://redis:6379/0
depends_on:
- test-backend
- test-frontend
- name: upload-cdn-assets
image: grafana/grafana-ci-deploy:1.3.1
commands:
@@ -2269,6 +2296,7 @@ steps:
- end-to-end-tests
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
- name: package-enterprise2
image: grafana/build-container:1.4.1
@@ -2332,6 +2360,7 @@ steps:
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
services:
- name: postgres
@@ -2349,6 +2378,9 @@ services:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: grafana
- name: redis
image: redis:6.2.1-alpine
trigger:
event:
- custom
@@ -2376,7 +2408,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
- git checkout master
@@ -2442,7 +2474,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- ./bin/grabpl verify-version v7.3.0-test
@@ -2547,7 +2579,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- ./bin/grabpl verify-drone
- curl -fLO https://github.com/jwilder/dockerize/releases/download/v$${DOCKERIZE_VERSION}/dockerize-linux-amd64-v$${DOCKERIZE_VERSION}.tar.gz
@@ -2818,7 +2850,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- .\grabpl.exe verify-drone
- name: build-windows-installer
@@ -2865,7 +2897,7 @@ steps:
image: grafana/build-container:1.4.1
commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/grabpl
- chmod +x bin/grabpl
- git clone "https://$${GITHUB_TOKEN}@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
@@ -3123,6 +3155,17 @@ steps:
- test-backend
- test-frontend
- name: redis-integration-tests
image: grafana/build-container:1.4.1
commands:
- ./bin/dockerize -wait tcp://redis:6379/0 -timeout 120s
- ./bin/grabpl integration-tests
environment:
REDIS_URL: redis://redis:6379/0
depends_on:
- test-backend
- test-frontend
- name: upload-cdn-assets
image: grafana/grafana-ci-deploy:1.3.1
commands:
@@ -3145,6 +3188,7 @@ steps:
- end-to-end-tests
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
- name: package-enterprise2
image: grafana/build-container:1.4.1
@@ -3208,6 +3252,7 @@ steps:
- end-to-end-tests-enterprise2
- mysql-integration-tests
- postgres-integration-tests
- redis-integration-tests
services:
- name: postgres
@@ -3225,6 +3270,9 @@ services:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: grafana
- name: redis
image: redis:6.2.1-alpine
trigger:
ref:
- refs/heads/v*
@@ -3252,7 +3300,7 @@ steps:
image: grafana/ci-wix:0.1.1
commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.43/windows/grabpl.exe -OutFile grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.48/windows/grabpl.exe -OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
- git checkout $$env:DRONE_BRANCH

View File

@@ -1,4 +1,4 @@
grabpl_version = '0.5.43'
grabpl_version = '0.5.48'
build_image = 'grafana/build-container:1.4.1'
publish_image = 'grafana/grafana-ci-deploy:1.3.1'
grafana_docker_image = 'grafana/drone-grafana-docker:0.3.2'
@@ -799,6 +799,23 @@ def mysql_integration_tests_step():
],
}
def redis_integration_tests_step():
return {
'name': 'redis-integration-tests',
'image': build_image,
'depends_on': [
'test-backend',
'test-frontend',
],
'environment': {
'REDIS_URL': 'redis://redis:6379/0',
},
'commands': [
'./bin/dockerize -wait tcp://redis:6379/0 -timeout 120s',
'./bin/grabpl integration-tests',
],
}
def release_canary_npm_packages_step(edition):
if edition in ('enterprise', 'enterprise2'):
return None
@@ -856,15 +873,20 @@ def upload_packages_step(edition, ver_mode, is_downstream=False):
else:
cmd = './bin/grabpl upload-packages --edition {}{}'.format(edition, packages_bucket)
dependencies = [
'package' + enterprise2_sfx(edition),
'end-to-end-tests' + enterprise2_sfx(edition),
'mysql-integration-tests',
'postgres-integration-tests',
]
if edition in ('enterprise', 'enterprise2'):
dependencies.append('redis-integration-tests')
return {
'name': 'upload-packages' + enterprise2_sfx(edition),
'image': publish_image,
'depends_on': [
'package' + enterprise2_sfx(edition),
'end-to-end-tests' + enterprise2_sfx(edition),
'mysql-integration-tests',
'postgres-integration-tests',
],
'depends_on': dependencies,
'environment': {
'GCP_GRAFANA_UPLOAD_KEY': {
'from_secret': 'gcp_key',
@@ -1047,8 +1069,8 @@ def get_windows_steps(edition, ver_mode, is_downstream=False):
return steps
def integration_test_services():
return [
def integration_test_services(edition):
services = [
{
'name': 'postgres',
'image': 'postgres:12.3-alpine',
@@ -1069,3 +1091,12 @@ def integration_test_services():
},
},
]
if edition in ('enterprise', 'enterprise2'):
services.append({
'name': 'redis',
'image': 'redis:6.2.1-alpine',
'environment': {},
})
return services

View File

@@ -20,6 +20,7 @@ load(
'build_docker_images_step',
'postgres_integration_tests_step',
'mysql_integration_tests_step',
'redis_integration_tests_step',
'get_windows_steps',
'benchmark_ldap_step',
'ldap_service',
@@ -77,6 +78,12 @@ def get_steps(edition, is_downstream=False):
build_docker_images_step(edition=edition, ver_mode=ver_mode, ubuntu=True, publish=publish),
postgres_integration_tests_step(),
mysql_integration_tests_step(),
])
if include_enterprise2:
steps.append(redis_integration_tests_step())
steps.extend([
release_canary_npm_packages_step(edition),
upload_packages_step(edition=edition, ver_mode=ver_mode, is_downstream=is_downstream),
deploy_to_kubernetes_step(edition=edition, is_downstream=is_downstream),
@@ -104,7 +111,7 @@ def get_steps(edition, is_downstream=False):
return steps, windows_steps, publish_steps
def master_pipelines(edition):
services = integration_test_services()
services = integration_test_services(edition)
trigger = {
'event': ['push',],
'branch': 'master',

View File

@@ -21,6 +21,7 @@ load(
'build_docker_images_step',
'postgres_integration_tests_step',
'mysql_integration_tests_step',
'redis_integration_tests_step',
'benchmark_ldap_step',
'ldap_service',
'integration_test_services',
@@ -29,7 +30,7 @@ load(
ver_mode = 'pr'
def pr_pipelines(edition):
services = integration_test_services()
services = integration_test_services(edition)
variants = ['linux-x64', 'linux-x64-musl', 'osx64', 'win64',]
include_enterprise2 = edition == 'enterprise'
steps = [
@@ -72,6 +73,7 @@ def pr_pipelines(edition):
if include_enterprise2:
steps.extend([
redis_integration_tests_step(),
package_step(edition=edition2, ver_mode=ver_mode, variants=['linux-x64']),
e2e_tests_server_step(edition=edition2, port=3002),
e2e_tests_step(edition=edition2, port=3002),

View File

@@ -22,6 +22,7 @@ load(
'build_docker_images_step',
'postgres_integration_tests_step',
'mysql_integration_tests_step',
'redis_integration_tests_step',
'get_windows_steps',
'benchmark_ldap_step',
'ldap_service',
@@ -101,6 +102,9 @@ def get_steps(edition, ver_mode):
mysql_integration_tests_step(),
])
if include_enterprise2:
steps.append(redis_integration_tests_step())
if should_upload:
steps.append(upload_cdn(edition=edition))
steps.append(upload_packages_step(edition=edition, ver_mode=ver_mode))
@@ -125,7 +129,7 @@ def get_steps(edition, ver_mode):
return steps, windows_steps
def get_oss_pipelines(trigger, ver_mode):
services = integration_test_services()
services = integration_test_services(edition='oss')
steps, windows_steps = get_steps(edition='oss', ver_mode=ver_mode)
return [
pipeline(
@@ -139,7 +143,7 @@ def get_oss_pipelines(trigger, ver_mode):
]
def get_enterprise_pipelines(trigger, ver_mode):
services = integration_test_services()
services = integration_test_services(edition='enterprise')
steps, windows_steps = get_steps(edition='enterprise', ver_mode=ver_mode)
return [
pipeline(
@@ -153,7 +157,8 @@ def get_enterprise_pipelines(trigger, ver_mode):
]
def release_pipelines(ver_mode='release', trigger=None):
services = integration_test_services()
# 'enterprise' edition services contain both OSS and enterprise services
services = integration_test_services(edition='enterprise')
if not trigger:
trigger = {
'ref': ['refs/tags/v*',],
@@ -188,7 +193,7 @@ def release_pipelines(ver_mode='release', trigger=None):
def test_release_pipelines():
ver_mode = 'test-release'
services = integration_test_services()
services = integration_test_services(edition='enterprise')
trigger = {
'event': ['custom',],
}