Skip to content

Matoleo

Kila kifurushi kilichojengwa kutoka kwenye ghala hili kina kiingilio kinacholingana kwenye ukurasa wa GitHub Releases. Ukurasa huo ndio chanzo cha kimamlaka cha kilichosafirishwa, lini, na nini kilibadilika.

Matoleo yote — programu za wavuti, API, na programu asilia — yameorodheshwa kwenye github.com/jonot-io/jonot/releases.

Programu asilia — lebo za toleo la kisemantiki, zinazosukumwa kwa mkono na mhandisi anayekata toleo:

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

Programu za wavuti na API — alama za kudumu zenye muhuri wa wakati zinazoundwa kiotomatiki baada ya kila upelekaji wa uzalishaji uliofanikiwa:

  • apps/api (Worker): api-r<YYYYMMDD-HHMM>-<sha7> — mf. api-r20260523-1542-abc1234
  • SPA za wavuti (programu 9): web-<app>-r<YYYYMMDD-HHMM>-<sha7> — mf. web-admin-r20260523-1542-abc1234

Programu asilia (host, android-kiosk, android-desk)

Section titled “Programu asilia (host, android-kiosk, android-desk)”

Matoleo ya vifurushi asilia yanaanzishwa kwa kusukuma lebo inayolingana na kiambishi cha kifurushi hicho. Mtiririko wa CI unajenga, kutia saini, na kuchapisha kwenye duka linalofaa, kisha kuunda GitHub Release yenye faili za binary zilizoambatanishwa.

Kukata toleo:

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

Badilisha host na android-kiosk au android-desk inavyofaa, na ongeza toleo lililinganie kiingilio cha versionName / libs.versions.toml katika programu.

Kila GitHub Release kwa programu asilia inajumuisha:

  • android-kiosk / android-desk — AAB iliyotiwa saini, ramani ya ProGuard, na orodha ya mabadiliko ya Play Store (whatsnew-en-US.txt).
  • host.deb, .rpm, SHA256SUMS, na SHA256SUMS.asc (iliyotiwa saini na GPG).

Kusukuma kwenye main kunapeleka kiotomatiki kwenye mazingira ya maendeleo. Uzalishaji unapandishwa kwa kusukuma kwa nguvu lebo ya toleo inayohamishika kwenda kwa commit inayotakiwa na kuisukuma:

Terminal window
# Peleka kila kitu (SPA zote tisa + API):
git tag -f release <sha> && git push -f origin release
# Peleka API pekee:
git tag -f release-api <sha> && git push -f origin release-api
# Peleka SPA moja (mf. admin):
git tag -f release-admin <sha> && git push -f origin release-admin

Lebo ya mwamvuli ya release inapeleka SPA zote tisa na API kwa kusukuma mara moja, ikiepuka kikomo cha GitHub kinachozuia CI wakati lebo zaidi ya tatu zinasukumwa mara moja. Majina ya lebo yasiyotambulika yanashindwa katika hatua ya kutatua badala ya kupeleka kimya kimya.

Alama ya toleo ya web-<app>-r… au api-r… inaundwa baada ya kila upelekaji wa uzalishaji uliofanikiwa na kuwekwa lebo ya --prerelease ili isihamishe beji ya “Toleo la Hivi Karibuni” la semver asilia. Alama hizi ndizo rekodi za kimamlaka za mabadiliko — rekodi za kilichosafirishwa, si malango.

Toleo la API pia linaambatanisha faili ya migrations.txt inayoorodhesha kila faili la uhamishaji la D1 lililopo kwenye commit hiyo, ili uweze kujibu “je, uhamishaji N ulisafirishwa?” kutoka kwenye kiolesura cha Releases.

Maelezo ya toleo yanaundwa kiotomatiki na GitHub kutoka kwenye majina ya maombi ya kuunganisha (pull request) yaliyounganishwa kati ya lebo ya toleo lililopita na la sasa. Viambishi vya Conventional Commit (feat:, fix:, perf:, …) katika majina ya PR vinapangilia mabadiliko kwa kuonekana ndani ya mwili wa maelezo.