Refactor starlark to remove references to the build_image (#74624)

* Refactor starlark to remove references to the build_image
This commit is contained in:
Kevin Minehart 2023-09-12 10:19:06 -05:00 committed by GitHub
parent 4f5728233c
commit 915f198ecb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 1129 additions and 2539 deletions

View File

@ -7,8 +7,9 @@
This module returns a Drone configuration including pipelines and secrets. This module returns a Drone configuration including pipelines and secrets.
""" """
load("scripts/drone/events/pr.star", "pr_pipelines") load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/events/main.star", "main_pipelines") load("scripts/drone/events/main.star", "main_pipelines")
load("scripts/drone/events/pr.star", "pr_pipelines")
load( load(
"scripts/drone/events/release.star", "scripts/drone/events/release.star",
"integration_test_pipelines", "integration_test_pipelines",
@ -17,24 +18,22 @@ load(
"publish_packages_pipeline", "publish_packages_pipeline",
) )
load( load(
"scripts/drone/rgm.star", "scripts/drone/pipelines/ci_images.star",
"rgm", "publish_ci_build_container_image_pipeline",
"publish_ci_windows_test_image_pipeline",
) )
load( load(
"scripts/drone/pipelines/publish_images.star", "scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public", "publish_image_pipelines_public",
) )
load(
"scripts/drone/pipelines/ci_images.star",
"publish_ci_build_container_image_pipeline",
"publish_ci_windows_test_image_pipeline",
)
load( load(
"scripts/drone/pipelines/windows.star", "scripts/drone/pipelines/windows.star",
"windows_test_backend", "windows_test_backend",
) )
load("scripts/drone/version.star", "version_branch_pipelines") load(
load("scripts/drone/events/cron.star", "cronjobs") "scripts/drone/rgm.star",
"rgm",
)
load("scripts/drone/vault.star", "secrets") load("scripts/drone/vault.star", "secrets")
def main(_ctx): def main(_ctx):
@ -50,7 +49,6 @@ def main(_ctx):
"event": ["promote"], "event": ["promote"],
"target": ["test-windows"], "target": ["test-windows"],
}, "oss", "testing")] + }, "oss", "testing")] +
version_branch_pipelines() +
integration_test_pipelines() + integration_test_pipelines() +
publish_ci_windows_test_image_pipeline() + publish_ci_windows_test_image_pipeline() +
publish_ci_build_container_image_pipeline() + publish_ci_build_container_image_pipeline() +

1441
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@ -291,7 +291,7 @@ scripts/drone/TAGS: $(shell find scripts/drone -name '*.star')
etags --lang none --regex="/def \(\w+\)[^:]+:/\1/" --regex="/\s*\(\w+\) =/\1/" $^ -o $@ etags --lang none --regex="/def \(\w+\)[^:]+:/\1/" --regex="/\s*\(\w+\) =/\1/" $^ -o $@
format-drone: format-drone:
buildifier -r scripts/drone buildifier --lint=fix -r scripts/drone
help: ## Display this help. help: ## Display this help.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

View File

