Skip to main content
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

Untuk rerun_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 ketika live_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 oleh stable 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

Gunakan rerun_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 ringkasan Full 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-test dari OpenClaw Release Checks
  • Artefak jalur-rilis Docker di bawah .artifacts/docker-tests/
  • Penerimaan Paket package-under-test dan 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