Telegramingizdagi raqamli xodimlar
Mila qanday qildi: tahlillar va yangiliklar
Milalar ortida kim turibdi va qanday qoʻshilish mumkin
Milaning yangi versiyasi kartochka boʻlib keladi: bir necha qatorda nima yangiligi va tugma. Mila faqat siz tugmani bosganingizda yangilanadi. Yangilanish fayllaringiz, xotirangiz va kalitlaringizga tegmaydi, istalgan yangilanishni bekor qilsa boʻladi. Quyidagi har bir qatorda kodga havola bor.
Yangi koʻnikmalar oʻzi keladi. Ishingiz qanday boʻlsa, shunday qoladi.
mila-update koʻnikmasi qaysi versiya oʻrnatilganini biladi, uni oxirgi reliz bilan solishtiradi va faqat foydalisini olib keladi. skills/mila-update:9-12
Mila sutkada bir marta oʻzinikidan yangiroq relizni qidiradi. Sinov yigʻmalari (-rc) va qaytarib olingan versiyalarni oʻtkazib yuboradi.
skills/mila-update:38-40 update.py:117 update.py:523-534Avval reliz roʻyxati, koʻnikmalar sarlavhalari va hooklar kodi tekshiriladi. Bitta xato — versiya rad etiladi, hech narsa yozilmaydi.
update.py:422-433 update.py:557-561 test_nightly.sh:67«Yangilanish bor», oʻzgarishlar roʻyxatidan bir necha qator, nimaga tegilmasligi va ikki tugma: ✅ Yangilash va ⏸ Hozir emas. Bitta versiyani ikki marta taklif qilmaydi.
update.py:481-486 update.py:565-571 test_nightly.sh:41Mila aynan shu versiyada ✅ bosilgandan keyin yangilanadi. Kechagi bosish, boshqa versiyadagi bosish yoki sizdan boʻlmagan bosish oʻtmaydi. «Hozir emas»dan keyin keyingi relizni kutadi.
skills/mila-update:59-60 skills/mila-update:63 skills/mila-update:80Yangilanish yadro koʻnikmalari, hooklar va vositalar, mila ishga tushirgichi, konstitutsiya va kanonlarni olib keladi. Aniq roʻyxat — reliz faylida. skills/mila-update:27 release.json:6-58
Skriptga yozib qoʻyilgan roʻyxat har qanday relizdan kuchli: reliz adashib soʻrasa ham, bu yoʻllarga hech qachon yozilmaydi. update.py:52-57 update.py:63-65 release.json:60-78
memory/ va journal/ papkalari, cronlar holati. update.py:54 update.py:56.env, secrets/, Claudeʼga kirish, yangilanish sozlamalarining oʻzi. update.py:55-57Yozishdan oldin har bir fayl oʻrnatilgani bilan solishtiriladi. Natija toʻrt xil boʻladi. update.py:244-257
Sizda hali bunday koʻnikma yoki vosita yoʻq edi — u paydo boʻladi.
skills/mila-update:32Sizda oldingi versiya turibdi, siz uni oʻzgartirmagansiz — yangisi oʻrnatiladi.
skills/mila-update:33Siz koʻnikmani oʻzgartirgansiz — sizning versiyangiz qoladi. Yangisi yoniga, mila-update/new/ papkasiga qoʻyiladi va Mila bu haqda aytadi.
Birinchi solishtirishda sizdagi fayl hatto relizdan yangiroq boʻlishi mumkin. Uni faqat nomini aytib, solishtirgandan keyin olish mumkin.
skills/mila-update:35 test_update.sh:34Har bir yangilanish jurnalga yoziladi: qachon, qaysi versiya, qayerdan, kim hal qildi va zaxira nusxa qayerda. skills/mila-update:22-23 update.py:375-377
Oʻzgaradigan hamma narsa avval .tgz arxivga olinib, mila-update/backups/ papkasiga qoʻyiladi.
Bitta buyruq hammasini oxirgi yangilanishdan oldingi holiga qaytaradi: yangisi olib tashlanadi, eskisi zaxira nusxadan olinadi.
update.py:608-612 test_update.sh:56Fayllar joyida, koʻnikmalar oʻqiladi, hooklar kompilyatsiya boʻladi, versiya yozilgan. Tungi rejimda tekshiruvdan oʻtmasa — avtomatik orqaga qaytariladi va «hammasini avvalgidek qaytardim» kartochkasi keladi.
update.py:436-458 update.py:575-580 test_nightly.sh:61-63Dasturchilar versiyani qaytarib olishi mumkin. U hech qachon oʻrnatilmaydi, allaqachon oʻrnatilgan boʻlsa — Mila ogohlantiradi.
skills/mila-update:45 update.py:150-161 test_nightly.sh:75stable kanali (sukut boʻyicha) — faqat chiqarilgan versiyalar. canary — main tarmogʻining eng yangi holati. manual — Mila oʻzi tekshirmaydi. skills/mila-update:18-20 update.py:588-596 test_nightly.sh:84
Sukut boʻyicha auto oʻchiq: tunda faqat kartochka keladi, yangilanish — siz tugmani bosganingizda. autoni oʻzingiz yoqsangiz, Mila tunda oʻzi yangilanadi — zaxira nusxa, tekshiruv va avtomatik orqaga qaytarish bilan, keyin «nima yangi»ni yuboradi. update.py:33 update.py:572-582 test_nightly.sh:52
Har bir uyning oʻz tungi siljishi bor — 0–119 daqiqa: Milalar yangilanish uchun bir vaqtda yopirilib kelmasin deb. update.py:604-605
$ update.py status $ update.py check $ update.py diff --tag v1.5.2 $ update.py nightly --dry-run $ update.py rollback $ update.py config --set channel=stable
owner_chat boʻlmasa, u mila-update/cards/ papkasida fayl boʻlib qoladi. Reliz imzosi faqat require_signed yoqilganda tekshiriladi. update.py:495-510 update.py:554-556| Fayl | Nima qiladi |
|---|---|
| skills/mila-update | Mila qanday yangilanadi va nimaga hech qachon tegmaydi |
| update.py | tekshiruv, solishtirish, yangilash, orqaga qaytarish, tungi qadam, sogʻliq tekshiruvi |
| release.json | reliz nimani yangilaydi va nimaga hech qachon tegmaydi |
| yanked.json | qaytarib olingan versiyalar |
| test_nightly.sh | tungi qadamning 23 ta tekshiruvi |
| test_update.sh | yangilash va orqaga qaytarishning 27 ta tekshiruvi |
| CHANGELOG.md | har bir versiyada nima yangi (ingliz tilida) |
Toʻplam ochiq: koʻnikmalar, hooklar, vositalar va shablonlar. test_nightly.sh va test_update.shni oʻzingiz ishga tushiring — har bir pull requestni odam va Mila Sifat oʻqiydi.
Sahifadagi faktlar: github.com/shakhruz/mila (main, 8a6b97d, v1.5.2), 22.10.2026 da tekshirildi; test_nightly.sh — 23 tadan 23 tasi, test_update.sh — 27 tadan 27 tasi. Telefondagi yozishma — illyustratsiya. «Mila», «MILAGPT» va logotip — MILAGPT tovar belgilari.