Sürümler
Bu depodan derlenen her paketin GitHub Releases sayfasında karşılık gelen bir kaydı vardır. Bu sayfa, nelerin ne zaman yayınlandığına ve nelerin değiştiğine dair yetkili kaynaktır.
Sürümleri nerede bulabilirsiniz
Bölüm başlığı “Sürümleri nerede bulabilirsiniz”Tüm sürümler — web uygulamaları, API ve yerel uygulamalar — github.com/jonot-io/jonot/releases adresinde listelenir.
Etiket kuralları
Bölüm başlığı “Etiket kuralları”Yerel uygulamalar — sürümü kesen mühendis tarafından elle gönderilen anlamsal sürüm etiketleri:
apps/host(masaüstü):host-v<semver>— örn.host-v1.2.3apps/native-kiosk:android-kiosk-v<semver>— örn.android-kiosk-v1.4.0apps/native-desk:android-desk-v<semver>— örn.android-desk-v1.4.0
Web uygulamaları ve API — her başarılı üretim (production) dağıtımından sonra otomatik olarak oluşturulan zaman damgalı, hareketli işaretler:
apps/api(Worker):api-r<YYYYMMDD-HHMM>-<sha7>— örn.api-r20260523-1542-abc1234- Web SPA’ları (9 uygulama):
web-<app>-r<YYYYMMDD-HHMM>-<sha7>— örn.web-admin-r20260523-1542-abc1234
Yerel uygulamalar (host, android-kiosk, android-desk)
Bölüm başlığı “Yerel uygulamalar (host, android-kiosk, android-desk)”Yerel paketlerin sürümleri, paketin önekiyle eşleşen bir etiketin gönderilmesiyle tetiklenir. CI iş akışı derler, imzalar ve ilgili mağazaya yayınlar; ardından ekli ikili dosyalarla bir GitHub Release oluşturur.
Bir sürüm çıkarmak için:
git tag host-v1.0.0git push origin host-v1.0.0host yerine duruma göre android-kiosk veya android-desk kullanın ve
sürüm numarasını uygulamadaki versionName / libs.versions.toml
kaydıyla eşleşecek şekilde artırın.
Yerel bir uygulama için her GitHub Release şunları içerir:
- android-kiosk / android-desk — imzalanmış AAB, ProGuard eşleme
dosyası ve Play Store değişiklik listesi (
whatsnew-en-US.txt). - host —
.deb,.rpm,SHA256SUMSveSHA256SUMS.asc(GPG ile imzalanmış).
Web SPA’ları ve API
Bölüm başlığı “Web SPA’ları ve API”main dalına yapılan gönderimler otomatik olarak geliştirme (development)
ortamına dağıtılır. Üretim (production), hareketli bir sürüm etiketinin
istenen commit’e zorla taşınıp gönderilmesiyle yükseltilir:
# Her şeyi gönder (dokuz SPA'nın tamamı + API):git tag -f release <sha> && git push -f origin release
# Yalnızca API'yi gönder:git tag -f release-api <sha> && git push -f origin release-api
# Tek bir SPA'yı gönder (örn. admin):git tag -f release-admin <sha> && git push -f origin release-adminŞemsiye release etiketi, dokuz SPA’nın tamamını ve API’yi tek bir
gönderimde yayınlar; böylece bir seferde üçten fazla etiket gönderildiğinde
CI’yi bastıran GitHub sınırlaması aşılmış olur. Tanınmayan etiket adları,
sessizce dağıtım yapmak yerine çözümleme adımında başarısız olur.
Her başarılı üretim dağıtımından sonra bir web-<app>-r… veya api-r…
sürüm işareti oluşturulur ve yerel anlamsal “Latest release” rozetinin
yerini almaması için --prerelease olarak etiketlenir. Bu işaretler yetkili
değişiklik kaydıdır — neyin yayınlandığının kaydıdır, geçit değildir.
API sürümüne ayrıca, o commit’te bulunan her D1 taşıma (migration)
dosyasını listeleyen bir migrations.txt eki iliştirilir; böylece “N
numaralı taşıma yayınlandı mı?” sorusunu Releases arayüzünden
yanıtlayabilirsiniz.
Sürüm notları
Bölüm başlığı “Sürüm notları”Sürüm notları, önceki sürüm etiketi ile mevcut etiket arasında birleştirilen
pull request başlıklarından GitHub tarafından otomatik olarak oluşturulur.
PR başlıklarındaki Conventional Commit önekleri (feat:, fix:, perf:, …)
notların gövdesi içinde değişiklikleri görsel olarak gruplandırır.