@ -1,628 +0,0 @@
events/release.star,6652
ver_mode =ver_mode64,1602
release_trigger =release_trigger65,1623
def store_npm_packages_step():store_npm_packages_step74,1752
def retrieve_npm_packages_step():retrieve_npm_packages_step90,2193
def release_npm_packages_step():release_npm_packages_step107,2663
def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):oss_pipelines123,3076
environment =environment135,3492
edition =edition136,3529
services =services137,3549
volumes =volumes138,3609
package_steps =package_steps139,3659
publish_steps =publish_steps140,3682
should_publish =should_publish141,3705
should_upload =should_upload142,3748
init_steps =init_steps143,3818
build_steps =build_steps152,4033
integration_test_steps =integration_test_steps159,4342
build_storybook =build_storybook182,5254
publish_step =publish_step190,5674
store_npm_step =store_npm_step191,5758
windows_package_steps =windows_package_steps196,5957
windows_pipeline =windows_pipeline198,6044
name =name199,6077
edition =edition200,6127
trigger =trigger201,6154
steps =steps202,6181
platform =platform203,6256
depends_on =depends_on204,6286
environment =environment207,6393
pipelines =pipelines209,6434
name =name211,6470
edition =edition212,6550
trigger =trigger213,6581
services =services214,6612
steps =steps215,6639
environment =environment216,6717
volumes =volumes217,6756
name =name225,6970
edition =edition226,7038
trigger =trigger227,7073
services =services228,7108
steps =steps229,7145
environment =environment230,7329
volumes =volumes231,7372
deps =deps234,7433
def enterprise_pipelines(ver_mode = ver_mode, trigger = release_trigger):enterprise_pipelines247,7856
environment =environment259,8284
edition =edition260,8328
services =services261,8355
volumes =volumes262,8415
package_steps =package_steps263,8465
publish_steps =publish_steps264,8488
should_publish =should_publish265,8511
should_upload =should_upload266,8554
include_enterprise =include_enterprise267,8624
edition2 =edition2268,8673
init_steps =init_steps269,8702
build_steps =build_steps277,8909
integration_test_steps =integration_test_steps284,9218
build_storybook =build_storybook312,10299
publish_step =publish_step324,10892
store_npm_step =store_npm_step325,10976
windows_package_steps =windows_package_steps330,11175
step =step333,11284
deps_on_clone_enterprise_step =deps_on_clone_enterprise_step337,11418
windows_pipeline =windows_pipeline347,11746
name =name348,11779
edition =edition349,11836
trigger =trigger350,11863
steps =steps351,11890
platform =platform352,11965
depends_on =depends_on353,11995
environment =environment356,12109
pipelines =pipelines358,12150
name =name360,12186
edition =edition361,12273
trigger =trigger362,12304
services =services363,12335
steps =steps364,12362
environment =environment365,12440
volumes =volumes366,12479
name =name374,12711
edition =edition375,12786
trigger =trigger376,12821
services =services377,12856
steps =steps378,12893
environment =environment379,13213
volumes =volumes380,13256
deps =deps383,13317
def enterprise2_pipelines(prefix = "", ver_mode = ver_mode, trigger = release_trigger):enterprise2_pipelines397,13769
environment =environment412,14364
edition =edition415,14424
volumes =volumes416,14451
package_steps =package_steps417,14501
publish_steps =publish_steps418,14524
should_publish =should_publish419,14547
should_upload =should_upload420,14590
include_enterprise =include_enterprise421,14660
edition2 =edition2422,14709
init_steps =init_steps423,14738
build_steps =build_steps431,14945
fetch_images =fetch_images442,15355
upload_cdn =upload_cdn444,15497
step =step458,16187
deps_on_clone_enterprise_step =deps_on_clone_enterprise_step462,16321
pipelines =pipelines472,16608
name =name474,16644
edition =edition475,16742
trigger =trigger476,16773
services =services477,16804
steps =steps478,16831
volumes =volumes479,16909
environment =environment480,16940
def publish_artifacts_step(mode):publish_artifacts_step486,17019
security =security487,17053
security =security489,17098
def publish_artifacts_pipelines(mode):publish_artifacts_pipelines501,17538
trigger =trigger502,17577
steps =steps506,17655
name =name512,17768
trigger =trigger513,17820
steps =steps514,17847
edition =edition515,17870
environment =environment516,17895
def publish_packages_pipeline():publish_packages_pipeline519,17945
trigger =trigger526,18162
oss_steps =oss_steps530,18244
enterprise_steps =enterprise_steps538,18560
deps =deps545,18903
name =name552,19062
trigger =trigger553,19101
steps =steps554,19128
edition =edition555,19155
depends_on =depends_on556,19180
environment =environment557,19207
name =name559,19266
trigger =trigger560,19312
steps =steps561,19339
edition =edition562,19373
depends_on =depends_on563,19398
environment =environment564,19425
def publish_npm_pipelines(mode):publish_npm_pipelines567,19482
trigger =trigger568,19515
steps =steps572,19593
name =name580,19772
trigger =trigger581,19827
steps =steps582,19854
edition =edition583,19877
environment =environment584,19902
def artifacts_page_pipeline():artifacts_page_pipeline587,19952
trigger =trigger588,19983
name =name593,20087
trigger =trigger594,20128
steps =steps595,20155
edition =edition596,20220
environment =environment597,20245
def get_e2e_suffix():get_e2e_suffix600,20295
events/cron.star,1016
aquasec_trivy_image =aquasec_trivy_image8,209
def cronjobs(edition):cronjobs10,255
grafana_com_nightly_pipeline =grafana_com_nightly_pipeline11,278
cronName =cronName12,332
name =name13,374
steps =steps14,412
def cron_job_pipeline(cronName, name, steps):cron_job_pipeline24,773
def scan_docker_image_pipeline(edition, tag):scan_docker_image_pipeline43,1175
edition =edition55,1530
edition =edition57,1579
docker_image =docker_image59,1608
cronName =cronName62,1695
name =name63,1725
steps =steps64,1775
def scan_docker_image_unkown_low_medium_vulnerabilities_step(docker_image):scan_docker_image_unkown_low_medium_vulnerabilities_step71,2047
def scan_docker_image_high_critical_vulnerabilities_step(docker_image):scan_docker_image_high_critical_vulnerabilities_step80,2353
def slack_job_failed_step(channel, image):slack_job_failed_step89,2646
def post_to_grafana_com_step():post_to_grafana_com_step103,3069
events/main.star,633
ver_mode =ver_mode49,966
trigger =trigger50,984
def main_pipelines(edition):main_pipelines62,1168
drone_change_trigger =drone_change_trigger63,1197
pipelines =pipelines79,1513
name =name89,1951
slack_channel =slack_channel90,1994
trigger =trigger91,2045
template =template92,2089
secret =secret93,2135
name =name97,2276
slack_channel =slack_channel98,2310
trigger =trigger99,2366
depends_on =depends_on100,2425
template =template101,2563
secret =secret102,2604
events/pr.star,252
ver_mode =ver_mode48,997
trigger =trigger49,1013
def pr_pipelines(edition):pr_pipelines62,1198
def get_pr_trigger(include_paths = None, exclude_paths = None):get_pr_trigger76,2396
paths_ex =paths_ex91,3080
paths_in =paths_in92,3115
services/services.star,225
def integration_test_services_volumes():integration_test_services_volumes5,79
def integration_test_services(edition):integration_test_services14,292
services =services15,332
def ldap_service():ldap_service59,1616
utils/utils.star,561
failure_template =failure_template11,191
drone_change_template =drone_change_template12,509
services =services19,932
platform =platform20,955
depends_on =depends_on21,983
environment =environment22,1008
volumes =volumes23,1036
platform_conf =platform_conf50,2166
platform_conf =platform_conf62,2534
pipeline =pipeline70,2713
def notify_pipeline(name, slack_channel, trigger, depends_on = [], template = None, secret = None):notify_pipeline105,3545
trigger =trigger106,3645
pipelines/trigger_downstream.star,440
trigger =trigger14,249
def enterprise_downstream_pipeline(edition, ver_mode):enterprise_downstream_pipeline26,433
environment =environment27,488
steps =steps28,527
deps =deps29,587
name =name31,672
edition =edition32,714
trigger =trigger33,741
services =services34,768
steps =steps35,791
depends_on =depends_on36,814
environment =environment37,841
pipelines/verify_starlark.star,323
def verify_starlark(trigger, ver_mode):verify_starlark17,305
environment =environment18,345
steps =steps19,382
name =name26,546
edition =edition27,600
trigger =trigger28,625
services =services29,652
steps =steps30,675
environment =environment31,698
pipelines/build.star,508
def build_e2e(trigger, ver_mode, edition):build_e2e39,936
environment =environment50,1096
variants =variants51,1135
init_steps =init_steps52,1219
build_steps =build_steps61,1491
publish_suffix =publish_suffix107,4049
publish_suffix =publish_suffix109,4100
name =name112,4158
edition =edition113,4224
environment =environment114,4249
services =services115,4284
steps =steps116,4307
trigger =trigger117,4349
pipelines/shellcheck.star,386
trigger =trigger15,235
def shellcheck_step():shellcheck_step31,483
def shellcheck_pipeline():shellcheck_pipeline43,725
environment =environment44,752
steps =steps45,789
name =name50,886
edition =edition51,918
trigger =trigger52,943
services =services53,970
steps =steps54,993
environment =environment55,1016
pipelines/verify_drone.star,317
def verify_drone(trigger, ver_mode):verify_drone17,293
environment =environment18,330
steps =steps19,367
name =name26,528
edition =edition27,579
trigger =trigger28,604
services =services29,631
steps =steps30,654
environment =environment31,677
pipelines/test_backend.star,474
def test_backend(trigger, ver_mode, edition = "oss"):test_backend23,463
environment =environment35,882
init_steps =init_steps36,921
test_steps =test_steps46,1291
pipeline_name =pipeline_name51,1387
pipeline_name =pipeline_name53,1492
name =name55,1584
edition =edition56,1614
trigger =trigger57,1641
services =services58,1668
steps =steps59,1691
environment =environment60,1732
pipelines/lint_frontend.star,415
def lint_frontend_pipeline(trigger, ver_mode):lint_frontend_pipeline16,260
environment =environment26,546
yarn_step =yarn_step27,583
init_steps =init_steps29,660
test_steps =test_steps33,736
name =name37,812
edition =edition38,864
trigger =trigger39,889
services =services40,916
steps =steps41,939
environment =environment42,980
pipelines/docs.star,494
docs_paths =docs_paths19,383
def docs_pipelines(edition, ver_mode, trigger):docs_pipelines28,511
environment =environment29,559
steps =steps30,598
name =name40,815
edition =edition41,858
trigger =trigger42,885
services =services43,912
steps =steps44,935
environment =environment45,958
def lint_docs():lint_docs48,1000
def trigger_docs_main():trigger_docs_main63,1328
def trigger_docs_pr():trigger_docs_pr72,1478
pipelines/test_frontend.star,476
def test_frontend(trigger, ver_mode, edition = "oss"):test_frontend20,374
environment =environment32,794
init_steps =init_steps33,833
test_steps =test_steps41,1102
pipeline_name =pipeline_name45,1205
pipeline_name =pipeline_name47,1311
name =name49,1404
edition =edition50,1434
trigger =trigger51,1461
services =services52,1488
steps =steps53,1511
environment =environment54,1552
pipelines/integration_tests.star,483
def integration_tests(trigger, ver_mode, edition):integration_tests26,542
environment =environment37,900
services =services38,939
volumes =volumes39,989
init_steps =init_steps40,1039
test_steps =test_steps48,1282
name =name54,1412
edition =edition55,1468
trigger =trigger56,1493
services =services57,1520
steps =steps58,1549
environment =environment59,1590
volumes =volumes60,1625
pipelines/windows.star,954
def windows(trigger, edition, ver_mode):windows17,339
environment =environment29,798
init_cmds =init_cmds30,837
steps =steps38,1205
bucket =bucket49,1497
ver_part =ver_part51,1590
dir =dir52,1628
dir =dir54,1670
bucket =bucket55,1695
build_no =build_no56,1736
ver_part =ver_part57,1780
installer_commands =installer_commands58,1842
committish =committish100,3763
committish =committish102,3846
committish =committish104,3906
download_grabpl_step_cmds =download_grabpl_step_cmds107,4057
clone_cmds =clone_cmds113,4363
name =name146,5711
edition =edition147,5742
trigger =trigger148,5769
steps =steps149,5830
depends_on =depends_on150,5889
platform =platform151,6007
environment =environment152,6037
pipelines/lint_backend.star,418
def lint_backend_pipeline(trigger, ver_mode):lint_backend_pipeline18,306
environment =environment28,590
wire_step =wire_step29,627
init_steps =init_steps31,704
test_steps =test_steps36,809
name =name43,959
edition =edition44,1010
trigger =trigger45,1035
services =services46,1062
steps =steps47,1085
environment =environment48,1126
pipelines/publish_images.star,998
def publish_image_steps(edition, mode, docker_repo):publish_image_steps17,303
additional_docker_repo =additional_docker_repo31,922
additional_docker_repo =additional_docker_repo33,979
steps =steps34,1034
def publish_image_pipelines_public():publish_image_pipelines_public45,1369
mode =mode51,1521
trigger =trigger52,1541
name =name57,1641
trigger =trigger58,1694
steps =steps59,1721
edition =edition60,1813
environment =environment61,1835
name =name63,1894
trigger =trigger64,1954
steps =steps65,1981
edition =edition66,2091
environment =environment67,2113
def publish_image_pipelines_security():publish_image_pipelines_security70,2170
mode =mode71,2210
trigger =trigger72,2232
name =name77,2332
trigger =trigger78,2392
steps =steps79,2419
edition =edition80,2529
environment =environment81,2551
steps/lib.star,8579
grabpl_version =grabpl_version7,181
build_image =build_image8,208
publish_image =publish_image9,254
deploy_docker_image =deploy_docker_image10,304
alpine_image =alpine_image11,380
curl_image =curl_image12,411
windows_image =windows_image13,452
wix_image =wix_image14,501
go_image =go_image15,536
disable_tests =disable_tests17,564
trigger_oss =trigger_oss18,586
def slack_step(channel, template, secret):slack_step24,653
def yarn_install_step(edition = "oss"):yarn_install_step35,918
deps =deps36,958
deps =deps38,1004
def wire_install_step():wire_install_step48,1222
def identify_runner_step(platform = "linux"):identify_runner_step60,1454
def clone_enterprise_step(ver_mode):clone_enterprise_step78,1916
committish =committish87,2193
committish =committish89,2268
committish =committish91,2317
def init_enterprise_step(ver_mode):init_enterprise_step105,2747
source_commit =source_commit115,3098
source_commit =source_commit117,3151
environment =environment118,3191
token =token121,3280
environment =environment123,3369
token =token126,3458
environment =environment128,3518
token =token129,3543
def download_grabpl_step(platform = "linux"):download_grabpl_step148,4147
def lint_drone_step():lint_drone_step173,4973
def lint_starlark_step():lint_starlark_step185,5216
def enterprise_downstream_step(edition, ver_mode):enterprise_downstream_step206,6000
repo =repo219,6482
step =step225,6623
def lint_backend_step():lint_backend_step247,7248
def benchmark_ldap_step():benchmark_ldap_step265,7713
def build_storybook_step(edition, ver_mode):build_storybook_step278,8087
def store_storybook_step(edition, ver_mode, trigger = None):store_storybook_step300,8743
commands =commands314,9202
commands =commands323,9521
step =step325,9593
when_cond =when_cond338,10125
step =step346,10330
def e2e_tests_artifacts(edition):e2e_tests_artifacts349,10391
def upload_cdn_step(edition, ver_mode, trigger = None):upload_cdn_step386,12378
deps =deps397,12763
step =step407,12970
step =step420,13423
def build_backend_step(edition, ver_mode, variants = None):build_backend_step423,13482
variants_str =variants_str437,14070
variants_str =variants_str439,14109
cmds =cmds443,14256
build_no =build_no449,14418
cmds =cmds450,14461
def build_frontend_step(edition, ver_mode):build_frontend_step468,14906
build_no =build_no478,15246
cmds =cmds482,15356
cmds =cmds487,15505
def build_frontend_package_step(edition, ver_mode):build_frontend_package_step505,15960
build_no =build_no515,16312
cmds =cmds519,16422
cmds =cmds524,16580
def build_plugins_step(edition, ver_mode):build_plugins_step542,17053
env =env544,17121
env =env548,17220
def test_backend_step():test_backend_step563,17607
def test_backend_integration_step():test_backend_integration_step575,17880
def betterer_frontend_step(edition = "oss"):betterer_frontend_step587,18187
deps =deps596,18427
def test_frontend_step(edition = "oss"):test_frontend_step609,18728
deps =deps618,18962
def lint_frontend_step():lint_frontend_step634,19343
def test_a11y_frontend_step(ver_mode, edition, port = 3001):test_a11y_frontend_step652,19793
commands =commands664,20279
failure =failure667,20345
failure =failure672,20483
def frontend_metrics_step(edition, trigger = None):frontend_metrics_step693,21146
step =step706,21507
step =step721,22007
def codespell_step():codespell_step724,22066
def package_step(edition, ver_mode, variants = None):package_step736,22468
deps =deps750,23006
variants_str =variants_str757,23167
variants_str =variants_str759,23206
sign_args =sign_args762,23332
env =env763,23362
test_args =test_args769,23628
sign_args =sign_args771,23661
env =env772,23684
test_args =test_args773,23703
cmds =cmds777,23829
build_no =build_no784,24036
cmds =cmds785,24079
def grafana_server_step(edition, port = 3001):grafana_server_step798,24459
package_file_pfx =package_file_pfx808,24729
package_file_pfx =package_file_pfx810,24788
package_file_pfx =package_file_pfx812,24889
environment =environment814,24938
def e2e_tests_step(suite, edition, port = 3001, tries = None):e2e_tests_step837,25554
cmd =cmd838,25617
def cloud_plugins_e2e_tests_step(suite, edition, cloud, trigger = None):cloud_plugins_e2e_tests_step856,26186
environment =environment869,26649
when =when870,26670
when =when872,26700
environment =environment874,26748
when =when882,27129
branch =branch888,27345
step =step889,27401
step =step901,27822
def build_docs_website_step():build_docs_website_step904,27874
def copy_packages_for_docker_step(edition = None):copy_packages_for_docker_step916,28272
def build_docker_images_step(edition, archs = None, ubuntu = False, publish = False):build_docker_images_step929,28622
cmd =cmd943,29193
ubuntu_sfx =ubuntu_sfx947,29307
ubuntu_sfx =ubuntu_sfx949,29342
environment =environment955,29468
def fetch_images_step(edition):fetch_images_step979,30079
def publish_images_step(edition, ver_mode, mode, docker_repo, trigger = None):publish_images_step997,30745
name =name1013,31562
docker_repo =docker_repo1014,31585
mode =mode1016,31663
mode =mode1018,31709
environment =environment1020,31728
cmd =cmd1026,31912
deps =deps1029,32041
deps =deps1032,32147
name =name1035,32250
docker_repo =docker_repo1036,32273
cmd =cmd1038,32459
step =step1040,32565
step =step1052,32929
def postgres_integration_tests_step():postgres_integration_tests_step1056,32989
cmds =cmds1057,33028
def mysql_integration_tests_step():mysql_integration_tests_step1079,33850
cmds =cmds1080,33886
def redis_integration_tests_step():redis_integration_tests_step1100,34629
def memcached_integration_tests_step():memcached_integration_tests_step1114,35026
def release_canary_npm_packages_step(edition, trigger = None):release_canary_npm_packages_step1128,35435
step =step1141,35805
step =step1153,36143
def enterprise2_suffix(edition):enterprise2_suffix1156,36202
def upload_packages_step(edition, ver_mode, trigger = None):upload_packages_step1161,36320
deps =deps1176,36816
step =step1184,37036
step =step1195,37471
def publish_grafanacom_step(edition, ver_mode):publish_grafanacom_step1198,37530
cmd =cmd1211,38044
build_no =build_no1215,38188
cmd =cmd1216,38231
def publish_linux_packages_step(edition, package_manager = "deb"):publish_linux_packages_step1239,38866
def get_windows_steps(edition, ver_mode):get_windows_steps1261,39989
init_cmds =init_cmds1270,40281
steps =steps1278,40649
bucket =bucket1289,40941
ver_part =ver_part1291,41034
dir =dir1292,41072
dir =dir1294,41114
bucket =bucket1295,41139
build_no =build_no1296,41180
ver_part =ver_part1297,41224
installer_commands =installer_commands1298,41286
committish =committish1340,43207
committish =committish1342,43290
committish =committish1344,43350
download_grabpl_step_cmds =download_grabpl_step_cmds1347,43501
clone_cmds =clone_cmds1353,43807
def verify_gen_cue_step(edition):verify_gen_cue_step1387,45152
deps =deps1388,45186
def verify_gen_jsonnet_step(edition):verify_gen_jsonnet_step1402,45694
deps =deps1403,45732
def trigger_test_release():trigger_test_release1417,46236
def artifacts_page_step():artifacts_page_step1451,47731
def end_to_end_tests_deps():end_to_end_tests_deps1466,48058
def compile_build_cmd(edition = "oss"):compile_build_cmd1476,48321
dependencies =dependencies1477,48361
dependencies =dependencies1479,48432
def get_trigger_storybook(ver_mode):get_trigger_storybook1492,48780
trigger_storybook =trigger_storybook1500,49031
trigger_storybook =trigger_storybook1502,49088
trigger_storybook =trigger_storybook1506,49168
vault.star,444
pull_secret =pull_secret4,87
github_token =github_token5,120
drone_token =drone_token6,150
prerelease_bucket =prerelease_bucket7,178
gcp_upload_artifacts_key =gcp_upload_artifacts_key8,218
azure_sp_app_id =azure_sp_app_id9,272
azure_sp_app_pw =azure_sp_app_pw10,308
azure_tenant =azure_tenant11,344
def from_secret(secret):from_secret13,375
def vault_secret(name, path, key):vault_secret18,451
def secrets():secrets28,633
version.star,116
ver_mode =ver_mode12,197
trigger =trigger13,225
def version_branch_pipelines():version_branch_pipelines15,268

