Přeskočit na obsah

Vydání

Každý artefakt sestavený z tohoto repozitáře má odpovídající záznam na stránce GitHub Releases. Tato stránka je autoritativním zdrojem informací o tom, co bylo vydáno, kdy a co se změnilo.

Všechna vydání — webové aplikace, API a nativní aplikace — jsou uvedena na github.com/jonot-io/jonot/releases.

Nativní aplikace — tagy se sémantickou verzí, které ručně vytváří inženýr provádějící vydání:

  • apps/host (desktop): host-v<semver> — např. host-v1.2.3
  • apps/native-kiosk: android-kiosk-v<semver> — např. android-kiosk-v1.4.0
  • apps/native-desk: android-desk-v<semver> — např. android-desk-v1.4.0

Webové aplikace a API — časově označené průběžné značky vytvářené automaticky po každém úspěšném produkčním nasazení:

  • apps/api (Worker): api-r<YYYYMMDD-HHMM>-<sha7> — např. api-r20260523-1542-abc1234
  • Webové SPA (9 aplikací): web-<app>-r<YYYYMMDD-HHMM>-<sha7> — např. web-admin-r20260523-1542-abc1234

Nativní aplikace (host, android-kiosk, android-desk)

Sekce “Nativní aplikace (host, android-kiosk, android-desk)”

Vydání nativních artefaktů se spouští odesláním tagu odpovídajícího prefixu daného artefaktu. Workflow CI aplikaci sestaví, podepíše a publikuje do příslušného obchodu, poté vytvoří GitHub Release s přiloženými binárními soubory.

Vydání vytvoříte takto:

Terminál
git tag host-v1.0.0
git push origin host-v1.0.0

Nahraďte host za android-kiosk nebo android-desk podle potřeby a upravte verzi tak, aby odpovídala položce versionName / libs.versions.toml v aplikaci.

Každé GitHub Release pro nativní aplikaci obsahuje:

  • android-kiosk / android-desk — podepsaný AAB, mapování ProGuard a changelog pro Play Store (whatsnew-en-US.txt).
  • host.deb, .rpm, SHA256SUMS a SHA256SUMS.asc (podepsané GPG).

Odeslání do main se automaticky nasadí do prostředí development. Produkce se povyšuje vynuceným přesunutím pohyblivého tagu vydání na požadovaný commit a jeho odesláním:

Terminál
# Vydat vše (všech devět SPA + API):
git tag -f release <sha> && git push -f origin release
# Vydat pouze API:
git tag -f release-api <sha> && git push -f origin release-api
# Vydat jedno SPA (např. admin):
git tag -f release-admin <sha> && git push -f origin release-admin

Zastřešující tag release vydá všech devět SPA a API v jednom odeslání, čímž obchází limit GitHubu, který potlačuje CI při odeslání více než tří tagů najednou. Nerozpoznané názvy tagů způsobí selhání kroku řešení, místo aby tiše proběhlo nasazení.

Značka vydání web-<app>-r… nebo api-r… se vytváří po každém úspěšném produkčním nasazení a je označena jako --prerelease, aby nenahradila odznak „Nejnovější vydání“ u nativní sémantické verze. Tyto značky jsou autoritativním changelogem — záznamem toho, co bylo vydáno, nikoli branami.

Vydání API také přikládá přílohu migrations.txt se seznamem všech souborů migrací D1 přítomných v daném commitu, takže z rozhraní Releases můžete zodpovědět otázku „byla migrace N již vydána?“.

Poznámky k vydání generuje automaticky GitHub z názvů sloučených pull requestů mezi předchozím tagem vydání a aktuálním. Prefixy Conventional Commit (feat:, fix:, perf:, …) v názvech pull requestů vizuálně seskupují změny v těle poznámek.