Testing: updates and plugins
기준일: 2026-07-26
공식 기준: Testing: updates and plugins
Testing: updates and plugins 문서는 OpenClaw 공식 문서(help/testing-updates-plugins)를 한국어로 정리한 가이드입니다. How OpenClaw validates update paths, package migrations, and plugin install/update behavior 명령·설정 키·코드 예시는 공식 문서를 그대로 보존하며, 해석과 절차 안내는 한국어로 제공합니다. 최종 동작은 설치된 CLI 버전과 공식 원문을 확인하세요.
핵심 요약
How OpenClaw validates update paths, package migrations, and plugin install/update behavior
한국어 가이드 범위: help/testing-updates-plugins 경로의 설정·명령·제약·예시를 학습용으로 재구성합니다.
문서 구성
공식 문서의 주요 섹션은 다음과 같습니다.
- What we protect
- Local proof during development
- Docker lanes
- Package Acceptance
- Release default
- Legacy compatibility
- Adding coverage
- Failure triage
상세 내용
본문
Checklist for update and plugin validation: prove the installable package can update real user state, repair stale legacy state through doctor, and still install, load, update, and uninstall plugins from every supported source.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
What we protect
and does not depend on unpacked repo files.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- A package tarball is complete, has a valid
dist/postinstall-inventory.json, - A user can move from an older published package to the candidate package
openclaw doctor --fix --non-interactiveowns legacy cleanup and repair- Plugin installs work from local directories, git repos, npm packages, and the
- Plugin npm dependencies install in one managed npm project per plugin,
- Plugin update is a no-op when nothing changed: install records, resolved
Local proof during development
For plugin install, uninstall, dependency, or package-inventory changes, also run the focused tests that cover the edited seam:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
pnpm changed:lanes --json
pnpm check:changed
pnpm test:changed
pnpm test src/plugins/uninstall.test.ts src/infra/package-dist-inventory.test.ts test/scripts/package-acceptance-workflow.test.ts
pnpm release:check
Docker lanes
The Docker lanes are the product-level proof. They install or update a real package inside Linux containers and assert behavior through CLI commands, Gateway startup, HTTP probes, RPC status, and filesystem state.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
test:docker:pluginscovers plugin install smoke, local folder installs,test:docker:plugin-lifecycle-matrixinstalls the candidate package in a baretest:docker:plugin-updatevalidates that an unchanged installed plugin doestest:docker:upgrade-survivorinstalls the candidate tarball over a dirtytest:docker:published-upgrade-survivorfirst installs a published baseline,test:docker:update-restart-authinstalls the candidate package, starts atest:docker:update-migrationis the cleanup-heavy published-update lane. It
pnpm test:docker:plugins
pnpm test:docker:plugin-lifecycle-matrix
pnpm test:docker:plugin-update
pnpm test:docker:upgrade-survivor
pnpm test:docker:published-upgrade-survivor
pnpm test:docker:update-restart-auth
pnpm test:docker:update-migration
OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@2026.4.23 \
OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=versioned-runtime-deps \
pnpm test:docker:published-upgrade-survivor
OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@latest \
OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=bootstrap-persona \
pnpm test:docker:published-upgrade-survivor
gh workflow run update-migration.yml \
--ref main \
-f workflow_ref=main \
-f package_ref=main \
-f baselines=all-since-2026.4.23 \
-f scenarios=plugin-deps-cleanup
Package Acceptance
Package Acceptance is the GitHub-native package gate. It resolves one candidate package into a package-under-test tarball, records version and SHA-256, then runs reusable Docker E2E lanes against that exact tarball. The workflow harness ref is separate from the package source ref, so current test logic can validate older trusted releases.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
source=npm: validateopenclaw@extended-stable,openclaw@beta,source=ref: pack a trusted branch, tag, or commit with the selected currentsource=url: validate a public HTTPS tarball with requiredpackage_sha256.source=trusted-url: validate an HTTPS tarball with requiredsource=artifact: reuse a tarball uploaded by another Actions run.
doctor-switch update-channel-switch skill-install update-corrupt-plugin upgrade-survivor published-upgrade-survivor root-managed-vps-upgrade update-restart-auth plugins-offline plugin-update plugin-binding-command-escape
published_upgrade_survivor_baselines=last-stable-4 2026.4.23 2026.5.2 2026.4.15
published_upgrade_survivor_scenarios=reported-issues
telegram_mode=mock-openai
gh workflow run package-acceptance.yml \
--ref main \
-f workflow_ref=main \
-f source=npm \
-f package_spec=openclaw@beta \
-f suite_profile=package \
-f published_upgrade_survivor_baselines="last-stable-4 2026.4.23 2026.5.2 2026.4.15" \
-f published_upgrade_survivor_scenarios=reported-issues \
-f telegram_mode=mock-openai
Release default
For release candidates, the default proof stack is:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
Legacy compatibility
Compatibility leniency is narrow and time boxed:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- Packages through
2026.4.25, including2026.4.25-beta.*, may tolerate - The published
2026.4.26package may warn for local build metadata stamp - Later packages must satisfy modern contracts. The same gaps fail instead of
Adding coverage
When changing update or plugin behavior, add coverage at the lowest layer that can fail for the right reason:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- Pure path or metadata logic: unit test beside the source.
- Package inventory or packed-file behavior:
package-dist-inventoryor tarball - CLI install/update behavior: Docker lane assertion or fixture.
- Published-release migration behavior:
published-upgrade-survivorscenario. - Update-owned restart behavior:
update-restart-auth. - Registry/package source behavior:
test:docker:pluginsfixture or ClawHub - Dependency layout or cleanup behavior: assert both runtime execution and the
Failure triage
failures.json, lane logs, and rerun commands.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- Package Acceptance
resolve_packagesummary: source, version, SHA-256, and - Docker artifacts:
.artifacts/docker-tests/**/summary.json, - Upgrade survivor summary:
.artifacts/upgrade-survivor/summary.json,
실습 체크리스트
- 공식 문서와 로컬 버전을 대조합니다:
https://docs.openclaw.ai/help/testing-updates-plugins - 관련 CLI는
openclaw --help및 하위 명령--help로 옵션을 확인합니다. - 설정 변경 시
openclaw config/openclaw doctor로 유효성을 검사합니다. - Gateway·채널·플러그인 변경 후에는 필요 시 Gateway를 재시작합니다.
자주 쓰는 명령·설정 예시
pnpm changed:lanes --json
pnpm check:changed
pnpm test:changed
pnpm test src/plugins/uninstall.test.ts src/infra/package-dist-inventory.test.ts test/scripts/package-acceptance-workflow.test.ts
pnpm release:check
pnpm test:docker:plugins
pnpm test:docker:plugin-lifecycle-matrix
pnpm test:docker:plugin-update
pnpm test:docker:upgrade-survivor
pnpm test:docker:published-upgrade-survivor
pnpm test:docker:update-restart-auth
pnpm test:docker:update-migration
OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@2026.4.23 \
OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=versioned-runtime-deps \
pnpm test:docker:published-upgrade-survivor
OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@latest \
OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=bootstrap-persona \
pnpm test:docker:published-upgrade-survivor
gh workflow run update-migration.yml \
--ref main \
-f workflow_ref=main \
-f package_ref=main \
-f baselines=all-since-2026.4.23 \
-f scenarios=plugin-deps-cleanup
관련 링크
이 가이드는 공식 문서를 한국어 학습용으로 재구성한 것입니다. 옵션 기본값·플래그 이름은 설치 버전에 따라 달라질 수 있습니다.