From 8e577ce9faac4d480d551cad1160c958aae5bc56 Mon Sep 17 00:00:00 2001 From: Dimitris Sotirakis Date: Wed, 7 Sep 2022 15:08:13 +0300 Subject: [PATCH] CI: Trigger `*-storybook` steps on UI changes (#54833) * No-op, small starlark refactoring * Make build and store storybook steps execute on ui changes --- .drone.yml | 25 ++++++++++++++++++++++++- scripts/drone/steps/lib.star | 36 ++++++++++++++++++++++++++---------- 2 files changed, 50 insertions(+), 11 deletions(-) diff --git a/.drone.yml b/.drone.yml index 485055b7e5b..dc55fe5253f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -424,6 +424,10 @@ steps: NODE_OPTIONS: --max_old_space_size=4096 image: grafana/build-container:1.5.9 name: build-storybook + when: + paths: + include: + - packages/grafana-ui/** - commands: - ls dist/*.tar.gz* - cp dist/*.tar.gz* packaging/docker/ @@ -1174,6 +1178,10 @@ steps: NODE_OPTIONS: --max_old_space_size=4096 image: grafana/build-container:1.5.9 name: build-storybook + when: + paths: + include: + - packages/grafana-ui/** - commands: - ls dist/*.tar.gz* - cp dist/*.tar.gz* packaging/docker/ @@ -1210,6 +1218,9 @@ steps: image: grafana/grafana-ci-deploy:1.3.3 name: store-storybook when: + paths: + include: + - packages/grafana-ui/** repo: - grafana/grafana - commands: @@ -1901,6 +1912,10 @@ steps: NODE_OPTIONS: --max_old_space_size=4096 image: grafana/build-container:1.5.9 name: build-storybook + when: + paths: + include: + - packages/grafana-ui/** - commands: - ./bin/grabpl upload-cdn --edition oss depends_on: @@ -1944,6 +1959,10 @@ steps: from_secret: prerelease_bucket image: grafana/grafana-ci-deploy:1.3.3 name: store-storybook + when: + paths: + include: + - packages/grafana-ui/** - commands: - ./bin/grabpl artifacts npm store --tag ${DRONE_TAG} depends_on: @@ -3870,6 +3889,10 @@ steps: NODE_OPTIONS: --max_old_space_size=4096 image: grafana/build-container:1.5.9 name: build-storybook + when: + paths: + include: + - packages/grafana-ui/** - commands: - ./bin/grabpl upload-cdn --edition oss depends_on: @@ -5092,6 +5115,6 @@ kind: secret name: packages_secret_access_key --- kind: signature -hmac: 2689da88c9d55f8949f4f9a26a850661fdec1ecf8f5da5c3713bde4ca481b8dd +hmac: 8c812cebfce6e0c9aabaa4d85da9fda2f13eeedae60406a3a196c7488c4cdd6c ... diff --git a/scripts/drone/steps/lib.star b/scripts/drone/steps/lib.star index 01fdb1f943b..1f9da4ef248 100644 --- a/scripts/drone/steps/lib.star +++ b/scripts/drone/steps/lib.star @@ -11,10 +11,15 @@ wix_image = 'grafana/ci-wix:0.1.1' disable_tests = False trigger_oss = { - 'when': { - 'repo': [ - 'grafana/grafana', - ] + 'repo': [ + 'grafana/grafana', + ] +} +trigger_storybook = { + 'paths': { + 'include': [ + 'packages/grafana-ui/**', + ], } } @@ -249,6 +254,7 @@ def build_storybook_step(edition, ver_mode): 'yarn storybook:build', './bin/grabpl verify-storybook', ], + 'when': trigger_storybook, } @@ -276,9 +282,19 @@ def store_storybook_step(edition, ver_mode, trigger=None): 'PRERELEASE_BUCKET': from_secret(prerelease_bucket) }, 'commands': commands, + 'when': trigger_storybook, } if trigger and ver_mode in ("release-branch", "main"): - step.update(trigger) + # no dict merge operation available, https://github.com/harness/drone-cli/pull/220 + when_cond = { + 'repo': ['grafana/grafana',], + 'paths': { + 'include': [ + 'packages/grafana-ui/**', + ], + } + } + step = dict(step, when=when_cond) return step @@ -345,7 +361,7 @@ def upload_cdn_step(edition, ver_mode, trigger=None): ], } if trigger and ver_mode in ("release-branch", "main"): - step.update(trigger) + step = dict(step, when=trigger) return step @@ -596,7 +612,7 @@ def frontend_metrics_step(edition, trigger=None): ], } if trigger: - step.update(trigger) + step = dict(step, when=trigger) return step @@ -824,7 +840,7 @@ def publish_images_step(edition, ver_mode, mode, docker_repo, trigger=None): }], } if trigger and ver_mode in ("release-branch", "main"): - step.update(trigger) + step = dict(step, when=trigger) return step @@ -921,7 +937,7 @@ def release_canary_npm_packages_step(edition, trigger=None): ], } if trigger: - step.update(trigger) + step = dict(step, when=trigger) return step @@ -954,7 +970,7 @@ def upload_packages_step(edition, ver_mode, trigger=None): 'commands': ['./bin/grabpl upload-packages --edition {}'.format(edition),], } if trigger and ver_mode in ("release-branch", "main"): - step.update(trigger) + step = dict(step, when=trigger) return step