Files
grafana/scripts/drone/utils/utils.star
Dimitris Sotirakis 99900cbdd8 CI: Make grabpl and lint-drone standalone steps (#41644)
* Extract grabpl download as separate step

* Change image to alpine

* Change image to curlimage

* Change image to alpine-curl

* Extract lint-drone step

* Add lint-drone to release and main pipelines

* Rename lint_drone to lint_drone_step

* Sign drone
2021-11-15 17:14:33 +00:00

77 lines
2.0 KiB
Plaintext

load(
'scripts/drone/steps/lib.star',
'initialize_step',
'download_grabpl',
'slack_step',
)
load('scripts/drone/vault.star', 'from_secret', 'github_token', 'pull_secret', 'drone_token')
def pipeline(
name, edition, trigger, steps, ver_mode, services=[], platform='linux', depends_on=[],
is_downstream=False, install_deps=True,
):
if platform != 'windows':
platform_conf = {
'platform': {
'os': 'linux',
'arch': 'amd64'
},
# A shared cache is used on the host
# To avoid issues with parallel builds, we run this repo on single build agents
'node': {
'type': 'no-parallel'
}
}
else:
platform_conf = {
'platform': {
'os': 'windows',
'arch': 'amd64',
'version': '1809',
}
}
grabpl_step = [download_grabpl()]
pipeline = {
'kind': 'pipeline',
'type': 'docker',
'name': name,
'trigger': trigger,
'services': services,
'steps': grabpl_step + initialize_step(
edition, platform, is_downstream=is_downstream, install_deps=install_deps, ver_mode=ver_mode,
) + steps,
'depends_on': depends_on,
}
pipeline.update(platform_conf)
if edition in ('enterprise', 'enterprise2'):
pipeline['image_pull_secrets'] = [pull_secret]
# We have a custom clone step for enterprise
pipeline['clone'] = {
'disable': True,
}
return pipeline
def notify_pipeline(name, slack_channel, trigger, depends_on=[]):
trigger = dict(trigger, status = ['failure'])
return {
'kind': 'pipeline',
'type': 'docker',
'platform': {
'os': 'linux',
'arch': 'amd64',
},
'name': name,
'trigger': trigger,
'steps': [
slack_step(slack_channel),
],
'depends_on': depends_on,
}