View File

@ -2,7 +2,6 @@
This module provides functions for cronjob pipelines and steps used within. This module provides functions for cronjob pipelines and steps used within.
""" """
load("scripts/drone/vault.star", "from_secret")
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"compile_build_cmd", "compile_build_cmd",
@ -11,6 +10,7 @@ load(
"scripts/drone/utils/images.star", "scripts/drone/utils/images.star",
"images", "images",
) )
load("scripts/drone/vault.star", "from_secret")
aquasec_trivy_image = "aquasec/trivy:0.21.0" aquasec_trivy_image = "aquasec/trivy:0.21.0"
@ -160,7 +160,7 @@ def scan_docker_image_high_critical_vulnerabilities_step(docker_image):
def slack_job_failed_step(channel, image): def slack_job_failed_step(channel, image):
return { return {
"name": "slack-notify-failure", "name": "slack-notify-failure",
"image": images["plugins_slack_image"], "image": images["plugins_slack"],
"settings": { "settings": {
"webhook": from_secret("slack_webhook_backend"), "webhook": from_secret("slack_webhook_backend"),
"channel": channel, "channel": channel,
@ -174,7 +174,7 @@ def slack_job_failed_step(channel, image):
def post_to_grafana_com_step(): def post_to_grafana_com_step():
return { return {
"name": "post-to-grafana-com", "name": "post-to-grafana-com",
"image": images["publish_image"], "image": images["publish"],
"environment": { "environment": {
"GRAFANA_COM_API_KEY": from_secret("grafana_api_key"), "GRAFANA_COM_API_KEY": from_secret("grafana_api_key"),
"GCP_KEY": from_secret("gcp_key"), "GCP_KEY": from_secret("gcp_key"),

View File

@ -3,40 +3,18 @@ This module returns all the pipelines used in the event of pushes to the main br
""" """
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/pipelines/build.star",
"drone_change_template", "build_e2e",
"failure_template",
"notify_pipeline",
) )
load( load(
"scripts/drone/pipelines/docs.star", "scripts/drone/pipelines/docs.star",
"docs_pipelines", "docs_pipelines",
"trigger_docs_main", "trigger_docs_main",
) )
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load( load(
"scripts/drone/pipelines/integration_tests.star", "scripts/drone/pipelines/integration_tests.star",
"integration_tests", "integration_tests",
) )
load(
"scripts/drone/pipelines/build.star",
"build_e2e",
)
load(
"scripts/drone/pipelines/windows.star",
"windows",
)
load(
"scripts/drone/pipelines/trigger_downstream.star",
"enterprise_downstream_pipeline",
)
load( load(
"scripts/drone/pipelines/lint_backend.star", "scripts/drone/pipelines/lint_backend.star",
"lint_backend_pipeline", "lint_backend_pipeline",
@ -45,6 +23,28 @@ load(
"scripts/drone/pipelines/lint_frontend.star", "scripts/drone/pipelines/lint_frontend.star",
"lint_frontend_pipeline", "lint_frontend_pipeline",
) )
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/trigger_downstream.star",
"enterprise_downstream_pipeline",
)
load(
"scripts/drone/pipelines/windows.star",
"windows",
)
load(
"scripts/drone/utils/utils.star",
"drone_change_template",
"failure_template",
"notify_pipeline",
)
ver_mode = "main" ver_mode = "main"
trigger = { trigger = {

View File

@ -4,37 +4,21 @@ It also includes a function generating a PR trigger from a list of included and
""" """
load( load(
"scripts/drone/pipelines/test_frontend.star", "scripts/drone/pipelines/benchmarks.star",
"test_frontend", "integration_benchmarks",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/integration_tests.star",
"integration_tests",
) )
load( load(
"scripts/drone/pipelines/build.star", "scripts/drone/pipelines/build.star",
"build_e2e", "build_e2e",
) )
load(
"scripts/drone/pipelines/verify_drone.star",
"verify_drone",
)
load(
"scripts/drone/pipelines/verify_starlark.star",
"verify_starlark",
)
load( load(
"scripts/drone/pipelines/docs.star", "scripts/drone/pipelines/docs.star",
"docs_pipelines", "docs_pipelines",
"trigger_docs_pr", "trigger_docs_pr",
) )
load( load(
"scripts/drone/pipelines/shellcheck.star", "scripts/drone/pipelines/integration_tests.star",
"shellcheck_pipeline", "integration_tests",
) )
load( load(
"scripts/drone/pipelines/lint_backend.star", "scripts/drone/pipelines/lint_backend.star",
@ -45,8 +29,24 @@ load(
"lint_frontend_pipeline", "lint_frontend_pipeline",
) )
load( load(
"scripts/drone/pipelines/benchmarks.star", "scripts/drone/pipelines/shellcheck.star",
"integration_benchmarks", "shellcheck_pipeline",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/verify_drone.star",
"verify_drone",
)
load(
"scripts/drone/pipelines/verify_starlark.star",
"verify_starlark",
) )
ver_mode = "pr" ver_mode = "pr"

View File

@ -2,55 +2,35 @@
This module returns all the pipelines used in the event of a release along with supporting functions. This module returns all the pipelines used in the event of a release along with supporting functions.
""" """
load(
"scripts/drone/steps/lib.star",
"build_backend_step",
"build_docker_images_step",
"build_frontend_package_step",
"build_frontend_step",
"build_plugins_step",
"build_storybook_step",
"compile_build_cmd",
"copy_packages_for_docker_step",
"download_grabpl_step",
"e2e_tests_artifacts",
"e2e_tests_step",
"get_windows_steps",
"grafana_server_step",
"identify_runner_step",
"memcached_integration_tests_step",
"mysql_integration_tests_step",
"package_step",
"postgres_integration_tests_step",
"publish_grafanacom_step",
"publish_linux_packages_step",
"redis_integration_tests_step",
"store_storybook_step",
"trigger_oss",
"upload_cdn_step",
"upload_packages_step",
"verify_gen_cue_step",
"verify_gen_jsonnet_step",
"wire_install_step",
"yarn_install_step",
)
load( load(
"scripts/drone/services/services.star", "scripts/drone/services/services.star",
"integration_test_services", "integration_test_services",
"integration_test_services_volumes", "integration_test_services_volumes",
) )
load(
"scripts/drone/steps/lib.star",
"compile_build_cmd",
"download_grabpl_step",
"identify_runner_step",
"memcached_integration_tests_steps",
"mysql_integration_tests_steps",
"postgres_integration_tests_steps",
"publish_grafanacom_step",
"publish_linux_packages_step",
"redis_integration_tests_steps",
"verify_gen_cue_step",
"verify_gen_jsonnet_step",
"wire_install_step",
"yarn_install_step",
)
load(
"scripts/drone/utils/images.star",
"images",
)
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/utils.star",
"pipeline", "pipeline",
) )
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load( load(
"scripts/drone/vault.star", "scripts/drone/vault.star",
"from_secret", "from_secret",
@ -59,16 +39,9 @@ load(
"prerelease_bucket", "prerelease_bucket",
"rgm_gcp_key_base64", "rgm_gcp_key_base64",
) )
load(
"scripts/drone/utils/images.star",
"images",
)
load(
"scripts/drone/pipelines/whats_new_checker.star",
"whats_new_checker_pipeline",
)
ver_mode = "release" ver_mode = "release"
release_trigger = { release_trigger = {
"event": { "event": {
"exclude": [ "exclude": [
@ -85,25 +58,10 @@ release_trigger = {
}, },
} }
def store_npm_packages_step():
return {
"name": "store-npm-packages",
"image": images["build_image"],
"depends_on": [
"compile-build-cmd",
"build-frontend-packages",
],
"environment": {
"GCP_KEY": from_secret(gcp_grafanauploads_base64),
"PRERELEASE_BUCKET": from_secret(prerelease_bucket),
},
"commands": ["./bin/build artifacts npm store --tag ${DRONE_TAG}"],
}
def retrieve_npm_packages_step(): def retrieve_npm_packages_step():
return { return {
"name": "retrieve-npm-packages", "name": "retrieve-npm-packages",
"image": images["publish_image"], "image": images["publish"],
"depends_on": [ "depends_on": [
"compile-build-cmd", "compile-build-cmd",
"yarn-install", "yarn-install",
@ -119,7 +77,7 @@ def retrieve_npm_packages_step():
def release_npm_packages_step(): def release_npm_packages_step():
return { return {
"name": "release-npm-packages", "name": "release-npm-packages",
"image": images["build_image"], "image": images["go"],
"depends_on": [ "depends_on": [
"compile-build-cmd", "compile-build-cmd",
"retrieve-npm-packages", "retrieve-npm-packages",
@ -131,146 +89,10 @@ def release_npm_packages_step():
"commands": ["./bin/build artifacts npm release --tag ${DRONE_TAG}"], "commands": ["./bin/build artifacts npm release --tag ${DRONE_TAG}"],
} }
def oss_pipelines(ver_mode = ver_mode, trigger = release_trigger):
"""Generates all pipelines used for Grafana OSS.
Args:
ver_mode: controls which steps are included in the pipeline.
Defaults to 'release'.
trigger: controls which events can trigger the pipeline execution.
Defaults to tag events for tags with a 'v' prefix.
Returns:
List of Drone pipelines.
"""
environment = {"EDITION": "oss"}
services = integration_test_services()
volumes = integration_test_services_volumes()
init_steps = [
identify_runner_step(),
download_grabpl_step(),
verify_gen_cue_step(),
wire_install_step(),
yarn_install_step(),
compile_build_cmd(),
]
build_steps = [
build_backend_step(ver_mode = ver_mode),
build_frontend_step(ver_mode = ver_mode),
build_frontend_package_step(ver_mode = ver_mode),
build_plugins_step(ver_mode = ver_mode),
package_step(ver_mode = ver_mode),
copy_packages_for_docker_step(),
build_docker_images_step(publish = True),
build_docker_images_step(
publish = True,
ubuntu = True,
),
grafana_server_step(),
e2e_tests_step("dashboards-suite", tries = 3),
e2e_tests_step("smoke-tests-suite", tries = 3),
e2e_tests_step("panels-suite", tries = 3),
e2e_tests_step("various-suite", tries = 3),
e2e_tests_artifacts(),
build_storybook_step(ver_mode = ver_mode),
]
publish_steps = []
if ver_mode in (
"release",
"release-branch",
):
publish_steps.extend(
[
upload_cdn_step(ver_mode = ver_mode, trigger = trigger_oss),
upload_packages_step(
ver_mode = ver_mode,
trigger = trigger_oss,
),
],
)
if ver_mode in ("release",):
publish_steps.extend(
[
store_storybook_step(ver_mode = ver_mode),
store_npm_packages_step(),
],
)
integration_test_steps = [
postgres_integration_tests_step(),
mysql_integration_tests_step("mysql57", "5.7"),
mysql_integration_tests_step("mysql80", "8.0"),
redis_integration_tests_step(),
memcached_integration_tests_step(),
]
pipelines = []
# We don't need to run integration tests at release time since they have
# been run multiple times before:
if ver_mode in ("release"):
pipelines.append(whats_new_checker_pipeline(release_trigger))
integration_test_steps = []
volumes = []
windows_pipeline_dependencies = [
"{}-build-e2e-publish".format(ver_mode),
"{}-test-frontend".format(ver_mode),
]
pipelines.extend([
pipeline(
name = "{}-build-e2e-publish".format(ver_mode),
trigger = trigger,
services = [],
steps = init_steps + build_steps + publish_steps,
environment = environment,
volumes = volumes,
),
test_frontend(trigger, ver_mode),
test_backend(trigger, ver_mode),
])
if ver_mode not in ("release"):
pipelines.append(pipeline(
name = "{}-integration-tests".format(ver_mode),
trigger = trigger,
services = services,
steps = [
download_grabpl_step(),
identify_runner_step(),
verify_gen_cue_step(),
verify_gen_jsonnet_step(),
wire_install_step(),
] +
integration_test_steps,
environment = environment,
volumes = volumes,
))
windows_pipeline = pipeline(
name = "{}-windows".format(ver_mode),
trigger = trigger,
steps = get_windows_steps(ver_mode = ver_mode),
platform = "windows",
depends_on = windows_pipeline_dependencies,
environment = environment,
)
pipelines.append(windows_pipeline)
return pipelines
def publish_artifacts_step(): def publish_artifacts_step():
return { return {
"name": "publish-artifacts", "name": "publish-artifacts",
"image": images["publish_image"], "image": images["publish"],
"environment": { "environment": {
"GCP_KEY": from_secret(gcp_grafanauploads_base64), "GCP_KEY": from_secret(gcp_grafanauploads_base64),
"PRERELEASE_BUCKET": from_secret("prerelease_bucket"), "PRERELEASE_BUCKET": from_secret("prerelease_bucket"),
@ -284,7 +106,7 @@ def publish_artifacts_step():
def publish_static_assets_step(): def publish_static_assets_step():
return { return {
"name": "publish-static-assets", "name": "publish-static-assets",
"image": images["publish_image"], "image": images["publish"],
"environment": { "environment": {
"GCP_KEY": from_secret(gcp_grafanauploads_base64), "GCP_KEY": from_secret(gcp_grafanauploads_base64),
"PRERELEASE_BUCKET": from_secret("prerelease_bucket"), "PRERELEASE_BUCKET": from_secret("prerelease_bucket"),
@ -299,7 +121,7 @@ def publish_static_assets_step():
def publish_storybook_step(): def publish_storybook_step():
return { return {
"name": "publish-storybook", "name": "publish-storybook",
"image": images["publish_image"], "image": images["publish"],
"environment": { "environment": {
"GCP_KEY": from_secret(gcp_grafanauploads_base64), "GCP_KEY": from_secret(gcp_grafanauploads_base64),
"PRERELEASE_BUCKET": from_secret("prerelease_bucket"), "PRERELEASE_BUCKET": from_secret("prerelease_bucket"),
@ -411,13 +233,11 @@ def integration_test_pipelines():
} }
pipelines = [] pipelines = []
volumes = integration_test_services_volumes() volumes = integration_test_services_volumes()
integration_test_steps = [ integration_test_steps = postgres_integration_tests_steps() + \
postgres_integration_tests_step(), mysql_integration_tests_steps("mysql57", "5.7") + \
mysql_integration_tests_step("mysql57", "5.7"), mysql_integration_tests_steps("mysql80", "8.0") + \
mysql_integration_tests_step("mysql80", "8.0"), redis_integration_tests_steps() + \
redis_integration_tests_step(), memcached_integration_tests_steps()
memcached_integration_tests_step(),
]
pipelines.append(pipeline( pipelines.append(pipeline(
name = "integration-tests", name = "integration-tests",
@ -456,7 +276,7 @@ def verify_release_pipeline(
step = { step = {
"name": "gsutil-stat", "name": "gsutil-stat",
"depends_on": ["clone"], "depends_on": ["clone"],
"image": images["cloudsdk_image"], "image": images["cloudsdk"],
"environment": { "environment": {
"BUCKET": bucket, "BUCKET": bucket,
"GCP_KEY": gcp_key, "GCP_KEY": gcp_key,

View File

@ -2,6 +2,11 @@
This module returns the pipeline used for integration benchmarks. This module returns the pipeline used for integration benchmarks.
""" """
load(
"scripts/drone/services/services.star",
"integration_test_services",
"integration_test_services_volumes",
)
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"compile_build_cmd", "compile_build_cmd",
@ -11,11 +16,6 @@ load(
"verify_gen_jsonnet_step", "verify_gen_jsonnet_step",
"wire_install_step", "wire_install_step",
) )
load(
"scripts/drone/services/services.star",
"integration_test_services",
"integration_test_services_volumes",
)
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/utils.star",
"pipeline", "pipeline",
@ -52,22 +52,20 @@ def integration_benchmarks(prefix):
wire_install_step(), wire_install_step(),
] ]
benchmark_steps = [ benchmark_steps = integration_benchmarks_step("sqlite") + \
integration_benchmarks_step("sqlite"), integration_benchmarks_step("postgres", {
integration_benchmarks_step("postgres", { "PGPASSWORD": "grafanatest",
"PGPASSWORD": "grafanatest", "GRAFANA_TEST_DB": "postgres",
"GRAFANA_TEST_DB": "postgres", "POSTGRES_HOST": "postgres",
"POSTGRES_HOST": "postgres", }) + \
}), integration_benchmarks_step("mysql-5.7", {
integration_benchmarks_step("mysql-5.7", { "GRAFANA_TEST_DB": "mysql",
"GRAFANA_TEST_DB": "mysql", "MYSQL_HOST": "mysql57",
"MYSQL_HOST": "mysql57", }) + \
}), integration_benchmarks_step("mysql-8.0", {
integration_benchmarks_step("mysql-8.0", { "GRAFANA_TEST_DB": "mysql",
"GRAFANA_TEST_DB": "mysql", "MYSQL_HOST": "mysql80",
"MYSQL_HOST": "mysql80", })
}),
]
return pipeline( return pipeline(
name = "{}-integration-benchmarks".format(prefix), name = "{}-integration-benchmarks".format(prefix),

View File

@ -2,15 +2,10 @@
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"build_backend_step",
"build_docker_images_step",
"build_frontend_package_step", "build_frontend_package_step",
"build_frontend_step",
"build_plugins_step",
"build_storybook_step", "build_storybook_step",
"cloud_plugins_e2e_tests_step", "cloud_plugins_e2e_tests_step",
"compile_build_cmd", "compile_build_cmd",
"copy_packages_for_docker_step",
"download_grabpl_step", "download_grabpl_step",
"e2e_tests_artifacts", "e2e_tests_artifacts",
"e2e_tests_step", "e2e_tests_step",
@ -18,7 +13,6 @@ load(
"frontend_metrics_step", "frontend_metrics_step",
"grafana_server_step", "grafana_server_step",
"identify_runner_step", "identify_runner_step",
"package_step",
"publish_images_step", "publish_images_step",
"release_canary_npm_packages_step", "release_canary_npm_packages_step",
"store_storybook_step", "store_storybook_step",
@ -32,6 +26,15 @@ load(
"wire_install_step", "wire_install_step",
"yarn_install_step", "yarn_install_step",
) )
load(
"scripts/drone/steps/rgm.star",
"rgm_build_docker_step",
"rgm_package_step",
)
load(
"scripts/drone/utils/images.star",
"images",
)
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/utils.star",
"pipeline", "pipeline",
@ -72,11 +75,8 @@ def build_e2e(trigger, ver_mode):
build_steps.extend( build_steps.extend(
[ [
build_backend_step(ver_mode = ver_mode), build_frontend_package_step(),
build_frontend_step(ver_mode = ver_mode), rgm_package_step(distros = "linux/amd64,linux/arm64", file = "packages.txt"),
build_frontend_package_step(ver_mode = ver_mode),
build_plugins_step(ver_mode = ver_mode),
package_step(ver_mode = ver_mode),
grafana_server_step(), grafana_server_step(),
e2e_tests_step("dashboards-suite"), e2e_tests_step("dashboards-suite"),
e2e_tests_step("smoke-tests-suite"), e2e_tests_step("smoke-tests-suite"),
@ -89,7 +89,6 @@ def build_e2e(trigger, ver_mode):
), ),
e2e_tests_artifacts(), e2e_tests_artifacts(),
build_storybook_step(ver_mode = ver_mode), build_storybook_step(ver_mode = ver_mode),
copy_packages_for_docker_step(),
test_a11y_frontend_step(ver_mode = ver_mode), test_a11y_frontend_step(ver_mode = ver_mode),
], ],
) )
@ -99,13 +98,7 @@ def build_e2e(trigger, ver_mode):
[ [
store_storybook_step(trigger = trigger_oss, ver_mode = ver_mode), store_storybook_step(trigger = trigger_oss, ver_mode = ver_mode),
frontend_metrics_step(trigger = trigger_oss), frontend_metrics_step(trigger = trigger_oss),
build_docker_images_step( rgm_build_docker_step("packages.txt", images["ubuntu"], images["alpine"]),
publish = False,
),
build_docker_images_step(
publish = False,
ubuntu = True,
),
publish_images_step( publish_images_step(
docker_repo = "grafana", docker_repo = "grafana",
trigger = trigger_oss, trigger = trigger_oss,
@ -130,16 +123,12 @@ def build_e2e(trigger, ver_mode):
elif ver_mode == "pr": elif ver_mode == "pr":
build_steps.extend( build_steps.extend(
[ [
build_docker_images_step( rgm_build_docker_step(
archs = [ "packages.txt",
"amd64", images["ubuntu"],
], images["alpine"],
), tag_format = "{{ .version_base }}-{{ .buildID }}-{{ .arch }}",
build_docker_images_step( ubuntu_tag_format = "{{ .version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}",
archs = [
"amd64",
],
ubuntu = True,
), ),
publish_images_step( publish_images_step(
docker_repo = "grafana", docker_repo = "grafana",

View File

@ -3,21 +3,21 @@ This module contains steps and pipelines relating to creating CI Docker images.
""" """
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/images.star",
"pipeline", "images",
) )
load( load(
"scripts/drone/vault.star", "scripts/drone/utils/utils.star",
"from_secret", "pipeline",
"gcp_download_build_container_assets_key",
) )
load( load(
"scripts/drone/utils/windows_images.star", "scripts/drone/utils/windows_images.star",
"windows_images", "windows_images",
) )
load( load(
"scripts/drone/utils/images.star", "scripts/drone/vault.star",
"images", "from_secret",
"gcp_download_build_container_assets_key",
) )
def publish_ci_windows_test_image_pipeline(): def publish_ci_windows_test_image_pipeline():
@ -32,7 +32,7 @@ def publish_ci_windows_test_image_pipeline():
steps = [ steps = [
{ {
"name": "clone", "name": "clone",
"image": windows_images["wix_image"], "image": windows_images["wix"],
"environment": { "environment": {
"GITHUB_TOKEN": from_secret("github_token"), "GITHUB_TOKEN": from_secret("github_token"),
}, },
@ -43,7 +43,7 @@ def publish_ci_windows_test_image_pipeline():
}, },
{ {
"name": "build-and-publish", "name": "build-and-publish",
"image": windows_images["windows_server_core_image"], "image": windows_images["windows_server_core"],
"environment": { "environment": {
"DOCKER_USERNAME": from_secret("docker_username"), "DOCKER_USERNAME": from_secret("docker_username"),
"DOCKER_PASSWORD": from_secret("docker_password"), "DOCKER_PASSWORD": from_secret("docker_password"),
@ -81,14 +81,14 @@ def publish_ci_build_container_image_pipeline():
steps = [ steps = [
{ {
"name": "validate-version", "name": "validate-version",
"image": images["alpine_image"], "image": images["alpine"],
"commands": [ "commands": [
"if [ -z \"${BUILD_CONTAINER_VERSION}\" ]; then echo Missing BUILD_CONTAINER_VERSION; false; fi", "if [ -z \"${BUILD_CONTAINER_VERSION}\" ]; then echo Missing BUILD_CONTAINER_VERSION; false; fi",
], ],
}, },
{ {
"name": "download-macos-sdk", "name": "download-macos-sdk",
"image": images["cloudsdk_image"], "image": images["cloudsdk"],
"environment": { "environment": {
"GCP_KEY": from_secret(gcp_download_build_container_assets_key), "GCP_KEY": from_secret(gcp_download_build_container_assets_key),
}, },
@ -100,7 +100,7 @@ def publish_ci_build_container_image_pipeline():
}, },
{ {
"name": "build-and-publish", # Consider splitting the build and the upload task. "name": "build-and-publish", # Consider splitting the build and the upload task.
"image": images["cloudsdk_image"], "image": images["cloudsdk"],
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}], "volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
"environment": { "environment": {
"DOCKER_USERNAME": from_secret("docker_username"), "DOCKER_USERNAME": from_secret("docker_username"),

View File

@ -50,7 +50,7 @@ def docs_pipelines(ver_mode, trigger):
def lint_docs(): def lint_docs():
return { return {
"name": "lint-docs", "name": "lint-docs",
"image": images["build_image"], "image": images["node"],
"depends_on": [ "depends_on": [
"yarn-install", "yarn-install",
], ],

View File

@ -2,25 +2,25 @@
This module returns the pipeline used for integration tests. This module returns the pipeline used for integration tests.
""" """
load(
"scripts/drone/services/services.star",
"integration_test_services",
"integration_test_services_volumes",
)
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"compile_build_cmd", "compile_build_cmd",
"download_grabpl_step", "download_grabpl_step",
"enterprise_setup_step", "enterprise_setup_step",
"identify_runner_step", "identify_runner_step",
"memcached_integration_tests_step", "memcached_integration_tests_steps",
"mysql_integration_tests_step", "mysql_integration_tests_steps",
"postgres_integration_tests_step", "postgres_integration_tests_steps",
"redis_integration_tests_step", "redis_integration_tests_steps",
"verify_gen_cue_step", "verify_gen_cue_step",
"verify_gen_jsonnet_step", "verify_gen_jsonnet_step",
"wire_install_step", "wire_install_step",
) )
load(
"scripts/drone/services/services.star",
"integration_test_services",
"integration_test_services_volumes",
)
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/utils.star",
"pipeline", "pipeline",
@ -60,13 +60,12 @@ def integration_tests(trigger, prefix, ver_mode = "pr"):
wire_install_step(), wire_install_step(),
] ]
test_steps = [ # test_steps = [a, b] + [c, d] + [e, f]...
postgres_integration_tests_step(), test_steps = postgres_integration_tests_steps() + \
mysql_integration_tests_step("mysql57", "5.7"), mysql_integration_tests_steps("mysql57", "5.7") + \
mysql_integration_tests_step("mysql80", "8.0"), mysql_integration_tests_steps("mysql80", "8.0") + \
redis_integration_tests_step(), redis_integration_tests_steps() + \
memcached_integration_tests_step(), memcached_integration_tests_steps()
]
return pipeline( return pipeline(
name = "{}-integration-tests".format(prefix), name = "{}-integration-tests".format(prefix),

View File

@ -3,14 +3,14 @@ This module returns a Drone step and pipeline for linting with shellcheck.
""" """
load("scripts/drone/steps/lib.star", "compile_build_cmd") load("scripts/drone/steps/lib.star", "compile_build_cmd")
load(
"scripts/drone/utils/utils.star",
"pipeline",
)
load( load(
"scripts/drone/utils/images.star", "scripts/drone/utils/images.star",
"images", "images",
) )
load(
"scripts/drone/utils/utils.star",
"pipeline",
)
trigger = { trigger = {
"event": [ "event": [
@ -29,12 +29,9 @@ trigger = {
def shellcheck_step(): def shellcheck_step():
return { return {
"name": "shellcheck", "name": "shellcheck",
"image": images["build_image"], "image": images["shellcheck"],
"depends_on": [
"compile-build-cmd",
],
"commands": [ "commands": [
"./bin/build shellcheck", "shellcheck -e SC1071 -e SC2162 scripts/**/*.sh",
], ],
} }

View File

@ -4,7 +4,6 @@ This module returns the pipeline used for testing backend code.
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"compile_build_cmd",
"enterprise_setup_step", "enterprise_setup_step",
"identify_runner_step", "identify_runner_step",
"test_backend_integration_step", "test_backend_integration_step",
@ -41,7 +40,6 @@ def test_backend(trigger, ver_mode):
steps += [ steps += [
identify_runner_step(), identify_runner_step(),
compile_build_cmd(),
verify_step, verify_step,
verify_jsonnet_step, verify_jsonnet_step,
wire_install_step(), wire_install_step(),

View File

@ -5,7 +5,6 @@ This module returns the pipeline used for testing backend code.
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"betterer_frontend_step", "betterer_frontend_step",
"download_grabpl_step",
"enterprise_setup_step", "enterprise_setup_step",
"identify_runner_step", "identify_runner_step",
"test_frontend_step", "test_frontend_step",
@ -30,7 +29,6 @@ def test_frontend(trigger, ver_mode):
steps = [ steps = [
identify_runner_step(), identify_runner_step(),
download_grabpl_step(),
yarn_install_step(), yarn_install_step(),
betterer_frontend_step(), betterer_frontend_step(),
] ]

View File

@ -2,14 +2,14 @@
This module contains logic for checking if the package.json whats new url matches with the in-flight tag. This module contains logic for checking if the package.json whats new url matches with the in-flight tag.
""" """
load(
"scripts/drone/utils/images.star",
"images",
)
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/steps/lib.star",
"compile_build_cmd", "compile_build_cmd",
) )
load(
"scripts/drone/utils/images.star",
"images",
)
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/utils/utils.star",
"pipeline", "pipeline",
@ -18,7 +18,7 @@ load(
def whats_new_checker_step(): def whats_new_checker_step():
return { return {
"name": "whats-new-checker", "name": "whats-new-checker",
"image": images["go_image"], "image": images["go"],
"depends_on": [ "depends_on": [
"compile-build-cmd", "compile-build-cmd",
], ],

View File

@ -3,15 +3,15 @@ This module returns the pipeline used for building Grafana on Windows.
""" """
load( load(
"scripts/drone/utils/utils.star", "scripts/drone/steps/lib_windows.star",
"pipeline", "clone_step_windows",
"get_windows_steps",
"test_backend_step_windows",
"wire_install_step_windows",
) )
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/utils/utils.star",
"get_windows_steps", "pipeline",
"windows_clone_step",
"windows_test_backend_step",
"windows_wire_install_step",
) )
load( load(
"scripts/drone/utils/windows_images.star", "scripts/drone/utils/windows_images.star",
@ -30,19 +30,19 @@ def windows_test_backend(trigger, edition, ver_mode):
""" """
environment = {"EDITION": edition} environment = {"EDITION": edition}
steps = [ steps = [
windows_clone_step(), clone_step_windows(),
] ]
steps.extend([{ steps.extend([{
"name": "windows-init", "name": "windows-init",
"image": windows_images["windows_go_image"], "image": windows_images["go"],
"depends_on": ["clone"], "depends_on": ["clone"],
"commands": [], "commands": [],
}]) }])
steps.extend([ steps.extend([
windows_wire_install_step(edition), wire_install_step_windows(edition),
windows_test_backend_step(), test_backend_step_windows(),
]) ])
pl = pipeline( pl = pipeline(
name = "{}-test-backend-windows".format(ver_mode), name = "{}-test-backend-windows".format(ver_mode),

View File

@ -5,7 +5,23 @@ rgm uses 'github.com/grafana/grafana-build' to build Grafana on the following ev
""" """
load( load(
"scripts/drone/steps/lib.star", "scripts/drone/events/release.star",
"verify_release_pipeline",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/whats_new_checker.star",
"whats_new_checker_pipeline",
)
load(
"scripts/drone/steps/lib_windows.star",
"get_windows_steps", "get_windows_steps",
) )
load( load(
@ -14,20 +30,8 @@ load(
"pipeline", "pipeline",
) )
load( load(
"scripts/drone/events/release.star", "scripts/drone/variables.star",
"verify_release_pipeline", "golang_version",
)
load(
"scripts/drone/pipelines/test_frontend.star",
"test_frontend",
)
load(
"scripts/drone/pipelines/test_backend.star",
"test_backend",
)
load(
"scripts/drone/pipelines/whats_new_checker.star",
"whats_new_checker_pipeline",
) )
load( load(
"scripts/drone/vault.star", "scripts/drone/vault.star",
@ -38,15 +42,22 @@ load(
"rgm_github_token", "rgm_github_token",
) )
rgm_env_secrets = { def rgm_env_secrets(env):
"GCP_KEY_BASE64": from_secret(rgm_gcp_key_base64), """Adds the rgm secret ENV variables to the given env arg
"DESTINATION": from_secret(rgm_destination),
"GITHUB_TOKEN": from_secret(rgm_github_token), Args:
"_EXPERIMENTAL_DAGGER_CLOUD_TOKEN": from_secret(rgm_dagger_token), env: A map of environment varables. This function will adds the necessary secrets to it (and potentially overwrite them).
"GPG_PRIVATE_KEY": from_secret("packages_gpg_private_key"), Returns:
"GPG_PUBLIC_KEY": from_secret("packages_gpg_public_key"), Drone step.
"GPG_PASSPHRASE": from_secret("packages_gpg_passphrase"), """
} env["GCP_KEY_BASE64"] = from_secret(rgm_gcp_key_base64)
env["DESTINATION"] = from_secret(rgm_destination)
env["GITHUB_TOKEN"] = from_secret(rgm_github_token)
env["_EXPERIMENTAL_DAGGER_CLOUD_TOKEN"] = from_secret(rgm_dagger_token)
env["GPG_PRIVATE_KEY"] = from_secret("packages_gpg_private_key")
env["GPG_PUBLIC_KEY"] = from_secret("packages_gpg_public_key")
env["GPG_PASSPHRASE"] = from_secret("packages_gpg_passphrase")
return env
docs_paths = { docs_paths = {
"exclude": [ "exclude": [
@ -73,7 +84,20 @@ tag_trigger = {
}, },
} }
version_branch_trigger = {"ref": ["refs/heads/v[0-9]*"]}
def rgm_build(script = "drone_publish_main.sh", canFail = True): def rgm_build(script = "drone_publish_main.sh", canFail = True):
"""Returns a pipeline that does a full build & package of Grafana.
Args:
script: The script in the container to run.
canFail: if true, then this pipeline can fail while the entire build will still succeed.
Returns:
Drone step.
"""
env = {
"GO_VERSION": golang_version,
}
rgm_build_step = { rgm_build_step = {
"name": "rgm-build", "name": "rgm-build",
"image": "grafana/grafana-build:main", "image": "grafana/grafana-build:main",
@ -81,11 +105,12 @@ def rgm_build(script = "drone_publish_main.sh", canFail = True):
"export GRAFANA_DIR=$$(pwd)", "export GRAFANA_DIR=$$(pwd)",
"cd /src && ./scripts/{}".format(script), "cd /src && ./scripts/{}".format(script),
], ],
"environment": rgm_env_secrets, "environment": rgm_env_secrets(env),
# The docker socket is a requirement for running dagger programs # The docker socket is a requirement for running dagger programs
# In the future we should find a way to use dagger without mounting the docker socket. # In the future we should find a way to use dagger without mounting the docker socket.
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}], "volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
} }
if canFail: if canFail:
rgm_build_step["failure"] = "ignore" rgm_build_step["failure"] = "ignore"
@ -120,7 +145,7 @@ def rgm_tag():
depends_on = ["release-test-backend", "release-test-frontend"], depends_on = ["release-test-backend", "release-test-frontend"],
) )
def rgm_windows(): def rgm_tag_windows():
return pipeline( return pipeline(
name = "rgm-tag-prerelease-windows", name = "rgm-tag-prerelease-windows",
trigger = tag_trigger, trigger = tag_trigger,
@ -134,14 +159,23 @@ def rgm_windows():
platform = "windows", platform = "windows",
) )
def rgm_version_branch():
return pipeline(
name = "rgm-version-branch-prerelease",
trigger = version_branch_trigger,
steps = rgm_build(script = "drone_publish_tag_grafana.sh", canFail = False),
depends_on = ["release-test-backend", "release-test-frontend"],
)
def rgm(): def rgm():
return [ return [
whats_new_checker_pipeline(tag_trigger), whats_new_checker_pipeline(tag_trigger),
test_frontend(tag_trigger, "release"), test_frontend(tag_trigger, "release"),
test_backend(tag_trigger, "release"), test_backend(tag_trigger, "release"),
rgm_main(), rgm_main(), # Runs a package / build process (with some distros) when commits are merged to main
rgm_tag(), rgm_tag(), # Runs a package / build process (with all distros) when a tag is made
rgm_windows(), rgm_tag_windows(),
rgm_version_branch(), # Runs a package / build proces (with all distros) when a commit lands on a version branch
verify_release_pipeline( verify_release_pipeline(
trigger = tag_trigger, trigger = tag_trigger,
name = "rgm-tag-verify-prerelease-assets", name = "rgm-tag-verify-prerelease-assets",
@ -151,4 +185,12 @@ def rgm():
"rgm-tag-prerelease-windows", "rgm-tag-prerelease-windows",
], ],
), ),
verify_release_pipeline(
trigger = version_branch_trigger,
name = "rgm-prerelease-verify-prerelease-assets",
bucket = "grafana-prerelease",
depends_on = [
"rgm-version-branch-prerelease",
],
),
] ]

View File

@ -18,7 +18,7 @@ def integration_test_services():
services = [ services = [
{ {
"name": "postgres", "name": "postgres",
"image": images["postgres_alpine_image"], "image": images["postgres_alpine"],
"environment": { "environment": {
"POSTGRES_USER": "grafanatest", "POSTGRES_USER": "grafanatest",
"POSTGRES_PASSWORD": "grafanatest", "POSTGRES_PASSWORD": "grafanatest",
@ -31,7 +31,7 @@ def integration_test_services():
}, },
{ {
"name": "mysql57", "name": "mysql57",
"image": images["mysql5_image"], "image": images["mysql5"],
"environment": { "environment": {
"MYSQL_ROOT_PASSWORD": "rootpass", "MYSQL_ROOT_PASSWORD": "rootpass",
"MYSQL_DATABASE": "grafana_tests", "MYSQL_DATABASE": "grafana_tests",
@ -43,7 +43,7 @@ def integration_test_services():
}, },
{ {
"name": "mysql80", "name": "mysql80",
"image": images["mysql8_image"], "image": images["mysql8"],
"environment": { "environment": {
"MYSQL_ROOT_PASSWORD": "rootpass", "MYSQL_ROOT_PASSWORD": "rootpass",
"MYSQL_DATABASE": "grafana_tests", "MYSQL_DATABASE": "grafana_tests",
@ -55,12 +55,12 @@ def integration_test_services():
}, },
{ {
"name": "redis", "name": "redis",
"image": images["redis_alpine_image"], "image": images["redis_alpine"],
"environment": {}, "environment": {},
}, },
{ {
"name": "memcached", "name": "memcached",
"image": images["memcached_alpine_image"], "image": images["memcached_alpine"],
"environment": {}, "environment": {},
}, },
] ]
@ -70,7 +70,7 @@ def integration_test_services():
def ldap_service(): def ldap_service():
return { return {
"name": "ldap", "name": "ldap",
"image": images["openldap_image"], "image": images["openldap"],
"environment": { "environment": {
"LDAP_ADMIN_PASSWORD": "grafana", "LDAP_ADMIN_PASSWORD": "grafana",
"LDAP_DOMAIN": "grafana.org", "LDAP_DOMAIN": "grafana.org",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,187 @@
"""
This module is a library of Drone steps that exclusively run on windows machines.
"""
load(
"scripts/drone/utils/windows_images.star",
"windows_images",
)
load(
"scripts/drone/variables.star",
"grabpl_version",
)
load(
"scripts/drone/vault.star",
"from_secret",
"gcp_grafanauploads_base64",
"prerelease_bucket",
)
def identify_runner_step_windows():
return {
"name": "identify-runner",
"image": windows_images["1809"],
"commands": [
"echo $env:DRONE_RUNNER_NAME",
],
}
def get_windows_steps(ver_mode, bucket = "%PRERELEASE_BUCKET%"):
"""Generate the list of Windows steps.
Args:
ver_mode: used to differentiate steps for different version modes.
bucket: used to override prerelease bucket.
Returns:
List of Drone steps.
"""
steps = [
identify_runner_step_windows(),
]
init_cmds = [
'$$ProgressPreference = "SilentlyContinue"',
"Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/{}/windows/grabpl.exe -OutFile grabpl.exe".format(
grabpl_version,
),
]
steps.extend(
[
{
"name": "windows-init",
"image": windows_images["wix"],
"commands": init_cmds,
},
],
)
if ver_mode in (
"release",
"release-branch",
):
gcp_bucket = "{}/artifacts/downloads".format(bucket)
if ver_mode == "release":
ver_part = "${DRONE_TAG}"
dir = "release"
else:
dir = "main"
gcp_bucket = "grafana-downloads"
build_no = "DRONE_BUILD_NUMBER"
ver_part = "--build-id $$env:{}".format(build_no)
installer_commands = [
"$$gcpKey = $$env:GCP_KEY",
"[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($$gcpKey)) > gcpkey.json",
# gcloud fails to read the file unless converted with dos2unix
"dos2unix gcpkey.json",
"gcloud auth activate-service-account --key-file=gcpkey.json",
"rm gcpkey.json",
"cp C:\\App\\nssm-2.24.zip .",
]
if ver_mode in ("release",):
version = "${DRONE_TAG:1}"
installer_commands.extend(
[
".\\grabpl.exe windows-installer --target {} --edition oss {}".format(
"gs://{}/{}/oss/{}/grafana-{}.windows-amd64.zip".format(gcp_bucket, ver_part, ver_mode, version),
ver_part,
),
'$$fname = ((Get-Childitem grafana*.msi -name) -split "`n")[0]',
],
)
if ver_mode == "main":
installer_commands.extend(
[
"gsutil cp $$fname gs://{}/oss/{}/".format(gcp_bucket, dir),
'gsutil cp "$$fname.sha256" gs://{}/oss/{}/'.format(
gcp_bucket,
dir,
),
],
)
else:
installer_commands.extend(
[
"gsutil cp $$fname gs://{}/{}/oss/{}/".format(
gcp_bucket,
ver_part,
dir,
),
'gsutil cp "$$fname.sha256" gs://{}/{}/oss/{}/'.format(
gcp_bucket,
ver_part,
dir,
),
],
)
steps.append(
{
"name": "build-windows-installer",
"image": windows_images["wix"],
"depends_on": [
"windows-init",
],
"environment": {
"GCP_KEY": from_secret(gcp_grafanauploads_base64),
"PRERELEASE_BUCKET": from_secret(prerelease_bucket),
"GITHUB_TOKEN": from_secret("github_token"),
},
"commands": installer_commands,
},
)
return steps
def download_grabpl_step_windows():
return {
"name": "grabpl",
"image": windows_images["wix"],
"commands": [
'$$ProgressPreference = "SilentlyContinue"',
"Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/{}/windows/grabpl.exe -OutFile grabpl.exe".format(
grabpl_version,
),
],
}
def test_backend_step_windows():
# TODO: This is mostly a duplicate of "test_backend_step" in lib.star; but this file can't import that one,
# otherwise it creates an import cycle.
return {
"name": "test-backend",
"image": windows_images["go"],
"depends_on": [
"wire-install",
],
"commands": [
"go test -tags requires_buildifer -short -covermode=atomic -timeout=5m ./pkg/...",
],
}
def clone_step_windows():
return {
"name": "clone",
"image": windows_images["wix"],
"environment": {
"GITHUB_TOKEN": from_secret("github_token"),
},
"commands": [
'git clone "https://$$env:GITHUB_TOKEN@github.com/$$env:DRONE_REPO.git" .',
"git checkout -f $$env:DRONE_COMMIT",
],
}
def wire_install_step_windows(edition):
return {
"name": "wire-install",
"image": windows_images["go"],
"commands": [
"go install github.com/google/wire/cmd/wire@v0.5.0",
"wire gen -tags {} ./pkg/server".format(edition),
],
"depends_on": [
"windows-init",
],
}

View File

@ -0,0 +1,49 @@
"""
Individual steps that use 'grafana-build' to replace existing individual steps.
These aren't used in releases.
"""
# rgm_package_step will create a tar.gz for use in e2e tests or other PR testing related activities..
def rgm_package_step(distros = "linux/amd64,linux/arm64", file = "packages.txt"):
return {
"name": "rgm-package",
"image": "grafana/grafana-build:main",
"depends_on": ["yarn-install"],
"commands": [
"/src/grafana-build package --distro={} ".format(distros) +
"--yarn-cache=$$YARN_CACHE_FOLDER " +
"--build-id=$$DRONE_BUILD_NUMBER " +
"--grafana-dir=$$PWD > {}".format(file),
],
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
}
# rgm_build_backend will create compile the grafana backend for various platforms. It's preferred to use
# 'rgm_package_step' if you creating a "usable" artifact. This should really only be used to verify that the code is
# compilable.
def rgm_build_backend_step(distros = "linux/amd64,linux/arm64"):
return {
"name": "rgm-package",
"image": "grafana/grafana-build:main",
"commands": [
"/src/grafana-build build --distro={} --grafana-dir=$$PWD".format(distros),
],
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
}
def rgm_build_docker_step(packages, ubuntu, alpine, depends_on = ["rgm-package"], file = "docker.txt", tag_format = "{{ .version }}-{{ .arch }}", ubuntu_tag_format = "{{ .version }}-ubuntu-{{ .arch }}"):
return {
"name": "rgm-build-docker",
"image": "grafana/grafana-build:main",
"commands": [
"/src/grafana-build docker " +
"--package=$(cat {} | grep tar.gz | grep -v docker | grep -v sha256) ".format(packages) +
"--ubuntu-base={} ".format(ubuntu) +
"--alpine-base={} ".format(alpine) +
"--tag-format='{}' ".format(tag_format) +
"--ubuntu-tag-format='{}' > {}".format(ubuntu_tag_format, file),
"find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i",
],
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
"depends_on": depends_on,
}

View File

@ -2,23 +2,34 @@
This module contains all the docker images that are used to build test and publish Grafana. This module contains all the docker images that are used to build test and publish Grafana.
""" """
load(
"scripts/drone/variables.star",
"golang_version",
"nodejs_version",
)
images = { images = {
"cloudsdk_image": "google/cloud-sdk:431.0.0", "git": "alpine/git:2.40.1",
"build_image": "grafana/build-container:1.7.5", "go": "golang:{}-alpine".format(golang_version),
"publish_image": "grafana/grafana-ci-deploy:1.3.3", "node": "node:{}-alpine".format(nodejs_version),
"alpine_image": "alpine:3.17.1", "cloudsdk": "google/cloud-sdk:431.0.0",
"curl_image": "byrnedo/alpine-curl:0.1.8", "publish": "grafana/grafana-ci-deploy:1.3.3",
"go_image": "golang:1.20.6", "alpine": "alpine:3.17.1",
"plugins_slack_image": "plugins/slack", "ubuntu": "ubuntu:22.10",
"postgres_alpine_image": "postgres:12.3-alpine", "curl": "byrnedo/alpine-curl:0.1.8",
"mysql5_image": "mysql:5.7.39", "plugins_slack": "plugins/slack",
"mysql8_image": "mysql:8.0.32", "python": "python:3.8",
"redis_alpine_image": "redis:6.2.11-alpine", "postgres_alpine": "postgres:12.3-alpine",
"memcached_alpine_image": "memcached:1.6.9-alpine", "mysql5": "mysql:5.7.39",
"package_publish_image": "us.gcr.io/kubernetes-dev/package-publish:latest", "mysql8": "mysql:8.0.32",
"openldap_image": "osixia/openldap:1.4.0", "redis_alpine": "redis:6.2.11-alpine",
"drone_downstream_image": "grafana/drone-downstream", "memcached_alpine": "memcached:1.6.9-alpine",
"docker_puppeteer_image": "grafana/docker-puppeteer:1.1.0", "package_publish": "us.gcr.io/kubernetes-dev/package-publish:latest",
"docs_image": "grafana/docs-base:dbd975af06", "openldap": "osixia/openldap:1.4.0",
"cypress_image": "cypress/included:12.15.0", "drone_downstream": "grafana/drone-downstream",
"docker_puppeteer": "grafana/docker-puppeteer:1.1.0",
"docs": "grafana/docs-base:dbd975af06",
"cypress": "cypress/included:12.15.0",
"dockerize": "jwilder/dockerize:0.6.1",
"shellcheck": "koalaman/shellcheck:stable",
} }

View File

@ -4,9 +4,14 @@ All the windows images needed to be in a different file than the other images, s
by trivy. Related issue: https://github.com/aquasecurity/trivy/issues/1392 by trivy. Related issue: https://github.com/aquasecurity/trivy/issues/1392
""" """
load(
"scripts/drone/variables.star",
"golang_version",
)
windows_images = { windows_images = {
"1809_image": "mcr.microsoft.com/windows:1809", "1809": "mcr.microsoft.com/windows:1809",
"wix_image": "grafana/ci-wix:0.1.1", "wix": "grafana/ci-wix:0.1.1",
"windows_server_core_image": "docker:windowsservercore-1809", "windows_server_core": "docker:windowsservercore-1809",
"windows_go_image": "grafana/grafana-ci-windows-test:0.1.0", "go": "golang:{}-windowsservercore-1809".format(golang_version),
} }

View File

@ -0,0 +1,9 @@
"""
global variables
"""
grabpl_version = "v3.0.41"
golang_version = "1.21.1"
# nodejs_version should match what's in ".nvmrc", but without the v prefix.
nodejs_version = "18.12.0"

View File

@ -1,16 +0,0 @@
"""
This module returns the pipeline used for version branches.
"""
load(
"scripts/drone/events/release.star",
"oss_pipelines",
)
ver_mode = "release-branch"
trigger = {"ref": ["refs/heads/v[0-9]*"]}
def version_branch_pipelines():
return (
oss_pipelines(ver_mode = ver_mode, trigger = trigger)
)