From d4e61faae9453bf396dba61af78fa6a9dcde4588 Mon Sep 17 00:00:00 2001 From: Tom Ratcliffe Date: Tue, 18 Nov 2025 17:00:06 +0000 Subject: [PATCH] Make sure enterprise api clients don't drift --- .github/workflows/frontend-lint.yml | 14 ++++++++++++++ package.json | 1 + 2 files changed, 15 insertions(+) diff --git a/.github/workflows/frontend-lint.yml b/.github/workflows/frontend-lint.yml index 02833d61149..6403ff3fbac 100644 --- a/.github/workflows/frontend-lint.yml +++ b/.github/workflows/frontend-lint.yml @@ -178,6 +178,10 @@ jobs: run: | extract_error_message='ERROR! API client generation failed!' yarn generate-apis || (echo "${extract_error_message}" && false) + - name: Generate Enterprise API clients + run: | + extract_error_message='ERROR! API client generation failed!' + yarn generate-enterprise-apis || (echo "${extract_error_message}" && false) - name: Verify generated clients run: | uncommited_error_message="ERROR! API client generation has not been committed. Please run 'yarn generate-apis', commit the changes and push again." @@ -187,3 +191,13 @@ jobs: echo "${uncommited_error_message}" exit 1 fi + - name: Verify generated enterprise clients + run: | + uncommited_error_message="ERROR! Enterprise API client generation has not been committed. Please run 'yarn generate-enterprise-apis', commit the changes and push again." + cd ../grafana-enterprise + file_diff="$(git diff)" + if [ -n "$file_diff" ]; then + echo "$file_diff" + echo "${uncommited_error_message}" + exit 1 + fi diff --git a/package.json b/package.json index a41dee5cd15..dfeb65afec0 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "plugin:test:ci": "nx run-many -t test:ci --projects='tag:scope:plugin' --maxParallel=2", "plugin:i18n-extract": "nx run-many -t i18n-extract --projects='tag:scope:plugin'", "generate-apis": "yarn workspace @grafana/api-clients generate-apis", + "generate-enterprise-apis": "yarn workspace @grafana/api-clients process-specs && NODE_OPTIONS='--disable-warning=ExperimentalWarning' rtk-query-codegen-openapi ./local/generate-enterprise-apis.ts", "generate:api-client": "yarn workspace @grafana/api-clients generate:api-client" }, "grafana": {