From 7eb892e1a079e340152153a552e364ef68837bb7 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:27:11 +0200 Subject: [PATCH 1/4] dummy change --- clickstack/demo-days/2026/2026-04-03.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clickstack/demo-days/2026/2026-04-03.mdx b/clickstack/demo-days/2026/2026-04-03.mdx index 490caa430..5150a65d4 100644 --- a/clickstack/demo-days/2026/2026-04-03.mdx +++ b/clickstack/demo-days/2026/2026-04-03.mdx @@ -15,6 +15,8 @@ keywords: ['ClickStack', 'Demo days'] +Test change + Dashboards and saved searches have moved off the sidebar and onto dedicated listing pages. If your team has accumulated a meaningful number of dashboards, the old sidebar approach got unwieldy fast. The new pages show everything in a card view organised by tag, with name search and tag filtering built in. A denser list view is also available if you prefer it. Favouriting is now part of the picture too. Star a dashboard or saved search and it pins to the top of the listing page and reappears in the sidebar for quick access, similar to how things worked before but without crowding the nav for everyone else. The listing page also surfaces alert status icons and "created by / updated by" metadata on each card, so you can see at a glance who owns what and whether anything is firing. From 0ad234e76bf34ada0f1ec1d28d7f8bad6e4bc00b Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:43:21 +0200 Subject: [PATCH 2/4] Store Vercel deployment configuration as secrets --- .github/workflows/remote-docs-preview.yml | 16 ++++++---------- .github/workflows/site-preview.yml | 4 ++-- .github/workflows/site-production.yml | 17 ++++++----------- reports/templates/airgap-docs-preview.yml | 4 ++-- src/README.md | 4 ++-- 5 files changed, 18 insertions(+), 27 deletions(-) diff --git a/.github/workflows/remote-docs-preview.yml b/.github/workflows/remote-docs-preview.yml index f34799d67..a5a5b0614 100644 --- a/.github/workflows/remote-docs-preview.yml +++ b/.github/workflows/remote-docs-preview.yml @@ -31,14 +31,6 @@ on: description: Repository containing the pull request required: true type: string - vercel_org_id: - description: Vercel organization ID - required: true - type: string - vercel_project_id: - description: Vercel project ID - required: true - type: string secrets: WORKFLOW_AUTH_PUBLIC_APP_ID: required: true @@ -46,6 +38,10 @@ on: required: true VERCEL_TOKEN: required: true + VERCEL_ORG_ID: + required: true + VERCEL_PROJECT_ID: + required: true outputs: preview_url: description: URL of the completed Vercel preview @@ -166,8 +162,8 @@ jobs: DOCS_REMOTE_SOURCE_REPOSITORY: ${{ steps.pull-request.outputs.head_repository }} PULL_REQUEST_NUMBER: ${{ inputs.pull_request_number }} SITE_SHA: ${{ steps.site.outputs.sha }} - VERCEL_ORG_ID: ${{ inputs.vercel_org_id || vars.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ inputs.vercel_project_id || vars.VERCEL_PROJECT_ID }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} run: | if ! project_response="$( diff --git a/.github/workflows/site-preview.yml b/.github/workflows/site-preview.yml index 1d013db98..ccb4e3990 100644 --- a/.github/workflows/site-preview.yml +++ b/.github/workflows/site-preview.yml @@ -151,8 +151,8 @@ jobs: PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number || inputs.pull_request_number }} TRANSLATION_SCOPE: ${{ steps.translations.outputs.scope }} TRUST: ${{ steps.pull-request.outputs.trust }} - VERCEL_ORG_ID: ${{ vars.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ vars.VERCEL_PROJECT_ID }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} run: | repository_owner="${GITHUB_REPOSITORY%%/*}" diff --git a/.github/workflows/site-production.yml b/.github/workflows/site-production.yml index bbd6b69ba..3e9dade35 100644 --- a/.github/workflows/site-production.yml +++ b/.github/workflows/site-production.yml @@ -5,18 +5,13 @@ on: branches: [main] workflow_dispatch: workflow_call: - inputs: - vercel_org_id: - description: Vercel organization ID - required: true - type: string - vercel_project_id: - description: Vercel project ID - required: true - type: string secrets: VERCEL_TOKEN: required: true + VERCEL_ORG_ID: + required: true + VERCEL_PROJECT_ID: + required: true outputs: production_url: description: URL of the completed Vercel production deployment @@ -69,8 +64,8 @@ jobs: id: deploy env: SITE_SHA: ${{ steps.site.outputs.sha }} - VERCEL_ORG_ID: ${{ inputs.vercel_org_id || vars.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ inputs.vercel_project_id || vars.VERCEL_PROJECT_ID }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} run: | if ! project_response="$( diff --git a/reports/templates/airgap-docs-preview.yml b/reports/templates/airgap-docs-preview.yml index b355a11fa..b0d2582cb 100644 --- a/reports/templates/airgap-docs-preview.yml +++ b/reports/templates/airgap-docs-preview.yml @@ -26,9 +26,9 @@ jobs: remote_name: clickhouse-private pull_request_number: ${{ fromJSON(inputs.pull_request_number) }} source_repository: ${{ github.repository }} - vercel_org_id: ${{ vars.VERCEL_ORG_ID }} - vercel_project_id: ${{ vars.VERCEL_PROJECT_ID }} secrets: WORKFLOW_AUTH_PUBLIC_APP_ID: ${{ secrets.WORKFLOW_AUTH_PUBLIC_APP_ID }} WORKFLOW_AUTH_PUBLIC_PRIVATE_KEY: ${{ secrets.WORKFLOW_AUTH_PUBLIC_PRIVATE_KEY }} VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} diff --git a/src/README.md b/src/README.md index e2ced7ca4..37d6a0473 100644 --- a/src/README.md +++ b/src/README.md @@ -116,8 +116,8 @@ Vercel must be provisioned as follows: 7. Keep standard Preview free of secrets and privileged integrations. Every base-repository pull request builds from the primary repository's synthetic merge ref in this environment and omits registered remotes. -8. Add `VERCEL_ORG_ID` and `VERCEL_PROJECT_ID` as GitHub Actions variables and - `VERCEL_TOKEN` as a GitHub Actions secret. +8. Add `VERCEL_TOKEN`, `VERCEL_ORG_ID`, and `VERCEL_PROJECT_ID` as GitHub + Actions secrets. 9. Keep the Vercel build command as `pnpm run build:vercel` and the output directory as `dist`. From 0a7131065716f2ec907928b848eeb2b3d06078a1 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:46:56 +0200 Subject: [PATCH 3/4] Clarify Vercel repository secret scope --- src/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/README.md b/src/README.md index 37d6a0473..f01c1059c 100644 --- a/src/README.md +++ b/src/README.md @@ -116,8 +116,9 @@ Vercel must be provisioned as follows: 7. Keep standard Preview free of secrets and privileged integrations. Every base-repository pull request builds from the primary repository's synthetic merge ref in this environment and omits registered remotes. -8. Add `VERCEL_TOKEN`, `VERCEL_ORG_ID`, and `VERCEL_PROJECT_ID` as GitHub - Actions secrets. +8. Add `VERCEL_TOKEN`, `VERCEL_ORG_ID`, and `VERCEL_PROJECT_ID` as repository + secrets under GitHub Actions. Do not store them as repository variables or + environment-scoped secrets. 9. Keep the Vercel build command as `pnpm run build:vercel` and the output directory as `dist`. From 451739e9f496172137680c871a832a45105fb0cb Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:48:37 +0200 Subject: [PATCH 4/4] remove test change --- clickstack/demo-days/2026/2026-04-03.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/clickstack/demo-days/2026/2026-04-03.mdx b/clickstack/demo-days/2026/2026-04-03.mdx index 5150a65d4..490caa430 100644 --- a/clickstack/demo-days/2026/2026-04-03.mdx +++ b/clickstack/demo-days/2026/2026-04-03.mdx @@ -15,8 +15,6 @@ keywords: ['ClickStack', 'Demo days'] -Test change - Dashboards and saved searches have moved off the sidebar and onto dedicated listing pages. If your team has accumulated a meaningful number of dashboards, the old sidebar approach got unwieldy fast. The new pages show everything in a card view organised by tag, with name search and tag filtering built in. A denser list view is also available if you prefer it. Favouriting is now part of the picture too. Star a dashboard or saved search and it pins to the top of the listing page and reappears in the sidebar for quick access, similar to how things worked before but without crowding the nav for everyone else. The listing page also surfaces alert status icons and "created by / updated by" metadata on each card, so you can see at a glance who owns what and whether anything is firing.