Gå til innholdet

Utgivelser

Hvert artefakt bygget fra dette repositoriet har en tilsvarende oppføring på GitHub Releases-siden. Den siden er den autoritative kilden til hva som er utgitt, når, og hva som er endret.

Alle utgivelser — nettapper, API-et, og native apper — er listet på github.com/jonot-io/jonot/releases.

Native apper — semantiske versjonstagger, pushet manuelt av ingeniøren som kutter utgivelsen:

  • apps/host (skrivebord): 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

Nettapper og API — tidsstemplede rullende markører opprettet automatisk etter hver vellykkede produksjonsutrulling:

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

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

Section titled “Native apper (host, android-kiosk, android-desk)”

Utgivelser for native artefakter utløses ved å pushe en tag som matcher artefaktets prefiks. CI-arbeidsflyten bygger, signerer og publiserer til riktig butikk, og oppretter deretter en GitHub Release med vedlagte binærfiler.

For å kutte en utgivelse:

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

Bytt ut host med android-kiosk eller android-desk etter behov, og oppdater versjonen til å matche versionName-/libs.versions.toml-oppføringen i appen.

Hver GitHub Release for en native app inkluderer:

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

Pushinger til main distribueres automatisk til development-miljøet. Produksjon fremmes ved å tvangsflytte en bevegelig utgivelsestagg til ønsket commit og pushe den:

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

Paraply-taggen release sender ut alle ni SPA-er og API-et i én enkelt push, og unngår dermed GitHub-grensen som undertrykker CI når mer enn tre tagger pushes samtidig. Ugjenkjente taggnavn feiler i løsningssteget i stedet for å distribuere stille.

En web-<app>-r…- eller api-r…-utgivelsesmarkør opprettes etter hver vellykkede produksjonsutrulling og merkes --prerelease, slik at den ikke fortrenger det native semver-«Latest release»-merket. Disse markørene er den autoritative endringsloggen — registreringer av hva som er utgitt, ikke sperrer.

API-utgivelsen legger også ved en migrations.txt-ressurs som lister hver D1-migrasjonsfil som fantes i den commit-en, slik at du kan svare på «ble migrasjon N sendt ut?» direkte fra Releases-grensesnittet.

Versjonsnotater genereres automatisk av GitHub fra titlene på sammenslåtte pull requests mellom forrige utgivelsestagg og den gjeldende. Conventional Commit-prefikser (feat:, fix:, perf:, …) i PR-titler grupperer endringer visuelt i notatteksten.