From 65ca47549d519195bd80e31420b59f9c5df7e564 Mon Sep 17 00:00:00 2001 From: Arve Knudsen Date: Wed, 25 Nov 2020 08:11:08 +0100 Subject: [PATCH] Drone: Check CUE dashboard schemas (#29334) Signed-off-by: Arve Knudsen --- .drone.yml | 388 ++++++++++++------------- scripts/build/ci-build/Dockerfile | 20 +- scripts/build/ci-build/build-deploy.sh | 2 +- scripts/lib.star | 26 +- scripts/master.star | 2 + scripts/pr.star | 2 + scripts/release.star | 2 + 7 files changed, 232 insertions(+), 210 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5f051ebcd68..cf50395cde6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,7 +14,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -28,7 +28,7 @@ steps: DOCKERIZE_VERSION: 0.6.1 - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -42,7 +42,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -50,22 +50,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -75,7 +74,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -84,7 +83,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --variants linux-x64,linux-x64-musl,osx64,win64 --no-pull-enterprise depends_on: @@ -93,7 +92,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --no-install-deps --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -101,7 +100,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition oss --no-install-deps depends_on: @@ -109,7 +108,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - . scripts/build/gpg-test-vars.sh && ./bin/grabpl package --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise --variants linux-x64,linux-x64-musl,osx64,win64 depends_on: @@ -120,9 +119,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -140,7 +140,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -150,7 +150,7 @@ steps: - package - name: build-frontend-docs - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./scripts/ci-reference-docs-lint.sh ci depends_on: @@ -167,7 +167,7 @@ steps: - build-frontend-docs - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -183,7 +183,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -200,7 +200,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -251,7 +251,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -277,7 +277,7 @@ steps: from_secret: drone_token - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -291,7 +291,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -299,22 +299,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -324,7 +323,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -333,7 +332,7 @@ steps: - initialize - name: publish-frontend-metrics - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./scripts/ci-frontend-metrics.sh | ./bin/grabpl publish-metrics $${GRAFANA_MISC_STATS_API_KEY} environment: @@ -344,7 +343,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -353,7 +352,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --no-install-deps --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -361,7 +360,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition oss --no-install-deps --sign --signing-admin environment: @@ -372,7 +371,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise --sign environment: @@ -394,9 +393,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -414,7 +414,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -437,14 +437,14 @@ steps: - end-to-end-tests - name: build-frontend-docs - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./scripts/ci-reference-docs-lint.sh ci depends_on: - build-frontend - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -474,7 +474,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -491,7 +491,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -507,7 +507,7 @@ steps: - test-frontend - name: release-next-npm-packages - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./node_modules/.bin/lerna bootstrap - echo "//registry.npmjs.org/:_authToken=$${NPM_TOKEN}" >> ~/.npmrc @@ -620,7 +620,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -705,7 +705,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -720,7 +720,7 @@ steps: DOCKERIZE_VERSION: 0.6.1 - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -734,7 +734,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -742,22 +742,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -767,7 +766,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -776,7 +775,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition oss --github-token $${GITHUB_TOKEN} --no-pull-enterprise ${DRONE_TAG} environment: @@ -788,7 +787,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --github-token $${GITHUB_TOKEN} --no-install-deps --edition oss --no-pull-enterprise ${DRONE_TAG} depends_on: @@ -796,7 +795,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition oss --no-install-deps --sign --signing-admin environment: @@ -807,7 +806,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition oss --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign ${DRONE_TAG} environment: @@ -829,9 +828,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -849,7 +849,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -859,7 +859,7 @@ steps: - package - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -889,7 +889,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -906,7 +906,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -949,7 +949,7 @@ steps: - end-to-end-tests - name: release-npm-packages - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./node_modules/.bin/lerna bootstrap - echo "//registry.npmjs.org/:_authToken=$${NPM_TOKEN}" >> ~/.npmrc @@ -1048,7 +1048,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: clone - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -1061,7 +1061,7 @@ steps: from_secret: github_token - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mv bin/grabpl /tmp/ - rmdir bin @@ -1081,7 +1081,7 @@ steps: - clone - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -1095,7 +1095,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -1103,22 +1103,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -1128,7 +1127,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -1137,7 +1136,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition enterprise --github-token $${GITHUB_TOKEN} --no-pull-enterprise ${DRONE_TAG} environment: @@ -1149,7 +1148,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --github-token $${GITHUB_TOKEN} --no-install-deps --edition enterprise --no-pull-enterprise ${DRONE_TAG} depends_on: @@ -1157,7 +1156,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition enterprise --no-install-deps --sign --signing-admin environment: @@ -1168,7 +1167,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition enterprise --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign ${DRONE_TAG} environment: @@ -1190,9 +1189,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -1210,7 +1210,7 @@ steps: - end-to-end-tests-server - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -1240,7 +1240,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -1257,7 +1257,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -1391,7 +1391,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -1478,7 +1478,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -1493,7 +1493,7 @@ steps: DOCKERIZE_VERSION: 0.6.1 - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -1507,7 +1507,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -1515,22 +1515,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -1540,7 +1539,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -1549,7 +1548,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition oss --github-token $${GITHUB_TOKEN} --no-pull-enterprise v7.3.0-test environment: @@ -1561,7 +1560,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --github-token $${GITHUB_TOKEN} --no-install-deps --edition oss --no-pull-enterprise v7.3.0-test depends_on: @@ -1569,7 +1568,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition oss --no-install-deps --sign --signing-admin environment: @@ -1580,7 +1579,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition oss --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign v7.3.0-test environment: @@ -1602,9 +1601,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -1622,7 +1622,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -1632,7 +1632,7 @@ steps: - package - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -1656,7 +1656,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -1673,7 +1673,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -1713,7 +1713,7 @@ steps: - end-to-end-tests - name: release-npm-packages - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./node_modules/.bin/lerna bootstrap - echo "//registry.npmjs.org/:_authToken=$${NPM_TOKEN}" >> ~/.npmrc @@ -1811,7 +1811,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: clone - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -1824,7 +1824,7 @@ steps: from_secret: github_token - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mv bin/grabpl /tmp/ - rmdir bin @@ -1844,7 +1844,7 @@ steps: - clone - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -1858,7 +1858,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -1866,22 +1866,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -1891,7 +1890,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -1900,7 +1899,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition enterprise --github-token $${GITHUB_TOKEN} --no-pull-enterprise v7.3.0-test environment: @@ -1912,7 +1911,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --github-token $${GITHUB_TOKEN} --no-install-deps --edition enterprise --no-pull-enterprise v7.3.0-test depends_on: @@ -1920,7 +1919,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition enterprise --no-install-deps --sign --signing-admin environment: @@ -1931,7 +1930,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition enterprise --github-token $${GITHUB_TOKEN} --no-pull-enterprise --sign v7.3.0-test environment: @@ -1953,9 +1952,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -1973,7 +1973,7 @@ steps: - end-to-end-tests-server - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -1997,7 +1997,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -2014,7 +2014,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -2148,7 +2148,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -2235,7 +2235,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -2249,7 +2249,7 @@ steps: DOCKERIZE_VERSION: 0.6.1 - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -2263,7 +2263,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -2271,22 +2271,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -2296,7 +2295,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -2305,7 +2304,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -2314,7 +2313,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --no-install-deps --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -2322,7 +2321,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition oss --no-install-deps --sign --signing-admin environment: @@ -2333,7 +2332,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition oss --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise --sign environment: @@ -2355,9 +2354,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -2375,7 +2375,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -2385,7 +2385,7 @@ steps: - package - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -2409,7 +2409,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -2426,7 +2426,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client @@ -2525,7 +2525,7 @@ steps: - echo $DRONE_RUNNER_NAME - name: clone - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mkdir -p bin - curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v0.5.28/grabpl @@ -2538,7 +2538,7 @@ steps: from_secret: github_token - name: initialize - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - mv bin/grabpl /tmp/ - rmdir bin @@ -2557,7 +2557,7 @@ steps: - clone - name: lint-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/... - revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/... @@ -2571,7 +2571,7 @@ steps: - initialize - name: codespell - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "echo -e \"unknwon\nreferer\nerrorstring\neror\niam\" > words_to_ignore.txt" - codespell -I words_to_ignore.txt docs/ @@ -2579,22 +2579,21 @@ steps: - initialize - name: shellcheck - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - - curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status - - tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz - - mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/ - - rm -rf shellcheck-v$${VERSION}* - ./bin/grabpl shellcheck - environment: - CHKSUM: beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f - VERSION: 0.7.1 + depends_on: + - initialize + +- name: check-dashboard-schemas + image: grafana/build-container:1.2.30 + commands: + - cue export --out openapi -o - ./dashboard-schemas/... depends_on: - initialize - name: test-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - "[ $(grep FocusConvey -R pkg | wc -l) -eq \"0\" ] || exit 1" - ./bin/grabpl test-backend @@ -2604,7 +2603,7 @@ steps: - lint-backend - name: test-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn run ci:test-frontend environment: @@ -2613,7 +2612,7 @@ steps: - initialize - name: build-backend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-backend --jobs 8 --edition enterprise --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -2622,7 +2621,7 @@ steps: - test-backend - name: build-frontend - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-frontend --jobs 8 --no-install-deps --edition enterprise --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise depends_on: @@ -2630,7 +2629,7 @@ steps: - test-frontend - name: build-plugins - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl build-plugins --jobs 8 --edition enterprise --no-install-deps --sign --signing-admin environment: @@ -2641,7 +2640,7 @@ steps: - lint-backend - name: package - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - ./bin/grabpl package --jobs 8 --edition enterprise --build-id ${DRONE_BUILD_NUMBER} --no-pull-enterprise --sign environment: @@ -2663,9 +2662,10 @@ steps: - test-frontend - codespell - shellcheck + - check-dashboard-schemas - name: end-to-end-tests-server - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 detach: true commands: - ./e2e/start-server @@ -2683,7 +2683,7 @@ steps: - end-to-end-tests-server - name: build-storybook - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - yarn storybook:build - ./bin/grabpl verify-storybook @@ -2693,7 +2693,7 @@ steps: - package - name: copy-packages-for-docker - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - cp dist/*.tar.gz* packaging/docker/ depends_on: @@ -2717,7 +2717,7 @@ steps: - copy-packages-for-docker - name: postgres-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq postgresql-client @@ -2734,7 +2734,7 @@ steps: - test-frontend - name: mysql-integration-tests - image: grafana/build-container:1.2.29 + image: grafana/build-container:1.2.30 commands: - apt-get update - apt-get install -yq default-mysql-client diff --git a/scripts/build/ci-build/Dockerfile b/scripts/build/ci-build/Dockerfile index 60cecc458ed..1417978436a 100644 --- a/scripts/build/ci-build/Dockerfile +++ b/scripts/build/ci-build/Dockerfile @@ -73,14 +73,26 @@ RUN cd /tmp && \ rm -rf /tmp/x86_64-centos6-linux-gnu/ && \ rm -rf /tmp/crosstool-ng-${CTNG} -ARG GOLANGCILINT_VERSION=1.32.2 -ARG GOLANGCILINT_CHKSUM=e7ab86d833bf9faed39801ab3b5cd294f026d26f9a7da63a42390943ead486cc +ARG GOLANGCILINT_VERSION=1.33.0 +ARG GOLANGCILINT_CHKSUM=e2d6082f1df53c5d2c280765000f9e82783ea909ba419c6c4e172936b076031e RUN curl -fLO https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCILINT_VERSION}/golangci-lint-${GOLANGCILINT_VERSION}-linux-amd64.tar.gz RUN echo ${GOLANGCILINT_CHKSUM} golangci-lint-${GOLANGCILINT_VERSION}-linux-amd64.tar.gz | sha256sum --check --strict --status RUN tar xf golangci-lint-${GOLANGCILINT_VERSION}-linux-amd64.tar.gz RUN mv golangci-lint-${GOLANGCILINT_VERSION}-linux-amd64/golangci-lint /tmp/ +ARG SHELLCHECK_VERSION=0.7.1 +ARG SHELLCHECK_CHKSUM=beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0311406c255084cf7283a3b8fce644c340c2f6aa910b9f +RUN curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-v${SHELLCHECK_VERSION}.linux.x86_64.tar.xz +RUN echo $SHELLCHECK_CHKSUM shellcheck-v${SHELLCHECK_VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status +RUN tar xf shellcheck-v${SHELLCHECK_VERSION}.linux.x86_64.tar.xz && mv shellcheck-v${SHELLCHECK_VERSION}/shellcheck /tmp/ + +ARG CUE_VERSION=0.3.0-alpha5 +ARG CUE_CHKSUM=9d3131e470cdb5182afd9966688f1c052d383145cce005a947156b5591da39b7 +RUN curl -fLO https://github.com/cuelang/cue/releases/download/v${CUE_VERSION}/cue_${CUE_VERSION}_Linux_x86_64.tar.gz +RUN echo $CUE_CHKSUM cue_${CUE_VERSION}_Linux_x86_64.tar.gz | sha256sum --check --strict --status +RUN tar xf cue_${CUE_VERSION}_Linux_x86_64.tar.gz -C /tmp cue + # Base image to crossbuild grafana. # Use old Debian (this has support into 2022) in order to ensure binary compatibility with older glibc's. FROM debian:stretch-20201012 @@ -96,7 +108,9 @@ ENV GOVERSION=1.15.5 \ ARG DEBIAN_FRONTEND=noninteractive COPY --from=toolchain /tmp/x86_64-centos6-linux-gnu.tar.xz /tmp/osxcross.tar.xz /tmp/ -COPY --from=toolchain /tmp/golangci-lint /usr/local/bin +COPY --from=toolchain /tmp/golangci-lint /usr/local/bin/ +COPY --from=toolchain /tmp/shellcheck /usr/local/bin/ +COPY --from=toolchain /tmp/cue /usr/local/bin/ RUN apt-get update && \ apt-get install -yq \ diff --git a/scripts/build/ci-build/build-deploy.sh b/scripts/build/ci-build/build-deploy.sh index 50445496647..1064efb9115 100755 --- a/scripts/build/ci-build/build-deploy.sh +++ b/scripts/build/ci-build/build-deploy.sh @@ -1,7 +1,7 @@ #!/bin/bash set -eo pipefail -_version="1.2.29" +_version="1.2.30" _tag="grafana/build-container:${_version}" _dpath=$(dirname "${BASH_SOURCE[0]}") diff --git a/scripts/lib.star b/scripts/lib.star index ae77a90730c..b92c7e46b90 100644 --- a/scripts/lib.star +++ b/scripts/lib.star @@ -1,5 +1,5 @@ grabpl_version = '0.5.28' -build_image = 'grafana/build-container:1.2.29' +build_image = 'grafana/build-container:1.2.30' publish_image = 'grafana/grafana-ci-deploy:1.2.7' grafana_docker_image = 'grafana/drone-grafana-docker:0.3.2' alpine_image = 'alpine:3.12' @@ -510,22 +510,23 @@ def shellcheck_step(): 'depends_on': [ 'initialize', ], - 'environment': { - 'VERSION': '0.7.1', - 'CHKSUM': 'beca3d7819a6bdcfbd044576df4fc284053b48f468b2f03428fe66f4ceb2c05d9b5411357fa15003cb0' + - '311406c255084cf7283a3b8fce644c340c2f6aa910b9f', - }, 'commands': [ - 'curl -fLO http://storage.googleapis.com/grafana-downloads/ci-dependencies/shellcheck-' + - 'v$${VERSION}.linux.x86_64.tar.xz', - 'echo $$CHKSUM shellcheck-v$${VERSION}.linux.x86_64.tar.xz | sha512sum --check --strict --status', - 'tar xf shellcheck-v$${VERSION}.linux.x86_64.tar.xz', - 'mv shellcheck-v$${VERSION}/shellcheck /usr/local/bin/', - 'rm -rf shellcheck-v$${VERSION}*', './bin/grabpl shellcheck', ], } +def dashboard_schemas_check(): + return { + 'name': 'check-dashboard-schemas', + 'image': build_image, + 'depends_on': [ + 'initialize', + ], + 'commands': [ + 'cue export --out openapi -o - ./dashboard-schemas/...', + ], + } + def package_step(edition, ver_mode, variants=None, is_downstream=False): if variants: variants_str = ' --variants {}'.format(','.join(variants)) @@ -592,6 +593,7 @@ def package_step(edition, ver_mode, variants=None, is_downstream=False): 'test-frontend', 'codespell', 'shellcheck', + 'check-dashboard-schemas', ], 'environment': env, 'commands': cmds, diff --git a/scripts/master.star b/scripts/master.star index 874d4ed4701..7ecca3e3cb6 100644 --- a/scripts/master.star +++ b/scripts/master.star @@ -4,6 +4,7 @@ load( 'lint_backend_step', 'codespell_step', 'shellcheck_step', + 'dashboard_schemas_check', 'test_backend_step', 'test_frontend_step', 'build_backend_step', @@ -41,6 +42,7 @@ def get_steps(edition, is_downstream=False): lint_backend_step(edition), codespell_step(), shellcheck_step(), + dashboard_schemas_check(), test_backend_step(), test_frontend_step(), frontend_metrics_step(edition=edition), diff --git a/scripts/pr.star b/scripts/pr.star index 7189db22d32..2c6eedf6251 100644 --- a/scripts/pr.star +++ b/scripts/pr.star @@ -4,6 +4,7 @@ load( 'lint_backend_step', 'codespell_step', 'shellcheck_step', + 'dashboard_schemas_check', 'test_backend_step', 'test_frontend_step', 'build_backend_step', @@ -33,6 +34,7 @@ def pr_pipelines(edition): lint_backend_step(edition), codespell_step(), shellcheck_step(), + dashboard_schemas_check(), test_backend_step(), test_frontend_step(), build_backend_step(edition=edition, ver_mode=ver_mode, variants=variants), diff --git a/scripts/release.star b/scripts/release.star index c0d53a33406..98dfead08b9 100644 --- a/scripts/release.star +++ b/scripts/release.star @@ -7,6 +7,7 @@ load( 'lint_backend_step', 'codespell_step', 'shellcheck_step', + 'dashboard_schemas_check', 'test_backend_step', 'test_frontend_step', 'build_backend_step', @@ -61,6 +62,7 @@ def get_steps(edition, ver_mode, publish): lint_backend_step(edition), codespell_step(), shellcheck_step(), + dashboard_schemas_check(), test_backend_step(), test_frontend_step(), build_backend_step(edition=edition, ver_mode=ver_mode),