mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Split frontend and backend pipelines (#48362)
This commit is contained in:
parent
e9a93ebfc9
commit
ff23f78b51
92
.drone.yml
92
.drone.yml
@ -1,7 +1,70 @@
|
||||
---
|
||||
depends_on: []
|
||||
kind: pipeline
|
||||
name: pr-test
|
||||
name: pr-test-frontend
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
arch: amd64
|
||||
os: linux
|
||||
services: []
|
||||
steps:
|
||||
- commands:
|
||||
- echo $DRONE_RUNNER_NAME
|
||||
image: alpine:3.15
|
||||
name: identify-runner
|
||||
- commands:
|
||||
- mkdir -p bin
|
||||
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.41/grabpl
|
||||
- chmod +x bin/grabpl
|
||||
image: byrnedo/alpine-curl:0.1.8
|
||||
name: grabpl
|
||||
- commands:
|
||||
- ./bin/grabpl gen-version --build-id ${DRONE_BUILD_NUMBER}
|
||||
depends_on:
|
||||
- grabpl
|
||||
image: grafana/build-container:1.5.4
|
||||
name: gen-version
|
||||
- commands:
|
||||
- yarn install --immutable
|
||||
depends_on:
|
||||
- grabpl
|
||||
image: grafana/build-container:1.5.4
|
||||
name: yarn-install
|
||||
- commands:
|
||||
- yarn run prettier:check
|
||||
- yarn run lint
|
||||
- yarn run i18n:compile
|
||||
- yarn run typecheck
|
||||
depends_on:
|
||||
- yarn-install
|
||||
environment:
|
||||
TEST_MAX_WORKERS: 50%
|
||||
image: grafana/build-container:1.5.4
|
||||
name: lint-frontend
|
||||
- commands:
|
||||
- yarn run ci:test-frontend
|
||||
depends_on:
|
||||
- yarn-install
|
||||
environment:
|
||||
TEST_MAX_WORKERS: 50%
|
||||
image: grafana/build-container:1.5.4
|
||||
name: test-frontend
|
||||
trigger:
|
||||
event:
|
||||
- pull_request
|
||||
paths:
|
||||
exclude:
|
||||
- docs/**
|
||||
type: docker
|
||||
volumes:
|
||||
- host:
|
||||
path: /var/run/docker.sock
|
||||
name: docker
|
||||
---
|
||||
depends_on: []
|
||||
kind: pipeline
|
||||
name: pr-test-backend
|
||||
node:
|
||||
type: no-parallel
|
||||
platform:
|
||||
@ -29,12 +92,6 @@ steps:
|
||||
- make gen-go
|
||||
image: grafana/build-container:1.5.4
|
||||
name: wire-install
|
||||
- commands:
|
||||
- yarn install --immutable
|
||||
depends_on:
|
||||
- grabpl
|
||||
image: grafana/build-container:1.5.4
|
||||
name: yarn-install
|
||||
- commands:
|
||||
- ./bin/grabpl verify-drone
|
||||
depends_on:
|
||||
@ -67,17 +124,6 @@ steps:
|
||||
CGO_ENABLED: "1"
|
||||
image: grafana/build-container:1.5.4
|
||||
name: lint-backend
|
||||
- commands:
|
||||
- yarn run prettier:check
|
||||
- yarn run lint
|
||||
- yarn run i18n:compile
|
||||
- yarn run typecheck
|
||||
depends_on:
|
||||
- yarn-install
|
||||
environment:
|
||||
TEST_MAX_WORKERS: 50%
|
||||
image: grafana/build-container:1.5.4
|
||||
name: lint-frontend
|
||||
- commands:
|
||||
- ./bin/grabpl test-backend --edition oss
|
||||
depends_on:
|
||||
@ -90,14 +136,6 @@ steps:
|
||||
- wire-install
|
||||
image: grafana/build-container:1.5.4
|
||||
name: test-backend-integration
|
||||
- commands:
|
||||
- yarn run ci:test-frontend
|
||||
depends_on:
|
||||
- yarn-install
|
||||
environment:
|
||||
TEST_MAX_WORKERS: 50%
|
||||
image: grafana/build-container:1.5.4
|
||||
name: test-frontend
|
||||
trigger:
|
||||
event:
|
||||
- pull_request
|
||||
@ -4536,6 +4574,6 @@ kind: secret
|
||||
name: gcp_upload_artifacts_key
|
||||
---
|
||||
kind: signature
|
||||
hmac: 48f6a3ade75e5993b4a49d8f1a5b7d184a63767a108b16c5f71eca6c986da9c7
|
||||
hmac: 7ca5d844d600cf20dd0f568ab2753aa82a57a159a7b9dcf0435fe87003d9447e
|
||||
|
||||
...
|
||||
|
@ -56,11 +56,66 @@ load(
|
||||
)
|
||||
|
||||
ver_mode = 'pr'
|
||||
trigger = {
|
||||
'event': [
|
||||
'pull_request',
|
||||
],
|
||||
'paths': {
|
||||
'exclude': [
|
||||
'docs/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def pr_test_frontend():
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
download_grabpl_step(),
|
||||
gen_version_step(ver_mode),
|
||||
yarn_install_step(),
|
||||
]
|
||||
test_steps = [
|
||||
lint_frontend_step(),
|
||||
test_frontend_step(),
|
||||
]
|
||||
return pipeline(
|
||||
name='pr-test-frontend', edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
|
||||
)
|
||||
|
||||
|
||||
def pr_test_backend(edition):
|
||||
include_enterprise2 = edition == 'enterprise'
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
download_grabpl_step(),
|
||||
gen_version_step(ver_mode),
|
||||
wire_install_step(),
|
||||
]
|
||||
test_steps = [
|
||||
lint_drone_step(),
|
||||
codespell_step(),
|
||||
shellcheck_step(),
|
||||
lint_backend_step(edition=edition),
|
||||
test_backend_step(edition=edition),
|
||||
test_backend_integration_step(edition=edition),
|
||||
]
|
||||
if include_enterprise2:
|
||||
edition2 = 'enterprise2'
|
||||
test_steps.extend([
|
||||
lint_backend_step(edition=edition2),
|
||||
test_backend_step(edition=edition2),
|
||||
test_backend_integration_step(edition=edition2),
|
||||
])
|
||||
return pipeline(
|
||||
name='pr-test-backend', edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
|
||||
)
|
||||
|
||||
|
||||
def pr_pipelines(edition):
|
||||
services = integration_test_services(edition)
|
||||
volumes = integration_test_services_volumes()
|
||||
variants = ['linux-amd64', 'linux-amd64-musl', 'darwin-amd64', 'windows-amd64', 'armv6',]
|
||||
variants = ['linux-amd64', 'linux-amd64-musl', 'darwin-amd64', 'windows-amd64', 'armv6', ]
|
||||
include_enterprise2 = edition == 'enterprise'
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
@ -69,16 +124,6 @@ def pr_pipelines(edition):
|
||||
wire_install_step(),
|
||||
yarn_install_step(),
|
||||
]
|
||||
test_steps = [
|
||||
lint_drone_step(),
|
||||
codespell_step(),
|
||||
shellcheck_step(),
|
||||
lint_backend_step(edition=edition),
|
||||
lint_frontend_step(),
|
||||
test_backend_step(edition=edition),
|
||||
test_backend_integration_step(edition=edition),
|
||||
test_frontend_step(),
|
||||
]
|
||||
build_steps = [
|
||||
build_backend_step(edition=edition, ver_mode=ver_mode, variants=variants),
|
||||
build_frontend_step(edition=edition, ver_mode=ver_mode),
|
||||
@ -96,11 +141,6 @@ def pr_pipelines(edition):
|
||||
edition2 = 'enterprise2'
|
||||
build_steps.append(benchmark_ldap_step())
|
||||
services.append(ldap_service())
|
||||
test_steps.extend([
|
||||
lint_backend_step(edition=edition2),
|
||||
test_backend_step(edition=edition2),
|
||||
test_backend_integration_step(edition=edition2),
|
||||
])
|
||||
build_steps.extend([
|
||||
build_backend_step(edition=edition2, ver_mode=ver_mode, variants=['linux-amd64']),
|
||||
])
|
||||
@ -117,7 +157,7 @@ def pr_pipelines(edition):
|
||||
build_storybook_step(edition=edition, ver_mode=ver_mode),
|
||||
test_a11y_frontend_step(ver_mode=ver_mode, edition=edition),
|
||||
copy_packages_for_docker_step(),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, archs=['amd64',]),
|
||||
build_docker_images_step(edition=edition, ver_mode=ver_mode, archs=['amd64', ]),
|
||||
])
|
||||
|
||||
if include_enterprise2:
|
||||
@ -126,28 +166,18 @@ def pr_pipelines(edition):
|
||||
memcached_integration_tests_step(edition=edition, ver_mode=ver_mode),
|
||||
])
|
||||
build_steps.extend([
|
||||
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise2, variants=['linux-amd64']),
|
||||
package_step(edition=edition2, ver_mode=ver_mode, include_enterprise2=include_enterprise2,
|
||||
variants=['linux-amd64']),
|
||||
])
|
||||
|
||||
trigger = {
|
||||
'event': [
|
||||
'pull_request',
|
||||
],
|
||||
'paths': {
|
||||
'exclude': [
|
||||
'docs/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
return [
|
||||
pr_test_frontend(),
|
||||
pr_test_backend(edition),
|
||||
pipeline(
|
||||
name='pr-test', edition=edition, trigger=trigger, services=[], steps=init_steps + test_steps,
|
||||
), pipeline(
|
||||
name='pr-build-e2e', edition=edition, trigger=trigger, services=[], steps=init_steps + build_steps,
|
||||
), pipeline(
|
||||
name='pr-integration-tests', edition=edition, trigger=trigger, services=services,
|
||||
steps=[download_grabpl_step(), identify_runner_step(),] + integration_test_steps,
|
||||
steps=[download_grabpl_step(), identify_runner_step(), ] + integration_test_steps,
|
||||
volumes=volumes,
|
||||
), docs_pipelines(edition, ver_mode, trigger_docs())
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user