CI: Run e2e tests in parallel using multiple suites (#41748)

* Split suite1 to multiple e2e test suites

* Update drone yaml

* Add missing arg

* Extract cypress install step

* Change image on e2e tests step

* Sync with main

* Add cypress cache volume

* Try with grafana/ci-e2e:12.19.0-1 image

* Update grabpl version to 2.7.2

* Revert a11y failure back to 'always'
This commit is contained in:
Dimitris Sotirakis
2021-11-24 11:20:11 +01:00
committed by GitHub
parent d624230b5d
commit db122e9b2c
36 changed files with 711 additions and 97 deletions
+36 -11
View File
@@ -1,6 +1,6 @@
load('scripts/drone/vault.star', 'from_secret', 'github_token', 'pull_secret', 'drone_token')
grabpl_version = '2.7.1'
grabpl_version = '2.7.2'
build_image = 'grafana/build-container:1.4.6'
publish_image = 'grafana/grafana-ci-deploy:1.3.1'
grafana_docker_image = 'grafana/drone-grafana-docker:0.3.2'
@@ -276,7 +276,10 @@ def publish_storybook_step(edition, ver_mode):
'image': publish_image,
'depends_on': [
'build-storybook',
'end-to-end-tests',
'end-to-end-tests-dashboards-suite',
'end-to-end-tests-panels-suite',
'end-to-end-tests-smoke-tests-suite',
'end-to-end-tests-various-suite',
],
'environment': {
'GCP_KEY': from_secret('gcp_key'),
@@ -650,24 +653,40 @@ def e2e_tests_server_step(edition, port=3001):
],
}
def install_cypress_step():
return {
'name': 'cypress',
'image': 'grafana/ci-e2e:12.19.0-1',
'depends_on': [
'package',
],
'commands': [
'yarn run cypress install',
],
'volumes': [{
'name': 'cypress_cache',
'path': '/root/.cache/Cypress'
}],
}
def e2e_tests_step(edition, port=3001, tries=None):
cmd = './bin/grabpl e2e-tests --port {}'.format(port)
def e2e_tests_step(suite, edition, port=3001, tries=None):
cmd = './bin/grabpl e2e-tests --port {} --suite {}'.format(port, suite)
if tries:
cmd += ' --tries {}'.format(tries)
return {
'name': 'end-to-end-tests' + enterprise2_suffix(edition),
'name': 'end-to-end-tests-{}'.format(suite) + enterprise2_suffix(edition),
'image': 'grafana/ci-e2e:12.19.0-1',
'depends_on': [
'end-to-end-tests-server' + enterprise2_suffix(edition),
'cypress',
],
'environment': {
'HOST': 'end-to-end-tests-server' + enterprise2_suffix(edition),
},
'volumes': [{
'name': 'cypress_cache',
'path': '/root/.cache/Cypress'
}],
'commands': [
# 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
'yarn run cypress install',
cmd,
],
}
@@ -832,7 +851,10 @@ def release_canary_npm_packages_step(edition):
'name': 'release-canary-npm-packages',
'image': build_image,
'depends_on': [
'end-to-end-tests',
'end-to-end-tests-dashboards-suite',
'end-to-end-tests-panels-suite',
'end-to-end-tests-smoke-tests-suite',
'end-to-end-tests-various-suite',
],
'environment': {
'GITHUB_PACKAGE_TOKEN': from_secret('github_package_token'),
@@ -862,7 +884,10 @@ def upload_packages_step(edition, ver_mode, is_downstream=False):
cmd = './bin/grabpl upload-packages --edition {}{}'.format(edition, packages_bucket)
dependencies = [
'end-to-end-tests' + enterprise2_suffix(edition),
'end-to-end-tests-dashboards-suite' + enterprise2_suffix(edition),
'end-to-end-tests-panels-suite' + enterprise2_suffix(edition),
'end-to-end-tests-smoke-tests-suite' + enterprise2_suffix(edition),
'end-to-end-tests-various-suite' + enterprise2_suffix(edition),
]
if edition in ('enterprise', 'enterprise2'):