From ffe991bbe42f69cbfa8023851c894b68012eab2b Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Fri, 13 Feb 2026 00:07:33 +0000 Subject: [PATCH] chore(release): simplify dev version format Switch dev builds to use -dev-YYYYMMDD-sha8 suffix and update version parsing + dev detection accordingly. --- .github/workflows/dev-release.yml | 4 ++-- packages/server/src/index.ts | 2 +- packages/server/src/releases/release-monitor.ts | 4 +++- packages/ui/src/stores/releases.ts | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev-release.yml b/.github/workflows/dev-release.yml index 520a806b..b7bb5d18 100644 --- a/.github/workflows/dev-release.yml +++ b/.github/workflows/dev-release.yml @@ -26,8 +26,8 @@ jobs: run: | set -euo pipefail SHA8="${GITHUB_SHA::8}" - TS=$(date -u +%Y%m%d%H%M%S) - echo "version_suffix=-dev.${TS}.${SHA8}" >> "$GITHUB_OUTPUT" + DATE=$(date -u +%Y%m%d) + echo "version_suffix=-dev-${DATE}-${SHA8}" >> "$GITHUB_OUTPUT" prerelease: needs: prepare diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 3f4461e3..e1450244 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -351,7 +351,7 @@ async function main() { const updateChannel = (process.env.CODENOMAD_UPDATE_CHANNEL ?? "").trim().toLowerCase() const githubRepo = (process.env.CODENOMAD_GITHUB_REPO ?? "NeuralNomadsAI/CodeNomad").trim() - const isDevVersion = packageJson.version.includes("-dev.") + const isDevVersion = packageJson.version.includes("-dev.") || packageJson.version.includes("-dev-") const enableDevUpdateChecks = updateChannel === "dev" || (updateChannel === "" && isDevVersion) const devReleaseMonitor = enableDevUpdateChecks ? startDevReleaseMonitor({ diff --git a/packages/server/src/releases/release-monitor.ts b/packages/server/src/releases/release-monitor.ts index d84e6959..11f97d5c 100644 --- a/packages/server/src/releases/release-monitor.ts +++ b/packages/server/src/releases/release-monitor.ts @@ -107,7 +107,9 @@ export function stripTagPrefix(tag: string | undefined): string | null { function parseVersion(value: string): NormalizedVersion { const normalized = stripTagPrefix(value) ?? "0.0.0" - const [core, prerelease = null] = normalized.split("-", 2) + const dashIndex = normalized.indexOf("-") + const core = dashIndex >= 0 ? normalized.slice(0, dashIndex) : normalized + const prerelease = dashIndex >= 0 ? normalized.slice(dashIndex + 1) : null const [major = 0, minor = 0, patch = 0] = core.split(".").map((segment) => { const parsed = Number.parseInt(segment, 10) return Number.isFinite(parsed) ? parsed : 0 diff --git a/packages/ui/src/stores/releases.ts b/packages/ui/src/stores/releases.ts index e864513d..39c199d2 100644 --- a/packages/ui/src/stores/releases.ts +++ b/packages/ui/src/stores/releases.ts @@ -148,7 +148,7 @@ function ensureMetaRefresh(meta: ServerMeta) { if (metaRefreshInterval) return const version = meta.serverVersion?.trim() ?? "" - const looksLikeDev = version.includes("-dev.") + const looksLikeDev = version.includes("-dev.") || version.includes("-dev-") const hasDevUpdateChannel = Boolean(meta.update) if (!looksLikeDev && !hasDevUpdateChannel) {