Full Release Validation — комплексная проверка продукта перед выпуском. Большая часть работы
выполняется в дочерних рабочих процессах, поэтому сбойную среду можно перезапустить без повторного запуска
всего выпуска.
Зафиксируйте полностью готовый продуктовый коммит перед изменением журнала как Code SHA, затем выполните:
provider также принимает anthropic или minimax для кроссплатформенного первоначального
настроечного запуска и сквозного цикла агента. Вспомогательная команда определяет профиль beta по альфа- или бета-
версиям пакетов, а в остальных случаях — stable. Передавайте альтернативные входные параметры рабочего процесса через
-f key=value; используйте -f release_profile=full только для широкой проверки рекомендаций.
Вспомогательная команда создаёт временную ссылку release-ci/*, закреплённую за одним доверенным
SHA рабочего процесса origin/main, передаёт целевой SHA только как кандидат ref
и удаляет временную ссылку после проверки. Каждый запущенный дочерний процесс должен
сообщить тот же SHA рабочего процесса. Передайте
-f reuse_evidence=false, чтобы принудительно запустить проверку заново, или
--workflow-sha <trusted-main-sha>, чтобы выбрать более старый коммит рабочего процесса, всё ещё
доступный из текущего origin/main. Сам рабочий процесс никогда не создаёт и не обновляет
ссылки репозитория.
Когда Code SHA успешно пройдёт проверки, создайте и зафиксируйте коммитом только CHANGELOG.md. Этот новый
коммит станет Release SHA. Запустите ту же вспомогательную команду для Release SHA. Продуктовые
свидетельства повторно используются только тогда, когда GitHub подтверждает, что Release SHA является потомком
Code SHA, а полный набор изменённых путей в точности равен CHANGELOG.md; предварительная проверка npm
и приёмочные проверки пакета и установки всё равно выполняются для Release SHA.
release_profile=stable и release_profile=full всегда запускают исчерпывающую
длительную проверку в реальной среде и Docker. Передайте run_release_soak=true, чтобы включить те же этапы длительной проверки
с профилем beta. Стабильная публикация отклоняет манифест проверки,
в котором отсутствуют эта длительная проверка и блокирующие свидетельства производительности продукта.
Package Acceptance обычно собирает кандидатный tarball из разрешённого
ref, включая запуски для полного SHA, инициированные с pnpm ci:full-release. После
публикации бета-версии передайте release_package_spec=openclaw@YYYY.M.PATCH-beta.N, чтобы повторно использовать
опубликованный пакет npm в проверках выпуска, Package Acceptance, кроссплатформенных
проверках, Docker-проверках пути выпуска и пакетной проверке Telegram. Используйте package_acceptance_package_spec
только тогда, когда Package Acceptance должна намеренно проверить другой пакет.
Этап проверки пакета плагина Codex в реальной среде следует той же модели: опубликованные
значения release_package_spec определяют codex_plugin_spec=npm:@openclaw/codex@<version>;
запуски по SHA или артефакту упаковывают extensions/codex из выбранной ссылки; операторы
могут напрямую задать codex_plugin_spec для источников плагина npm:, npm-pack: или git:.
Этап предоставляет явное разрешение на установку Codex CLI, необходимое
этому плагину, затем выполняет предварительную проверку Codex CLI и циклы агента OpenAI в том же сеансе.
Этапы верхнего уровня
Дляrerun_group=all сначала выполняется задание
Check for reusable validation evidence. Оно ищет последнюю предыдущую успешно завершённую полную проверку с тем же профилем
выпуска, фактической настройкой длительной проверки и входными параметрами проверки. Повторные запуски для той же цели используют
exact-target-full-validation-v1. Для потомка, полный набор изменений которого в точности равен
CHANGELOG.md, используется changelog-only-release-v1; все продуктовые этапы пропускаются,
а средство проверки независимо повторно проверяет сравнение коммитов GitHub, неизменяемый
родительский артефакт, дочерние запуски и журналы запуска. Любое другое изменение цели требует
новой проверки Code SHA. Передайте reuse_evidence=false, чтобы принудительно выполнить новую полную
проверку. Повторное использование свидетельств выполняется только из main или канонической ссылки
release-ci/*, закреплённой за SHA, чей коммит рабочего процесса остаётся в доверенной линии 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-файла, сверяют его байты с контрольной суммой
sha256: из REST и потоково считывают единственную разрешённую ограниченную запись манифеста,
не извлекая архив. Псевдоним со стабильным именем временно сохраняется для прежних
потребителей публикации. Средство проверки всегда предпочитает артефакт с указанием попытки;
на переходный период оно принимает стабильное имя только для манифеста v2, созданного с первой попытки.
Для последующих попыток и манифеста v3 это устаревшее имя отклоняется.
Для 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, предварительную проверку выпуска плагина, дымовой тест установки, приёмку
пакета или 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, если произошёл сбой одного набора тестов с реальными сервисами.
Допустимые идентификаторы фильтров определены в переиспользуемом рабочем процессе тестов с реальными сервисами/сквозных тестов, включая
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 как индекс уровня выпуска. Она содержит ссылки на
идентификаторы дочерних запусков и таблицы самых медленных заданий. При сбоях сначала изучите дочерний
рабочий процесс, затем повторно запустите наименьший подходящий дескриптор из перечисленных выше.
Зафиксируйте Code SHA и Release SHA, политику повторного использования и набор изменённых путей,
родительский запуск с успешным Code SHA и облегчённый родительский запуск с Release SHA.
Полезные артефакты:
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