Wydania
Każdy artefakt zbudowany z tego repozytorium ma odpowiedni wpis na stronie GitHub Releases. Ta strona jest wiarygodnym źródłem informacji o tym, co zostało wydane, kiedy i co się zmieniło.
Gdzie znaleźć wydania
Dział zatytułowany „Gdzie znaleźć wydania”Wszystkie wydania — aplikacje webowe, API i aplikacje natywne — są wymienione na github.com/jonot-io/jonot/releases.
Konwencje nazewnictwa tagów
Dział zatytułowany „Konwencje nazewnictwa tagów”Aplikacje natywne — tagi wersji semantycznej, wypychane ręcznie przez inżyniera przygotowującego wydanie:
apps/host(desktop):host-v<semver>— np.host-v1.2.3apps/native-kiosk:android-kiosk-v<semver>— np.android-kiosk-v1.4.0apps/native-desk:android-desk-v<semver>— np.android-desk-v1.4.0
Aplikacje webowe i API — znakowane czasowo, tworzone automatycznie po każdym udanym wdrożeniu produkcyjnym:
apps/api(Worker):api-r<YYYYMMDD-HHMM>-<sha7>— np.api-r20260523-1542-abc1234- SPA-ki webowe (9 aplikacji):
web-<app>-r<YYYYMMDD-HHMM>-<sha7>— np.web-admin-r20260523-1542-abc1234
Aplikacje natywne (host, android-kiosk, android-desk)
Dział zatytułowany „Aplikacje natywne (host, android-kiosk, android-desk)”Wydania artefaktów natywnych są uruchamiane przez wypchnięcie tagu pasującego do prefiksu artefaktu. Przepływ CI buduje, podpisuje i publikuje w odpowiednim sklepie, a następnie tworzy GitHub Release z załączonymi plikami binarnymi.
Aby przygotować wydanie:
git tag host-v1.0.0git push origin host-v1.0.0Zastąp host przez android-kiosk lub android-desk odpowiednio do
potrzeb i podnieś wersję zgodnie z wpisem versionName /
libs.versions.toml w aplikacji.
Każde GitHub Release dla aplikacji natywnej zawiera:
- android-kiosk / android-desk — podpisany AAB, mapowanie ProGuard oraz
listę zmian Play Store (
whatsnew-en-US.txt). - host —
.deb,.rpm,SHA256SUMSiSHA256SUMS.asc(podpisane GPG).
SPA-ki webowe i API
Dział zatytułowany „SPA-ki webowe i API”Wypchnięcia do main wdrażają automatycznie do środowiska development.
Produkcja jest promowana przez wymuszone przesunięcie ruchomego tagu
wydania na docelowy commit i jego wypchnięcie:
# Wyślij wszystko (wszystkie dziewięć SPA + API):git tag -f release <sha> && git push -f origin release
# Wyślij tylko API:git tag -f release-api <sha> && git push -f origin release-api
# Wyślij pojedynczą SPA (np. admin):git tag -f release-admin <sha> && git push -f origin release-adminTag-parasol release wysyła wszystkie dziewięć SPA oraz API w jednym
wypchnięciu, omijając limit GitHub, który wyłącza CI, gdy w jednym wypchnięciu
wypychane są więcej niż trzy tagi. Nierozpoznane nazwy tagów powodują błąd
na etapie rozwiązywania, zamiast cichego wdrożenia.
Znacznik wydania web-<app>-r… lub api-r… jest tworzony po każdym udanym
wdrożeniu produkcyjnym i oznaczany jako --prerelease, aby nie zastępował
natywnej odznaki semver „Latest release”. Te znaczniki są wiarygodnym
rejestrem zmian — zapisem tego, co zostało wydane, a nie bramką kontrolną.
Wydanie API dołącza też plik migrations.txt z listą wszystkich plików
migracji D1 obecnych w danym commicie, dzięki czemu można odpowiedzieć na
pytanie „czy migracja N została wydana?” bezpośrednio z interfejsu Releases.
Informacje o wydaniu
Dział zatytułowany „Informacje o wydaniu”Informacje o wydaniu są automatycznie generowane przez GitHub na podstawie
tytułów scalonych pull requestów między poprzednim a bieżącym tagiem
wydania. Prefiksy Conventional Commits (feat:, fix:, perf:, …) w
tytułach PR grupują zmiany wizualnie w treści informacji.