Repo autoscript mengelola provisioning dan operasi VPS untuk Xray, SSH WS, WARP, edge-mux, dan bot Telegram. Karena perubahan bisa berdampak langsung ke host produksi, pengujian harus mencakup validasi statis, smoke test, regression test per domain, dan E2E di VPS bersih.
Level 0 - Sanity: syntax check, lint, compile check, dan unit test Go.Level 1 - Component: validasi komponen yang diubah tanpa flow operator penuh.Level 2 - Non-Interactive Runtime: install/rerun/health check runtime tanpa interaksi manual.Level 3 - Interactive Operator Flow: uji menu CLI, installer bot, dan flow Telegram yang dipakai admin.Level 4 - End-to-End VPS Bersih: install dari nol di host baru, reboot, lalu uji service dan koneksi nyata.Level 5 - Failure & Recovery: uji skenario gagal dan pemulihan sistem.
| Jenis perubahan | Level minimum |
|---|---|
Dokumentasi saja (README, AGENTS, TESTING) |
Level 0 |
| Perubahan kecil helper shell/Python/Go tanpa ubah flow user | Level 0-1 |
Perubahan module Go (opt/edge/go, opt/adblock/go) |
Level 0-2 |
| Perubahan bot Telegram UI, callback, ACL, atau form input | Level 0-3 |
Perubahan menu manage.sh atau opt/manage/ yang user-facing |
Level 0-3 |
Perubahan install-telegram-bot.sh |
Level 0-3 |
Perubahan run.sh atau setup.sh |
Level 0-5 |
| Perubahan domain, cert, DNS flow, atau cleanup DNS A record | Level 0-5 |
| Perubahan network, WARP, SSH Network, routing, atau service runtime | Level 0-5 |
| Perubahan backup/restore, rollback, atau data mutation penting | Level 0-5 |
Jalankan ini setelah mengubah script shell, Python, atau Go:
bash tools/test-noninteractive.sh
go -C opt/edge/go test ./...
go -C opt/adblock/go test ./...
bash bot-telegram/scripts/gate-all.shtools/test-noninteractive.sh adalah baseline cepat untuk menjalankan syntax check shell, compile check Python, gate bot Telegram, dan Go test yang tersedia dengan satu perintah.
Pakai source repo yang sedang diedit:
RUN_USE_LOCAL_SOURCE=1 bash run.shLalu verifikasi:
bash manage.shmenampilkan menu utama tanpa error.bash install-telegram-bot.shatauinstall-telegram-bot menutetap bisa dibuka.- Jika bot sudah terpasang di host, jalankan
sudo /opt/bot-telegram/scripts/smoke-test.sh.
Untuk uji manual/operator flow, gunakan checklist di tools/test-interactive-checklist.md.
Setelah mengubah area tertentu, uji minimal flow berikut:
- Domain: set domain, renew cert, cleanup DNS A record, refresh
ACCOUNT INFO. - Xray/SSH users: create, extend expiry, reset credential/password, delete.
- QAC: quota, speed, block/unblock, IP/login limit.
- WARP dan SSH Network: mode global, per-user, apply runtime.
- Backup/Restore: create backup, list backup, restore, validasi rollback saat gagal.
- Telegram bot: menu render, callback aman, ACL admin, upload restore bila diubah.
Wajib untuk perubahan installer, domain, network, atau runtime service.
Target minimum:
- Ubuntu 20.04 atau 22.04
- Debian 11 atau 12
Checklist:
- Install dari nol.
- Reboot host.
- Pastikan
xray,nginx,edge-mux,sshws, dan service bot aktif sesuai fitur yang dipasang. - Uji koneksi nyata untuk
VLESS/VMess/TrojandanSSH WS. - Jalankan installer lagi untuk cek idempotency.
Jangan hanya menguji happy path. Coba juga:
- domain tidak resolve
- issue cert gagal
- port bentrok
- env bot tidak lengkap
- backup/restore gagal
- service mati lalu dipulihkan lewat menu maintenance
- Untuk perubahan user-facing, verifikasi jalur repo lokal dan copy runtime terpasang.
- Jangan hilangkan flow cleanup DNS A record saat IP VPS sama; itu perlu ikut diuji bila menyentuh domain flow.
- Jangan tambahkan verifikasi SHA256 ke flow test kecuali maintainer meminta secara eksplisit.