Skip to main content
Full Release Validation — це парасольковий процес релізу: єдина ручна точка входу для перевірки перед релізом. Основна робота виконується в дочірніх робочих процесах, щоб невдале середовище можна було перезапустити без повторного запуску всього релізу. Запускайте його з довіреного посилання на робочий процес, зазвичай main, і передавайте гілку релізу, тег або повний SHA коміту як ref:
provider також приймає anthropic або minimax для онбордингу в різних ОС і наскрізного кроку агента. Повторно використовувані дочірні завдання визначають середовище викликаного робочого процесу з job.workflow_repository і job.workflow_sha, тоді як вхідний параметр ref вибирає тестований кандидат. Це дає змогу використовувати поточну довірену логіку перевірки під час перевірки старішої гілки релізу або тегу. Кожен запущений дочірній процес має повідомляти той самий SHA робочого процесу, що й батьківський запуск Full Release Validation. Якщо main зміниться між запуском батьківського й дочірніх процесів, парасольковий процес безпечно завершується помилкою, навіть якщо сам дочірній процес успішний. Для незмінної перевірки конкретного коміту використовуйте pnpm ci:full-release --sha <target-sha>. Допоміжний засіб створює тимчасове посилання release-ci/*, закріплене за поточним довіреним origin/main, передає цільовий SHA лише як кандидат ref, повторно використовує суворі докази для точної цілі, якщо вони доступні, і видаляє посилання після перевірки. Передайте -f reuse_evidence=false, щоб примусово виконати новий запуск, або --workflow-sha <trusted-main-sha>, щоб вибрати старіший коміт робочого процесу, який усе ще доступний із поточного origin/main. Сам робочий процес ніколи не створює й не оновлює посилання репозиторію. release_profile=stable і release_profile=full завжди запускають вичерпне тривале тестування в реальному середовищі та Docker. Передайте run_release_soak=true, щоб включити ті самі смуги тривалого тестування для профілю beta. Стабільна публікація відхиляє маніфест перевірки без цього тривалого тестування та блокувальних доказів продуктивності продукту. Перевірка пакета зазвичай збирає архів кандидата з визначеного ref, зокрема для запусків за повним SHA, ініційованих через pnpm ci:full-release. Після публікації бета-версії передайте release_package_spec=openclaw@YYYY.M.PATCH-beta.N, щоб повторно використати опублікований пакет npm у перевірках релізу, перевірці пакета, перевірках у різних ОС, Docker-перевірках шляху релізу та пакетній перевірці Telegram. Використовуйте package_acceptance_package_spec лише тоді, коли перевірка пакета має навмисно перевіряти інший пакет. Смуга перевірки опублікованого пакета Plugin Codex дотримується того самого стану: для опублікованих значень release_package_spec визначається codex_plugin_spec=npm:@openclaw/codex@<version>; запуски за SHA або артефактом пакують extensions/codex із вибраного посилання; оператори також можуть безпосередньо задавати codex_plugin_spec для джерел Plugin типу npm:, npm-pack: або git:. Смуга надає явне схвалення встановлення Codex CLI, потрібне цьому Plugin, після чого виконує попередню перевірку Codex CLI та кроки агента OpenAI у тому самому сеансі.

Етапи верхнього рівня

Для rerun_group=all спочатку виконується завдання Check for reusable validation evidence: воно шукає найновішу попередню успішну повну перевірку для точно того самого цільового SHA, профілю релізу, фактичного налаштування тривалого тестування та вхідних параметрів перевірки. Якщо такі докази існують, усі смуги пропускаються, а парасольковий засіб перевірки повторно перевіряє незмінний батьківський артефакт, дочірні запуски та журнали запуску. Це лише відновлення повторного запуску того самого кандидата; воно не дозволяє повторно використовувати докази для іншого SHA. Для зміненого кандидата повторно запустіть кожну перевірку пакета, артефакту, встановлення, Docker або провайдера, якої стосуються ці зміни. Передайте reuse_evidence=false, щоб примусово виконати новий повний запуск. Повторне використання доказів виконується лише з main або канонічного закріпленого за SHA посилання release-ci/*, коміт робочого процесу якого залишається в довіреній історії main; інші посилання робочого процесу запускають вибрані смуги заново. Також для rerun_group=all завдання Verify Docker runtime image assets збирає ціль Docker runtime-assets із OPENCLAW_EXTENSIONS=diagnostics-otel,codex. Воно виконується паралельно з іншими етапами та контролюється парасольковим засобом перевірки; смуги більше не очікують на нього перед запуском. Вужче значення rerun_group пропускає цю попередню перевірку. Парасольковий процес завжди запускає перевірку продуктивності продукту в режимі лише артефактів. OpenClaw Performance дозволяє публікацію звітів лише для запланованих запусків або ручного запуску, який явно задає publish_reports=true. Запобіжник режиму лише артефактів має успішно завершитися, підтвердивши, що завдання публікатора залишилося пропущеним. Нові та повторно використані докази записують controls.performanceReportPublication=artifact-only; засіб перевірки та селектор повторного використання відхиляють докази без відповідного нормалізованого підтвердження від дочірнього процесу перевірки продуктивності. Засіб перевірки завантажує канонічний маніфест як full-release-validation-<run-id>-<run-attempt>. Інструменти роботи з доказами перевіряють ідентифікатор артефакту, дайджест, запуск-виробник і спробу перед завантаженням саме цього ідентифікатора артефакту. Вони обмежують розмір завантажуваного ZIP, звіряють його байти з дайджестом REST sha256: і потоково читають єдиний дозволений запис маніфесту обмеженого розміру без розпакування архіву. Псевдонім зі стабільною назвою тимчасово залишається для старіших споживачів публікації. Засіб перевірки завжди надає перевагу артефакту з назвою, що містить номер спроби; як перехідний захід він приймає стабільну назву лише для маніфесту версії 2, створеного під час першої спроби. Він відхиляє цю застарілу назву для наступних спроб і маніфесту версії 3. Для ref=main із rerun_group=all, для посилань release/* і для альфа-посилань Tideclaw новіший запуск парасолькового процесу замінює старіший із тим самим посиланням і групою повторного запуску. Коли батьківський процес скасовано, його монітор скасовує всі вже запущені ним дочірні робочі процеси. Запуски перевірки тегів і закріплених SHA не скасовують один одного.

Етапи перевірок релізу

OpenClaw Release Checks — найбільший дочірній робочий процес. Він один раз визначає ціль і готує спільний артефакт release-package-under-test, коли він потрібен етапам роботи з пакетом або Docker.

Частини Docker-перевірок шляху випуску

Етап Docker-перевірок шляху випуску запускає наведені нижче частини, коли live_suite_filter порожній: Використовуйте цільове docker_lanes=<lane[,lane]> у повторно використовуваному робочому процесі оперативних/E2E-перевірок, коли збій стався лише в одному сценарії Docker. Артефакти випуску містять окремі для кожного сценарію команди повторного запуску з параметрами повторного використання артефакту пакета й образу, якщо вони доступні.

Профілі випуску

release_profile переважно керує широтою перевірок реального середовища та провайдерів у межах перевірок релізу. Він не вилучає звичайний повний CI, попередню перевірку релізу Plugin, димову перевірку встановлення, приймальне тестування пакета чи QA Lab. Стабільний і повний профілі завжди виконують вичерпне покриття E2E для репозиторію й реального середовища та тривалі перевірки шляху релізу в Docker. Бета-профіль може ввімкнути їх за допомогою run_release_soak=true. Приймальне тестування пакета забезпечує канонічний E2E Telegram для пакета для кожного повного кандидата, тому загальний процес не дублює цей модуль опитування реального середовища.

Доповнення лише для повного профілю

Ці набори пропускаються профілем stable і включаються профілем full: stable включає native-live-src-gateway-profiles-anthropic-smoke і native-live-src-gateway-profiles-opencode-go-smoke; full натомість використовує ширші шарди моделей Anthropic і OpenCode Go. Для цільових повторних запусків усе ще можна використовувати агреговані ідентифікатори native-live-src-gateway-profiles-anthropic або native-live-src-gateway-profiles-opencode-go.

Цільові повторні запуски

Використовуйте rerun_group, щоб не повторювати непов’язані середовища релізу: Використовуйте live_suite_filter з rerun_group=live-e2e, коли стався збій одного набору перевірок реального середовища. Допустимі ідентифікатори фільтрів визначено в багаторазовому робочому процесі реального середовища/E2E, зокрема 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 і live-codex-harness-docker. Ідентифікатор live-gateway-advisory-docker є агрегованим ідентифікатором повторного запуску для трьох шард провайдерів, тому він усе одно розгортає всі рекомендаційні завдання gateway Docker. Використовуйте cross_os_suite_filter з rerun_group=cross-os, коли стається збій однієї міжплатформної смуги. Фільтр приймає ідентифікатор ОС, ідентифікатор набору або пару ОС/набір, наприклад windows/packaged-upgrade, windows або packaged-fresh. Міжплатформні зведення містять тривалість кожної фази для смуг оновлення пакета, а довготривалі команди виводять рядки Heartbeat, щоб зависле оновлення було видно до завершення завдання через перевищення часу очікування. Збої перевірок релізу QA блокують звичайну валідацію релізу. Перевірка покриття інструментів середовища виконання QA (динамічне розходження інструментів між openclaw і codex у стандартному рівні) також блокує верифікатор перевірок релізу, хоча базова смуга узгодженості середовища виконання QA є рекомендаційною. Альфа-запуски Tideclaw усе ще можуть вважати рекомендаційними смуги перевірок релізу, що не стосуються безпеки пакета. З release_profile=beta набори провайдерів реального середовища Run repo/live E2E validation є рекомендаційними: розгортання моделей сторонніх постачальників змінюються незалежно від релізу, тому бета-профіль показує їхні збої як попередження, тоді як стабільний і повний профілі залишають їх блокувальними. Коли live_suite_filter явно запитує обмежену смугу QA реального середовища, наприклад Discord, WhatsApp або Slack, відповідну змінну репозиторію OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED має бути ввімкнено; інакше захоплення вхідних даних завершиться помилкою замість непомітного пропуску смуги. Повторно запустіть rerun_group=qa, qa-parity або qa-live, коли вам потрібні свіжі докази QA.

Докази, які слід зберігати

Зберігайте зведення Full Release Validation як індекс рівня релізу. Воно містить посилання на ідентифікатори дочірніх запусків і таблиці найповільніших завдань. У разі збоїв спочатку перевірте дочірній робочий процес, а потім повторно запустіть найменший відповідний ідентифікатор із наведених вище. Корисні артефакти:
  • release-package-under-test із OpenClaw Release Checks
  • Артефакти шляху релізу Docker у .artifacts/docker-tests/
  • package-under-test приймального тестування пакета й артефакти приймального тестування Docker
  • Артефакти міжплатформних перевірок релізу для кожної ОС і набору
  • Артефакти узгодженості QA, узгодженості середовища виконання, Matrix і Telegram

Файли робочих процесів

  • .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