Files
grafana/scripts/drone/pipelines/lint_backend.star
Kat Yang 293993ac09 CI: Add validate-modfile step in drone (#69232)
* chore: test drone step

* revert changes to lint_backend_step()

* try to add validate_modifle_step

* try to run check func

* remove CGO and wire-install

* update filepath to scripts/modowners

* make drone again

* correct the filepath

* try to ignore validate-modfile step if fail

* chore: remove log that says i am a programmer

* fix: spell modfile correctly

* chore: remove unecessary comment

* fix: check go.mod instead of go.txd
2023-05-31 16:57:45 -04:00

63 lines
1.4 KiB
Plaintext

"""
This module returns the pipeline used for linting backend code.
"""
load(
"scripts/drone/steps/lib.star",
"compile_build_cmd",
"enterprise_setup_step",
"identify_runner_step",
"lint_backend_step",
"lint_drone_step",
"validate_modfile_step",
"wire_install_step",
)
load(
"scripts/drone/utils/utils.star",
"pipeline",
)
def lint_backend_pipeline(trigger, ver_mode):
"""Generates the pipelines used linting backend code.
Args:
trigger: controls which events can trigger the pipeline execution.
ver_mode: used in the naming of the pipeline.
Returns:
Drone pipeline.
"""
environment = {"EDITION": "oss"}
wire_step = wire_install_step()
wire_step.update({"depends_on": []})
init_steps = [
identify_runner_step(),
compile_build_cmd(),
]
if ver_mode == "pr":
# In pull requests, attempt to clone grafana enterprise.
init_steps.append(enterprise_setup_step())
wire_step["depends_on"].append("clone-enterprise")
init_steps.append(wire_step)
test_steps = [
lint_backend_step(),
validate_modfile_step(),
]
if ver_mode == "main":
test_steps.append(lint_drone_step())
return pipeline(
name = "{}-lint-backend".format(ver_mode),
edition = "oss",
trigger = trigger,
services = [],
steps = init_steps + test_steps,
environment = environment,
)