Gå til indhold

Udgivelser

Hvert artefakt bygget ud fra dette repository har en tilsvarende post på GitHub-siden med udgivelser. Den side er den autoritative kilde til, hvad der er blevet udgivet, hvornår og hvad der er ændret.

Alle udgivelser — web-apps, API’et og native apps — er opført på github.com/jonot-io/jonot/releases.

Native apps — semantiske versions-tags, sendt manuelt af ingeniøren, der klipper udgivelsen:

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

Web-apps og API — tidsstemplede løbende markører, oprettet automatisk efter hver vellykket produktionsudrulning:

  • apps/api (Worker): api-r<YYYYMMDD-HHMM>-<sha7> — f.eks. api-r20260523-1542-abc1234
  • Web-SPA’er (9 apps): web-<app>-r<YYYYMMDD-HHMM>-<sha7> — f.eks. web-admin-r20260523-1542-abc1234

Native apps (host, android-kiosk, android-desk)

Sektion kaldt “Native apps (host, android-kiosk, android-desk)”

Udgivelser af native artefakter udløses ved at sende et tag, der matcher artefaktets præfiks. CI-workflowet bygger, signerer og udgiver til det relevante butik, og opretter derefter en GitHub-udgivelse med vedhæftede binærfiler.

Sådan klipper du en udgivelse:

Terminal window
git tag host-v1.0.0
git push origin host-v1.0.0

Erstat host med android-kiosk eller android-desk efter behov, og hæv versionen, så den matcher versionName-/libs.versions.toml-posten i appen.

Hver GitHub-udgivelse for en native app inkluderer:

  • android-kiosk / android-desk — signeret AAB, ProGuard-mapping og Play Store-ændringsloggen (whatsnew-en-US.txt).
  • host.deb, .rpm, SHA256SUMS og SHA256SUMS.asc (GPG-signeret).

Push til main udrulles automatisk til development-miljøet. Production promoveres ved at flytte et bevægeligt udgivelses-tag med tvang til den ønskede commit og sende det:

Terminal window
# Send alt (alle ni SPA'er + API):
git tag -f release <sha> && git push -f origin release
# Send kun API'et:
git tag -f release-api <sha> && git push -f origin release-api
# Send en enkelt SPA (f.eks. admin):
git tag -f release-admin <sha> && git push -f origin release-admin

Paraply-tagget release sender alle ni SPA’er og API’et i ét enkelt push, hvilket omgår GitHub-grænsen, der undertrykker CI, når mere end tre tags sendes på én gang. Ukendte tag-navne fejler opløsningstrinnet i stedet for stille at udrulle.

En udgivelsesmarkør af typen web-<app>-r… eller api-r… oprettes efter hver vellykket produktionsudrulning og mærkes --prerelease, så den ikke fortrænger det native semver-mærke “Latest release”. Disse markører er den autoritative ændringslog — poster over, hvad der er udgivet, ikke sluser.

API-udgivelsen vedhæfter også et migrations.txt-aktiv, der lister hver D1-migrationsfil, der findes ved den commit, så du kan besvare “kom migration N med?” fra brugerfladen Udgivelser.

Udgivelsesnoter genereres automatisk af GitHub ud fra titlerne på de sammenlagte pull requests mellem det forrige udgivelses-tag og det nuværende. Conventional Commit-præfikser (feat:, fix:, perf:, …) i PR-titler grupperer ændringer visuelt i notens indhold.