aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-14 05:06:49 +0000
committer_ov4 <ov4@ov4.org>2026-10-14 05:06:49 +0000
commitebaafae7ad1b71809574f3dec93e7486fe16d781 (patch)
treed44c5d9882e0b7b1176abcfa829ae1f3253de310
parentfed12356ba4cd7c36b10fe5191878c7348d27206 (diff)
fix(release): compact package timestamps
Format the HEAD commit's UTC timestamp as yyyymmdd-hhmmss in release package names. Preserve the short commit ID, platform and archive format, and update the installation and architecture documentation. Validation: cmake --build build --target release passed and generated cpsc-20261014-034032-fed1235-Linux-x86_64.tar.xz.
-rw-r--r--AGENTS/ARCH.md2
-rw-r--r--cmake/Release.cmake2
-rw-r--r--doc/install.md2
3 files changed, 3 insertions, 3 deletions
diff --git a/AGENTS/ARCH.md b/AGENTS/ARCH.md
index be98732..6901c19 100644
--- a/AGENTS/ARCH.md
+++ b/AGENTS/ARCH.md
@@ -131,7 +131,7 @@ Pandoc remains the fallback.
`make -C build release` packages the executable, all manuals, installer and license
as `build/cpsc-VERSION-SYSTEM-ARCH.tar.xz`, retaining the configured execution mode.
`cmake/Release.cmake` reads HEAD at packaging time; VERSION is the commit's UTC
-timestamp (`yyyy-mm-dd-hh-mm-ss`) followed by its short ID. Git is only required
+timestamp (`yyyymmdd-hhmmss`) followed by its short ID. Git is only required
for packaging; recipients can install the extracted archive using just the script.
The Windows `install.ps1` installs `cpsc.exe`, `doc/cpsc.html` and
diff --git a/cmake/Release.cmake b/cmake/Release.cmake
index 66c2e2b..dfb6586 100644
--- a/cmake/Release.cmake
+++ b/cmake/Release.cmake
@@ -13,7 +13,7 @@ if(NOT cpsc_git_result STREQUAL "0" OR NOT cpsc_revision MATCHES "^([0-9]+):([0-
endif()
set(ENV{SOURCE_DATE_EPOCH} "${CMAKE_MATCH_1}")
set(cpsc_short_id "${CMAKE_MATCH_2}")
-string(TIMESTAMP cpsc_commit_time "%Y-%m-%d-%H-%M-%S" UTC)
+string(TIMESTAMP cpsc_commit_time "%Y%m%d-%H%M%S" UTC)
set(cpsc_package_name "cpsc-${cpsc_commit_time}-${cpsc_short_id}-${CPSC_PLATFORM}")
set(cpsc_package_dir "${CPSC_BINARY_DIR}/release/${cpsc_package_name}")
if(CPSC_WINDOWS)
diff --git a/doc/install.md b/doc/install.md
index d91b059..f1e55d9 100644
--- a/doc/install.md
+++ b/doc/install.md
@@ -76,7 +76,7 @@ make -C build release
```
The output is `build/cpsc-VERSION-SYSTEM-ARCH.tar.xz`. `VERSION` uses HEAD's commit
-time in UTC followed by its short ID: `yyyy-mm-dd-hh-mm-ss-commit`.
+time in UTC followed by its short ID: `yyyymmdd-hhmmss-commit`.
The version is read each time packaging runs. The package uses the current build's
execution mode and contains `cpsc`, `doc/cpsc.1`, `doc/language/**/*.7`, `install.sh` and `LICENSE`.
Packaging builds the compiler and manual automatically; it requires Git and Pandoc.