Releases
Elk artefact dat vanuit deze repository wordt gebouwd, heeft een corresponderende vermelding op de GitHub Releases-pagina. Die pagina is de gezaghebbende bron voor wat er is uitgebracht, wanneer, en wat er is veranderd.
Waar je releases vindt
Section titled “Waar je releases vindt”Alle releases — webapps, de API en native apps — staan vermeld op github.com/jonot-io/jonot/releases.
Tagconventies
Section titled “Tagconventies”Native apps — semantische versietags, handmatig gepusht door de engineer die de release maakt:
apps/host(desktop):host-v<semver>— bijv.host-v1.2.3apps/native-kiosk:android-kiosk-v<semver>— bijv.android-kiosk-v1.4.0apps/native-desk:android-desk-v<semver>— bijv.android-desk-v1.4.0
Webapps en API — tijdgestempelde doorlopende markers, automatisch aangemaakt na elke geslaagde productie-deploy:
apps/api(Worker):api-r<YYYYMMDD-HHMM>-<sha7>— bijv.api-r20260523-1542-abc1234- Web-SPA’s (9 apps):
web-<app>-r<YYYYMMDD-HHMM>-<sha7>— bijv.web-admin-r20260523-1542-abc1234
Native apps (host, android-kiosk, android-desk)
Section titled “Native apps (host, android-kiosk, android-desk)”Releases voor native artefacten worden geactiveerd door een tag te pushen die overeenkomt met het voorvoegsel van het artefact. De CI-workflow bouwt, ondertekent en publiceert naar de betreffende store, en maakt vervolgens een GitHub Release aan met bijgevoegde binaries.
Om een release te maken:
git tag host-v1.0.0git push origin host-v1.0.0Vervang host naar behoefte door android-kiosk of android-desk, en verhoog de versie zodat deze overeenkomt met de versionName-/libs.versions.toml-vermelding in de app.
Elke GitHub Release voor een native app bevat:
- android-kiosk / android-desk — ondertekende AAB, ProGuard-mapping en de
Play Store-changelog (
whatsnew-en-US.txt). - host —
.deb,.rpm,SHA256SUMSenSHA256SUMS.asc(GPG-ondertekend).
Web-SPA’s en API
Section titled “Web-SPA’s en API”Pushes naar main worden automatisch gedeployed naar de development-omgeving.
Productie wordt gepromoveerd door een verplaatsbare release-tag geforceerd naar het gewenste commit te verplaatsen en te pushen:
# Alles uitbrengen (alle negen SPA's + API):git tag -f release <sha> && git push -f origin release
# Alleen de API uitbrengen:git tag -f release-api <sha> && git push -f origin release-api
# Eén SPA uitbrengen (bijv. admin):git tag -f release-admin <sha> && git push -f origin release-adminDe overkoepelende release-tag brengt alle negen SPA’s en de API uit in één push, waardoor de GitHub-limiet wordt omzeild die CI onderdrukt wanneer meer dan drie tags tegelijk worden gepusht. Niet-herkende tagnamen laten de resolve-stap falen in plaats van stilzwijgend te deployen.
Een web-<app>-r…- of api-r…-releasemarker wordt aangemaakt na elke geslaagde productie-deploy en getagd als --prerelease, zodat deze de native semver-badge “Latest release” niet verdringt. Deze markers zijn de gezaghebbende changelog — registraties van wat is uitgebracht, geen poorten.
De API-release voegt ook een migrations.txt-asset toe met alle D1-migratiebestanden die op dat commit aanwezig zijn, zodat je vanuit de Releases-interface kunt beantwoorden of migratie N is uitgebracht.
Releasenotities
Section titled “Releasenotities”Releasenotities worden automatisch door GitHub gegenereerd op basis van de titels van samengevoegde pull requests tussen de vorige release-tag en de huidige. Conventional Commit-voorvoegsels (feat:, fix:, perf:, …) in PR-titels groeperen wijzigingen visueel binnen de notities.