feat: update Dockerfile and release management scripts
Docker images / prepare-release (push) Successful in 6s
Docker images / backend-image (push) Successful in 1m45s
Docker images / frontend-image (push) Successful in 1m37s
Docker images / updater-image (push) Successful in 37s
Docker images / notify-webhook (push) Has been skipped
Docker images / publish-release (push) Successful in 6s

- Replaced the public directory creation step with a direct copy in the Dockerfile for improved build efficiency.
- Enhanced the compute-release script to retrieve all tags and manage release manifests more effectively, including better handling of published timestamps and commit details.
- Updated the ReleasesPage component to conditionally format the published date based on the build type, improving user clarity on release status.
This commit is contained in:
Denozordec
2026-05-12 17:39:50 +07:00
parent 7207d1b749
commit 35876fcd6f
3 changed files with 67 additions and 37 deletions
+12 -7
View File
@@ -7,17 +7,22 @@ import { readReleaseManifest } from "@/lib/release-manifest"
import { cn } from "@/lib/utils"
import { ExternalLinkIcon } from "lucide-react"
function formatPublishedAt(value: string | null): string {
if (!value) return "Локальная сборка"
return new Intl.DateTimeFormat("ru-RU", {
dateStyle: "long",
timeStyle: "short",
}).format(new Date(value))
export const dynamic = "force-dynamic"
function formatPublishedAt(value: string | null, isProdBuild: boolean): string {
if (value) {
return new Intl.DateTimeFormat("ru-RU", {
dateStyle: "long",
timeStyle: "short",
}).format(new Date(value))
}
return isProdBuild ? "Прод-сборка" : "Локальная сборка"
}
export default function ReleasesPage() {
const manifest = readReleaseManifest()
const version = getAppVersion()
const isProdBuild = !version.endsWith("-dev")
const releaseUrl = getReleaseUrl() || manifest.releaseUrl || null
const commits = manifest.commits
@@ -50,7 +55,7 @@ export default function ReleasesPage() {
<CardContent className="space-y-3">
<div className="flex flex-wrap items-center gap-3">
<span className="text-2xl font-semibold tracking-tight">{formatAppVersionLabel(version)}</span>
<span className="text-sm text-muted-foreground">{formatPublishedAt(manifest.publishedAt)}</span>
<span className="text-sm text-muted-foreground">{formatPublishedAt(manifest.publishedAt, isProdBuild)}</span>
</div>
<p className="text-sm text-muted-foreground">
Версия формируется автоматически от базы <span className="font-mono">v1.0.0</span> по Conventional Commits.