mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
CI: Introduce lint-backend pipeline (#55476)
* Introduce lint-backend pipeline * Use go image and install make * Don't run lint pipeline on .drone.yml changes
This commit is contained in:
committed by
GitHub
parent
b25ea75bac
commit
c18432971b
@@ -47,6 +47,11 @@ load(
|
||||
'enterprise_downstream_pipeline',
|
||||
)
|
||||
|
||||
load(
|
||||
'scripts/drone/pipelines/lint_backend.star',
|
||||
'lint_backend_pipeline',
|
||||
)
|
||||
|
||||
load('scripts/drone/vault.star', 'from_secret')
|
||||
|
||||
|
||||
@@ -84,6 +89,7 @@ def main_pipelines(edition):
|
||||
docs_pipelines(edition, ver_mode, trigger_docs_main()),
|
||||
test_frontend(trigger, ver_mode),
|
||||
test_backend(trigger, ver_mode),
|
||||
lint_backend_pipeline(trigger, ver_mode),
|
||||
build_e2e(trigger, ver_mode, edition),
|
||||
integration_tests(trigger, ver_mode, edition),
|
||||
windows(trigger, edition, ver_mode),
|
||||
|
||||
@@ -39,6 +39,11 @@ load(
|
||||
'shellcheck_pipeline',
|
||||
)
|
||||
|
||||
load(
|
||||
'scripts/drone/pipelines/lint_backend.star',
|
||||
'lint_backend_pipeline',
|
||||
)
|
||||
|
||||
ver_mode = 'pr'
|
||||
trigger = {
|
||||
'event': [
|
||||
@@ -59,6 +64,7 @@ def pr_pipelines(edition):
|
||||
verify_drone(get_pr_trigger(include_paths=['scripts/drone/**', '.drone.yml', '.drone.star']), ver_mode),
|
||||
test_frontend(get_pr_trigger(exclude_paths=['pkg/**', 'packaging/**', 'go.sum', 'go.mod']), ver_mode),
|
||||
test_backend(get_pr_trigger(include_paths=['pkg/**', 'packaging/**', '.drone.yml', 'conf/**', 'go.sum', 'go.mod', 'public/app/plugins/**/plugin.json', 'devenv/**']), ver_mode),
|
||||
lint_backend_pipeline(get_pr_trigger(include_paths=['pkg/**', 'packaging/**', 'conf/**', 'go.sum', 'go.mod', 'public/app/plugins/**/plugin.json', 'devenv/**']), ver_mode),
|
||||
build_e2e(trigger, ver_mode, edition),
|
||||
integration_tests(get_pr_trigger(include_paths=['pkg/**', 'packaging/**', '.drone.yml', 'conf/**', 'go.sum', 'go.mod', 'public/app/plugins/**/plugin.json']), ver_mode, edition),
|
||||
docs_pipelines(edition, ver_mode, trigger_docs_pr()),
|
||||
|
||||
31
scripts/drone/pipelines/lint_backend.star
Normal file
31
scripts/drone/pipelines/lint_backend.star
Normal file
@@ -0,0 +1,31 @@
|
||||
load(
|
||||
'scripts/drone/steps/lib.star',
|
||||
'identify_runner_step',
|
||||
'wire_install_step',
|
||||
'lint_backend_step',
|
||||
'lint_drone_step',
|
||||
'compile_build_cmd',
|
||||
)
|
||||
|
||||
load(
|
||||
'scripts/drone/utils/utils.star',
|
||||
'pipeline',
|
||||
)
|
||||
|
||||
def lint_backend_pipeline(trigger, ver_mode):
|
||||
wire_step = wire_install_step()
|
||||
wire_step.update({ 'depends_on': [] })
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
compile_build_cmd(),
|
||||
wire_step,
|
||||
]
|
||||
test_steps = [
|
||||
lint_backend_step(edition="oss"),
|
||||
]
|
||||
if ver_mode == 'main':
|
||||
test_steps.extend([lint_drone_step()])
|
||||
|
||||
return pipeline(
|
||||
name='{}-lint-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
|
||||
)
|
||||
@@ -1,10 +1,7 @@
|
||||
load(
|
||||
'scripts/drone/steps/lib.star',
|
||||
'identify_runner_step',
|
||||
'download_grabpl_step',
|
||||
'wire_install_step',
|
||||
'lint_backend_step',
|
||||
'lint_drone_step',
|
||||
'test_backend_step',
|
||||
'test_backend_integration_step',
|
||||
'verify_gen_cue_step',
|
||||
@@ -19,18 +16,14 @@ load(
|
||||
def test_backend(trigger, ver_mode):
|
||||
init_steps = [
|
||||
identify_runner_step(),
|
||||
download_grabpl_step(),
|
||||
compile_build_cmd(),
|
||||
verify_gen_cue_step(edition="oss"),
|
||||
wire_install_step(),
|
||||
]
|
||||
test_steps = [
|
||||
lint_backend_step(edition="oss"),
|
||||
test_backend_step(edition="oss"),
|
||||
test_backend_integration_step(edition="oss"),
|
||||
]
|
||||
if ver_mode == 'main':
|
||||
test_steps.extend([lint_drone_step()])
|
||||
|
||||
return pipeline(
|
||||
name='{}-test-backend'.format(ver_mode), edition="oss", trigger=trigger, services=[], steps=init_steps + test_steps,
|
||||
|
||||
@@ -207,7 +207,7 @@ def enterprise_downstream_step(edition, ver_mode):
|
||||
def lint_backend_step(edition):
|
||||
return {
|
||||
'name': 'lint-backend' + enterprise2_suffix(edition),
|
||||
'image': build_image,
|
||||
'image': go_image,
|
||||
'environment': {
|
||||
# We need CGO because of go-sqlite3
|
||||
'CGO_ENABLED': '1',
|
||||
@@ -216,6 +216,7 @@ def lint_backend_step(edition):
|
||||
'wire-install',
|
||||
],
|
||||
'commands': [
|
||||
'apt-get update && apt-get install make',
|
||||
# Don't use Make since it will re-download the linters
|
||||
'make lint-go',
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user