diff --git a/.drone.star b/.drone.star index 8c2a3c03767..c0a804ddf8d 100644 --- a/.drone.star +++ b/.drone.star @@ -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() ) diff --git a/.drone.yml b/.drone.yml index 62ff2bb6af0..4f8d457e355 100644 --- a/.drone.yml +++ b/.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 ... diff --git a/scripts/drone/events/release.star b/scripts/drone/events/release.star index 09e71731b9a..52fb9ceba25 100644 --- a/scripts/drone/events/release.star +++ b/scripts/drone/events/release.star @@ -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