3434
3535REPO=" OpenCoworkAI/open-codesign"
3636REL_URL_BASE=" https://github.com/${REPO} /releases/download/v${VERSION} "
37+ RELEASE_DATE=" $(
38+ curl -fsSL " https://api.github.com/repos/${REPO} /releases/tags/v${VERSION} " \
39+ | node -e " let s=''; process.stdin.on('data', d => s += d); process.stdin.on('end', () => { try { const r = JSON.parse(s); const v = (r.published_at || r.created_at || '').slice(0, 10); if (v) process.stdout.write(v); } catch {} });" \
40+ || true
41+ ) "
42+ if [[ -z " $RELEASE_DATE " ]]; then
43+ RELEASE_DATE=" $( date -u +%F) "
44+ fi
3745
3846# Derive productName from electron-builder.yml. Everything downstream
3947# (mac .app bundle, Windows .exe after install) is named after this.
@@ -60,6 +68,7 @@ trap 'rm -rf "$tmpdir"' EXIT
6068echo " Version : v${VERSION} "
6169echo " Product : ${PRODUCT_NAME} "
6270echo " Channel : ${PACKAGING_CHANNEL} "
71+ echo " Release: ${RELEASE_DATE} "
6372echo " "
6473
6574# ---------------------------------------------------------------
341350if [[ " $PACKAGING_CHANNEL " == " all" && -d " $winget_dir " ]]; then
342351 for f in " $winget_dir " /* .yaml; do
343352 perl -pi -e " s/^PackageVersion:.*/PackageVersion: ${VERSION} /" " $f "
353+ perl -pi -e " s/^ManifestVersion:.*/ManifestVersion: 1.12.0/" " $f "
344354 done
345355 installer=" $winget_dir /OpenCoworkAI.OpenCoDesign.installer.yaml"
346356 # Rewrite the entire Installers block to the current (per-arch) shape.
347357 # electron-builder now emits separate x64 and arm64 NSIS installers.
348- python3 - " $installer " " $VERSION " " $win_x64_sha " " $win_arm_sha " << 'PY '
358+ python3 - " $installer " " $VERSION " " $win_x64_sha " " $win_arm_sha " " $RELEASE_DATE " << 'PY '
349359import re, sys
350- path, version, x64, arm64 = sys.argv[1:]
360+ path, version, x64, arm64, release_date = sys.argv[1:]
351361src = open(path).read()
352362new_block = (
353363 "Installers:\n"
@@ -359,6 +369,11 @@ new_block = (
359369 f" InstallerSha256: {arm64.upper()}\n"
360370)
361371out = re.sub(r"Installers:\n(?:(?: -| ).*\n)+", new_block, src, count=1)
372+ if release_date:
373+ if re.search(r"^ReleaseDate:", out, flags=re.M):
374+ out = re.sub(r"^ReleaseDate:.*", f"ReleaseDate: {release_date}", out, flags=re.M)
375+ else:
376+ out = out.replace("UpgradeBehavior: install\n", f"UpgradeBehavior: install\nReleaseDate: {release_date}\n", 1)
362377open(path, "w").write(out)
363378PY
364379 locale=" $winget_dir /OpenCoworkAI.OpenCoDesign.locale.en-US.yaml"
0 commit comments