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
+40 -9
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
+8 -1
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',
+3 -1
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),
+9 -4
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',],
}