Siirry sisältöön

Julkaisut

Jokaisesta tästä repositoriosta rakennetusta julkaisupaketista löytyy vastaava merkintä GitHubin julkaisusivulta. Kyseinen sivu on ensisijainen lähde sille, mitä on julkaistu, milloin ja mitä on muuttunut.

Kaikki julkaisut — verkkosovellukset, API ja natiivisovellukset — löytyvät osoitteesta github.com/jonot-io/jonot/releases.

Natiivisovellukset — semanttisen versioinnin tagit, jotka insinööri työntää manuaalisesti julkaisua tehdessään:

  • apps/host (työpöytäsovellus): host-v<semver> — esim. host-v1.2.3
  • apps/native-kiosk: android-kiosk-v<semver> — esim. android-kiosk-v1.4.0
  • apps/native-desk: android-desk-v<semver> — esim. android-desk-v1.4.0

Verkkosovellukset ja API — aikaleimatut, jatkuvasti päivittyvät merkinnät, jotka luodaan automaattisesti jokaisen onnistuneen tuotantojulkaisun jälkeen:

  • apps/api (Worker): api-r<YYYYMMDD-HHMM>-<sha7> — esim. api-r20260523-1542-abc1234
  • Verkko-SPA:t (9 sovellusta): web-<app>-r<YYYYMMDD-HHMM>-<sha7> — esim. web-admin-r20260523-1542-abc1234

Natiivisovellukset (host, android-kiosk, android-desk)

Osio nimeltä “Natiivisovellukset (host, android-kiosk, android-desk)”

Natiivien julkaisupakettien julkaisut käynnistyvät, kun työnnetään tagi, joka vastaa paketin etuliitettä. CI-työnkulku kääntää, allekirjoittaa ja julkaisee sovelluksen oikeaan kauppaan ja luo sitten GitHub-julkaisun, johon on liitetty binäärit.

Julkaisun tekeminen:

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

Korvaa host tarpeen mukaan arvolla android-kiosk tai android-desk, ja päivitä versio vastaamaan sovelluksen versionName- / libs.versions.toml-merkintää.

Jokainen natiivisovelluksen GitHub-julkaisu sisältää:

  • android-kiosk / android-desk — allekirjoitetun AAB:n, ProGuard-mapin ja Play Storen muutoslokin (whatsnew-en-US.txt).
  • host — tiedostot .deb, .rpm, SHA256SUMS ja SHA256SUMS.asc (GPG-allekirjoitettu).

main-haaraan tehdyt työnnöt julkaistaan automaattisesti development-ympäristöön. Tuotantoon siirretään pakottamalla siirrettävä julkaisutagi haluttuun commitiin ja työntämällä se:

Terminal window
# Julkaise kaikki (yhdeksän SPA:ta + API):
git tag -f release <sha> && git push -f origin release
# Julkaise vain API:
git tag -f release-api <sha> && git push -f origin release-api
# Julkaise yksittäinen SPA (esim. admin):
git tag -f release-admin <sha> && git push -f origin release-admin

Kattotagi release julkaisee kaikki yhdeksän SPA:ta ja API:n yhdellä työnnöllä, mikä kiertää GitHubin rajoituksen, joka estää CI:n käynnistymisen, kun yli kolme tagia työnnetään kerralla. Tunnistamattomat taginimet kaatavat ratkaisuvaiheen sen sijaan, että ne julkaistaisiin hiljaa.

web-<app>-r…- tai api-r…-julkaisumerkintä luodaan jokaisen onnistuneen tuotantojulkaisun jälkeen ja merkitään lipulla --prerelease, jotta se ei syrjäytä natiivien semver-julkaisujen “Latest release” -merkkiä. Nämä merkinnät ovat ensisijainen muutosloki — tallenne siitä, mitä on julkaistu, ei portti julkaisulle.

API-julkaisuun liitetään myös migrations.txt-tiedosto, joka listaa jokaisen kyseisessä commitissa olevan D1-migraatiotiedoston, jotta voit vastata kysymykseen “julkaistiinko migraatio N?” suoraan julkaisunäkymästä.

GitHub luo julkaisutiedot automaattisesti yhdistettyjen pull requestien otsikoista edellisen ja nykyisen julkaisutagin väliltä. PR-otsikoiden Conventional Commit -etuliitteet (feat:, fix:, perf:, …) ryhmittelevät muutokset visuaalisesti tiedotteen sisällä.