Full Release Validation adalah payung validasi produk rilis. Sebagian besar pekerjaan
berlangsung dalam alur kerja turunan sehingga box yang gagal dapat dijalankan ulang tanpa memulai ulang
seluruh rilis. Jalankan persiapan rilis sebelum membekukan Code SHA; langkah ini
memperbarui keluaran locale Control UI ketika bot latar belakang belum menerapkannya,
lalu memberlakukan pemeriksaan ketat tanpa fallback yang sama seperti yang digunakan oleh CI rilis.
Bekukan commit lengkap-produk sebelum changelog sebagai Code SHA, lalu jalankan:
provider juga menerima anthropic atau minimax untuk onboarding lintas OS dan
giliran agen menyeluruh. Pembantu menyimpulkan profil beta dari versi paket
alpha/beta dan stable untuk kasus lainnya. Teruskan input alur kerja alternatif dengan
-f key=value; gunakan -f release_profile=full hanya untuk penyisiran advisori yang luas.
Pembantu membuat ref release-ci/* sementara yang disematkan ke satu SHA alur kerja
origin/main tepercaya, meneruskan SHA target hanya sebagai kandidat ref,
dan menghapus ref sementara setelah validasi. Setiap alur kerja turunan yang dipicu harus
melaporkan SHA alur kerja yang sama. Teruskan
-f reuse_evidence=false untuk memaksa proses baru atau
--workflow-sha <trusted-main-sha> untuk memilih commit alur kerja lama yang masih
dapat dijangkau dari origin/main saat ini. Alur kerja tidak pernah membuat atau memperbarui
ref repositori itu sendiri.
Ketika Code SHA berstatus hijau, buat dan commit hanya CHANGELOG.md. Commit baru ini
adalah Release SHA. Jalankan pembantu yang sama untuk Release SHA. Bukti produk
digunakan kembali hanya ketika GitHub membuktikan bahwa Release SHA merupakan turunan dari
Code SHA dan kumpulan lengkap jalur yang berubah tepat CHANGELOG.md; prapemeriksaan npm
serta penerimaan paket/instalasi tetap berjalan pada Release SHA.
release_profile=stable dan release_profile=full selalu menjalankan soak
live/Docker yang menyeluruh. Teruskan run_release_soak=true untuk menyertakan lane soak yang sama
dengan profil beta. Publikasi stabil menolak manifes validasi
tanpa soak ini dan bukti performa produk yang bersifat memblokir.
Package Acceptance biasanya membangun tarball kandidat dari
ref yang telah diuraikan, termasuk proses SHA lengkap yang dipicu dengan pnpm ci:full-release. Setelah
publikasi beta, teruskan release_package_spec=openclaw@YYYY.M.PATCH-beta.N untuk menggunakan kembali
paket npm yang telah dirilis pada pemeriksaan rilis, Package Acceptance, lintas OS,
Docker jalur-rilis, dan Telegram paket. Gunakan package_acceptance_package_spec
hanya ketika Package Acceptance memang dimaksudkan untuk membuktikan paket yang berbeda.
Lane paket live Plugin Codex mengikuti keadaan yang sama: nilai
release_package_spec yang telah dipublikasikan menghasilkan codex_plugin_spec=npm:@openclaw/codex@<version>;
proses SHA/artefak mengemas extensions/codex dari ref yang dipilih; dan operator
dapat menetapkan codex_plugin_spec secara langsung untuk sumber Plugin npm:, npm-pack:, atau git:.
Lane tersebut memberikan persetujuan instalasi Codex CLI eksplisit yang diwajibkan oleh
Plugin itu, lalu menjalankan prapemeriksaan Codex CLI dan giliran agen OpenAI dalam sesi yang sama.
Giliran terakhirnya yang tanpa percobaan ulang dan dengan pemikiran sedang mengirimkan progres yang terlihat dengan
Codex final yang dihilangkan, membaca input ruang kerja yang diacak, menulis artefaknya
secara persis, dan mengirimkan penyelesaian eksplisit. Hal ini mendeteksi regresi v2026.7.1 ketika
pengiriman progres biasa menghentikan giliran.
Tahap tingkat atas
Untukrerun_group=all, job Check for reusable validation evidence berjalan
terlebih dahulu. Job ini mencari validasi penuh berstatus hijau sebelumnya yang paling baru dengan profil rilis,
pengaturan soak efektif, dan input validasi yang sama. Proses ulang target persis menggunakan
exact-target-full-validation-v1. Turunan yang delta lengkapnya tepat
CHANGELOG.md menggunakan changelog-only-release-v1; setiap lane produk dilewati
dan pemverifikasi secara independen memeriksa ulang perbandingan commit GitHub, artefak induk
yang tidak dapat diubah, proses turunan, dan log pemicuan. Perubahan target lainnya mengharuskan
validasi Code SHA baru. Teruskan reuse_evidence=false untuk memaksa proses penuh
yang baru. Penggunaan kembali bukti hanya berjalan dari main atau ref
release-ci/* kanonis yang disematkan ke SHA dan commit alur kerjanya tetap berada pada garis keturunan
main tepercaya; ref alur kerja lainnya menjalankan lane yang dipilih dari awal.
Validasi baru yang berhadapan dengan paket menyiapkan satu tarball yang tidak dapat diubah beserta satu artefak
image Docker sebelum memicu Plugin Prerelease dan OpenClaw Release Checks.
Kedua alur kerja turunan memverifikasi SHA paket, ID artefak, digest layanan,
percobaan proses produsen, dan digest arsip Docker yang sama sebelum digunakan. Lapisan bare Docker
yang tidak bergantung pada paket menggunakan cache GHCR berbasis alamat konten; image khusus kandidat
tetap menjadi artefak GitHub yang tidak dapat diubah. Proses terfokus dengan spesifikasi paket
terpublikasi yang eksplisit tetap mempertahankan jalur paket yang ada.
Selain itu, untuk rerun_group=all, job Verify Docker runtime image assets membangun
target Docker runtime-assets dengan
OPENCLAW_EXTENSIONS=diagnostics-otel,codex. Job ini berjalan paralel dengan
tahap lainnya dan diberlakukan oleh pemverifikasi payung; lane tidak lagi menunggunya
sebelum dipicu. rerun_group yang lebih sempit melewati prapemeriksaan ini.
Payung selalu memicu performa produk dalam mode khusus artefak.
OpenClaw Performance mengizinkan publikasi laporan hanya untuk proses terjadwal atau
pemicuan manual yang secara eksplisit menetapkan publish_reports=true. Pengaman khusus artefak
harus selesai dengan sukses, yang membuktikan bahwa job penerbit tetap dilewati.
Bukti baru dan yang digunakan kembali mencatat
controls.performanceReportPublication=artifact-only; pemverifikasi dan pemilih penggunaan kembali
menolak bukti tanpa pembuktian turunan performa ternormalisasi yang sesuai.
Pemverifikasi mengunggah manifes kanonis sebagai
full-release-validation-<run-id>-<run-attempt>. Peralatan bukti memvalidasi
ID artefak, digest, proses produsen, dan percobaannya sebelum mengunduh ID artefak tersebut secara persis.
Peralatan ini membatasi ZIP yang diunduh, memverifikasi byte-nya terhadap digest REST
sha256:, dan mengalirkan satu-satunya entri manifes berbatas yang diizinkan tanpa
mengekstrak arsip. Alias nama stabil tetap tersedia sementara untuk konsumen publikasi
lama. Pemverifikasi selalu mengutamakan artefak yang dikualifikasi berdasarkan percobaan;
sebagai transisi, artefak ini menerima nama stabil hanya untuk produsen manifes v2 percobaan-1.
Artefak ini menolak nama lama tersebut untuk percobaan berikutnya dan manifes v3.
Untuk ref=main dengan rerun_group=all, untuk ref release/*, dan untuk ref alfa Tideclaw, proses payung yang lebih baru menggantikan proses yang lebih lama dengan ref dan grup pengulangan yang sama. Saat induk dibatalkan, pemantaunya membatalkan setiap alur kerja anak yang telah dimulainya. Proses validasi tag dan SHA tersemat tidak saling membatalkan.
Tahapan pemeriksaan rilis
OpenClaw Release Checks adalah alur kerja anak terbesar. Alur kerja ini menetapkan target satu kali dan memvalidasi artefak paket bersama milik proses payung jika tersedia. Pemanggilan langsung atau terfokus menyiapkan artefak release-package-under-test sendiri ketika tahapan yang berkaitan dengan paket atau Docker memerlukannya.
Potongan jalur rilis Docker
Tahap jalur rilis Docker menjalankan potongan berikut ketikalive_suite_filter kosong:
Gunakan
docker_lanes=<lane[,lane]> yang ditargetkan pada alur kerja langsung/E2E yang dapat digunakan kembali ketika
hanya satu jalur Docker yang gagal. Artefak rilis menyertakan perintah pengulangan
per jalur dengan input penggunaan kembali artefak paket dan image jika tersedia.
Profil rilis
release_profile terutama mengontrol keluasan langsung/penyedia dalam pemeriksaan rilis.
Ini tidak menghapus CI penuh normal, Prarilis Plugin, smoke pemasangan, penerimaan
paket, atau QA Lab. Profil stabil dan penuh selalu menjalankan cakupan menyeluruh E2E
repo/langsung dan soak jalur-rilis Docker. Profil beta dapat mengaktifkannya dengan
run_release_soak=true. Penerimaan Paket menyediakan E2E Telegram paket kanonis
untuk setiap kandidat penuh, sehingga alur payung tidak menduplikasi poller langsung tersebut.
Tambahan khusus penuh
Suite ini dilewati olehstable dan disertakan oleh full:
stable mencakup native-live-src-gateway-profiles-anthropic-smoke dan
native-live-src-gateway-profiles-opencode-go-smoke; full menggunakan shard model
Anthropic dan OpenCode Go yang lebih luas. Pengulangan terfokus tetap dapat menggunakan
handle agregat native-live-src-gateway-profiles-anthropic atau
native-live-src-gateway-profiles-opencode-go.
Pengulangan terfokus
Gunakanrerun_group untuk menghindari pengulangan kotak rilis yang tidak terkait:
Gunakan
live_suite_filter dengan rerun_group=live-e2e ketika satu suite langsung gagal.
ID filter yang valid ditentukan dalam alur kerja langsung/E2E yang dapat digunakan kembali, termasuk
docker-live-models, live-gateway-docker,
live-gateway-anthropic-docker, live-gateway-google-docker,
live-gateway-minimax-docker, live-gateway-advisory-docker,
live-cli-backend-docker, live-acp-bind-docker, dan
live-codex-harness-docker.
Untuk pengulangan transportasi QA terfokus, tetapkan rerun_group=qa-live dan gunakan
pemilih kanonis qa-live-matrix, qa-live-telegram, qa-live-discord,
qa-live-whatsapp, atau qa-live-slack.
Handle live-gateway-advisory-docker adalah handle pengulangan agregat untuk
tiga shard penyedianya, sehingga tetap menyebar ke semua tugas gateway Docker advisori.
Gunakan cross_os_suite_filter dengan rerun_group=cross-os ketika satu jalur lintas-OS
gagal. Filter menerima ID OS, ID suite, atau pasangan OS/suite, misalnya
windows/packaged-upgrade, windows, atau packaged-fresh. Ringkasan lintas-OS
menyertakan pengaturan waktu per fase untuk jalur peningkatan versi terpaket, dan perintah
yang berjalan lama mencetak baris Heartbeat agar pembaruan yang macet terlihat sebelum batas
waktu tugas.
Kegagalan pemeriksaan rilis QA memblokir validasi rilis normal hanya untuk jalur
cakupan alat runtime Matrix, Telegram, dan QA yang dipilih. Paritas QA, paritas
runtime, dan jalur langsung Discord, WhatsApp, serta Slack yang diberi gerbang bersifat advisori dan
mempublikasikan artefak status tanpa memblokir pemverifikasi rilis. Proses alfa Tideclaw
masih dapat memperlakukan jalur pemeriksaan rilis yang bukan untuk keamanan paket sebagai advisori. Dengan
release_profile=beta, suite penyedia-langsung Run repo/live E2E validation
bersifat advisori: deployment model pihak ketiga berubah saat rilis berlangsung, sehingga
beta menampilkan kegagalannya sebagai peringatan, sementara profil stabil dan penuh tetap
menjadikannya pemblokir. Ketika
live_suite_filter secara eksplisit meminta jalur langsung QA yang diberi gerbang seperti Discord,
WhatsApp, atau Slack, variabel repo OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED yang sesuai
harus diaktifkan; jika tidak, pengambilan input gagal alih-alih melewati jalur secara diam-diam.
Jalankan ulang rerun_group=qa, qa-parity, atau qa-live saat Anda
memerlukan bukti QA baru.
Bukti yang perlu disimpan
Simpan ringkasanFull Release Validation sebagai indeks tingkat rilis. Ringkasan tersebut menautkan
ID proses turunan dan menyertakan tabel tugas paling lambat. Untuk kegagalan, periksa alur kerja
turunan terlebih dahulu, lalu jalankan ulang handle terkecil yang sesuai di atas.
Catat Code SHA dan Release SHA, kebijakan penggunaan kembali dan kumpulan jalur yang berubah,
proses induk Code SHA hijau, serta proses induk Release SHA ringan.
Artefak yang berguna:
release-package-under-testdariOpenClaw Release Checks- Artefak jalur-rilis Docker di bawah
.artifacts/docker-tests/ - Penerimaan Paket
package-under-testdan artefak penerimaan Docker - Artefak pemeriksaan rilis lintas-OS untuk setiap OS dan suite
- Artefak paritas QA, paritas runtime, serta Matrix, Telegram, Discord, WhatsApp, atau Slack yang dipilih
File alur kerja
.github/workflows/full-release-validation.yml.github/workflows/openclaw-release-checks.yml.github/workflows/openclaw-live-and-e2e-checks-reusable.yml.github/workflows/plugin-prerelease.yml.github/workflows/install-smoke.yml.github/workflows/install-smoke-reusable.yml.github/workflows/openclaw-cross-os-release-checks-reusable.yml.github/workflows/package-acceptance.yml.github/workflows/openclaw-performance.yml.github/workflows/npm-telegram-beta-e2e.yml