From 3c913f994247c209def89595d6a7c8ea0b120936 Mon Sep 17 00:00:00 2001 From: Sam Valladares Date: Sun, 24 May 2026 16:13:06 -0500 Subject: [PATCH] Fix release dashboard validation --- .github/workflows/release.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a52b649..793ce48 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -112,15 +112,28 @@ jobs: - name: Build embedded dashboard shell: bash + env: + RELEASE_TAG: ${{ github.event.inputs.tag || github.ref_name }} run: | pnpm install --frozen-lockfile pnpm --filter @vestige/dashboard check pnpm --filter @vestige/dashboard test pnpm --filter @vestige/dashboard build - if [ -n "$(git status --porcelain -- apps/dashboard/build)" ]; then - git status --short -- apps/dashboard/build - exit 1 - fi + node <<'NODE' + const fs = require('node:fs'); + const tag = process.env.RELEASE_TAG || ''; + const expected = tag.replace(/^refs\/tags\//, '').replace(/^v/, ''); + const versionFile = 'apps/dashboard/build/_app/version.json'; + const version = JSON.parse(fs.readFileSync(versionFile, 'utf8')).version; + if (version !== expected) { + throw new Error(`${versionFile} version ${version} does not match ${tag}`); + } + for (const file of ['apps/dashboard/build/index.html', versionFile]) { + if (!fs.existsSync(file)) { + throw new Error(`Dashboard build did not produce ${file}`); + } + } + NODE - name: Build run: cargo build --locked --package vestige-mcp --release --target ${{ matrix.target }} ${{ matrix.cargo_flags }}