Community코딩 & 개발github.com

openclaw-ci 릴리스

OpenClaw 전체 릴리스 CI를 실행, 모니터링, 디버깅 및 요약합니다. 또한 릴리스 검사, 라이브 제공자 게이트, 설치/업데이트 증명 및 릴리스 시크릿 사전 점검을 수행합니다.

openclaw-ci 릴리스란 무엇인가요?

이 스킬은 OpenClaw 릴리스 후보에 대한 전체 CI 유효성 검사, 라이브 제공자 게이트, 설치/업데이트 증명, 릴리스 시크릿 사전 점검 등을 실행, 모니터링, 디버깅 및 요약합니다. 릴리스 운영자는 이 스킬을 사용하여 후보의 코드 SHA를 고정하고, 전체 릴리스 검증(FRV) 워크플로우를 시작 및 모니터링하며, 릴리스 방화벽 예외를 평가하고, 릴리스 증거를 수집 및 기록할 수 있습니다. 이 스킬은 `$release-openclaw-maintainer` 및 `$openclaw-testing` 스킬과 함께 사용되며, 릴리스 파이프라인의 모든 단계에서 일관된 컨텍스트를 유지하기 위해 디스패치 간에 지속적인 tmux 세션을 사용합니다. 주요 기능으로는 전체 릴리스 검증 워크플로우 디스패치 및 모니터링, 라이브 제공자 게이트에 대한 자격 증명 진단, 릴리스 분기 또는 `main` 브랜치에 대한 변경 사항 평가, 릴리스 증거 문서화, 릴리스 방화벽 예외 및 설치/업데이트 증명 검토가 있습니다. 이 스킬은 릴리스 증거를 수집하여 timestamps, SHA, 실행 ID, provider 상태 등과 같은 세부 정보를 포함시켜 고품질의 릴리스 결정을 지원합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/release-openclaw-ci

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenClaw 릴리스 CI

$release-openclaw-maintainer 및 $openclaw-testing과 함께 사용하여 릴리스 후보가 전체 유효성 검사, 설치/업데이트 증명, 라이브 제공자 검사 또는 CI 복구가 필요할 때 사용합니다.

가드레일

  • 운영자의 명시적 승인 없이 버전 범프, 태그, npm 릴리스, GitHub 릴리스 또는 릴리스 프로모션을 수행하지 마십시오.
  • 압축, 재개 또는 새로운 지시 후에는 최신 명시적 운영자 지침에서 유효 목표와 현재 단계를 다시 작성하십시오. 이전 범위를 활성 릴리스에 병합하지 마십시오.
  • 릴리스 브랜치 또는 코드 SHA가 존재하면 릴리스 범위를 고정하십시오. 해당 릴리스를 검증하고 출하하십시오. 움직이는 main을 두 번째 작업 대기열로 전환하지 마십시오.
  • C (후보), Q (테스트 자격), P (승인/집계/검증기/게시자), 재실행 그룹, 프로필, 유효 소크, 컨텍스트/전송 참조를 기록하십시오. 새 후보 테스트 자격은 기본적으로 Q=C이며, 전체 워크플로우, 재사용 가능한 워크플로우, 로컬 액션, 스크립트, 플래너, 컨트랙트 및 커버리지 폐쇄를 포함합니다. 코드 SHA와 릴리스 SHA는 추가 워크플로우 ID가 아닌 라이프사이클 역할을 유지합니다.
  • 후보 헬퍼는 릴리스 태그가 없거나 정확한 후보 SHA로 확인되는 기존 경량 또는 주석 태그를 허용합니다. 충돌하는 태그 또는 실패한 원격 조회는 유효성 검사를 중단합니다. 태그를 이동하여 복구하지 마십시오.
  • C/Q를 고정하고 신뢰할 수 있는 P를 main 또는 보호된 게시 태그에서 독립적으로 선택하십시오. C/Q는 P의 조상일 필요가 없습니다. 후보 계약이 없는 경우 신중한 백포트가 필요합니다. 최신 main 도구를 자동으로 대체하지 마십시오.
  • 코드 SHA가 고정된 후 릴리스 방화벽을 적용하십시오. 확인된 제품 결함, 잘못되었거나 확인할 수 없는 패키지 바이트, 보안 결함 또는 게시를 불가능하게 만드는 실패만 허용하십시오. 기타 발견 사항은 게시 후 신뢰도 또는 다음 베타로 대기시킵니다. 의존성 권고는 절대 방화벽 허가 사항이 아닙니다: 이를 릴리스 증거로 기록하고 게시 후 main에서 범프를 대기시킵니다. 알려진 멀웨어만 게시를 중단합니다.
  • 고정된 CI 자식은 Q의 Node shard 플래너와 측정된 비용을 사용하며, 후보 체크아웃에서 테스트를 발견 및 실행합니다. 호스팅된 전체 릴리스 계획은 12분 이상의 측정된 행을 분할합니다. 파일 커버리지, 작업자 제한 및 완전한 타이밍 생성을 유지하십시오. 예산을 초과하는 분할 불가능한 소유자는 릴리스 예산을 늘리는 대신 분할해야 합니다. 자식이 완료되면 마무리는 해당 실행에 대해 scripts/ci-shard-timings-refresh.mts를 실행하고 생성된 비용을 커밋합니다. 측정치를 수동으로 편집하지 마십시오.
  • 후보 테스트는 자체 고정된 Q 폐쇄를 실행합니다. 승인된 P는 FRV의 집계 결정 및 체크인된 면제 정책을 소유합니다. Main 전용 검사 및 미래-main 시나리오는 암시적 릴리스 요구 사항이 아닙니다. 고정된 자격 하니스를 수정한다는 것은 새로운 C/Q와 새로 바인딩된 증거를 의미합니다. P 전용 승인/집계/검증기/게시자 수리는 C/Q와 원래 증거를 유지할 수 있습니다.
  • 보호된 경량 release-publish/<12sha>-<provenance-run> 태그는 Q가 아닌 P를 식별합니다. 접미사는 현재 부모가 아닌 태그 생성 출처를 기록합니다. 게시 헬퍼는 --workflow-sha <P> 인수를 유지합니다. FRV 헬퍼의 --workflow-sha는 대신 Q를 선택하며 후보 경로에서 C와 동일해야 합니다.
  • 운영자가 요청한 변경 또는 이 릴리스를 방해하고 릴리스 브랜치에서 처리할 수 없는 가장 작은 중요한 main 소유 차단자를 위해서만 main을 건드리십시오. Main의 CI 상태는 릴리스를 게이트하지 않습니다. 릴리스 도구 랜딩이 main 실패로 차단되었지만 그 원인이 아닌 경우, 깨끗한 main 체크아웃에서 실패가 이미 존재함을 증명하고, PR 본문에 기록한 후 병합하십시오. 활성 릴리스 중에는 해당 정확한 경우에 대해 관리자 병합이 허용됩니다. 별도 레인이 릴리스의 중요 경로 밖에서 병렬로 빨간 main을 수정합니다.
  • 툴링 전용 수정 사항은 푸시 전에 release-fast-lane 레이블을 추가하여 main에 랜딩합니다 (참조: 릴리스 도구 빠른 레인). 그러면 openclaw/ci-gate는 lint, types, guards, dependencies, docs 및 변경된 Node 행만 실행합니다. 네이티브 유지관리자 워크플로우를 통해 랜딩합니다. 해당 워크플로우는 advisory ClawSweeper 정책을 포함한 리뷰 및 랜딩 요구 사항을 소유합니다. 레이블은 CI 선택만 변경합니다.
  • OPENCLAW_RELEASE_RUNNER_GROUP은 선택적으로 유효성 검사 부모 및 작업자와 릴리스 게시 부모 및 해당 게시 자식을 변경되지 않은 레이블로 예약된 용량으로 라우팅합니다. 자격 증명이 있는 게시 및 승인 작업은 기본 GitHub 호스팅 레이블에 유지됩니다. 적격 러너와 리포지토리 액세스를 먼저 구성하십시오. 설정 해제하면 일반 라우팅이 유지됩니다. 공유 작업자는 호출자 그룹을 상속합니다. PR/main CI 및 관련 없는 예약된 작업은 그 외부에 유지됩니다.
  • 새로운 main 유효성 검사를 디스패치하기 전에 nightly 상위 항목에서 코드 SHA를 확인하십시오. 이는 입력이 일치할 때 정확한 대상 디스패치가 채택하는 자식별 영수증을 봉인합니다. Nightly는 이 명시적 신뢰된-main 헬퍼 경로 (--sha <main-sha> --workflow-sha <main-sha> --trusted-workflow-ref main)를 실행하므로 해당 상위 항목은 main이 아닌 release-ci/<sha12>-<id> 브랜치에서 실행됩니다.
  • FRV는 고정된 P의 체크인된 면제 정책 하에 성공으로 결론을 내려야 합니다. 다른 필수 레인은 모두 통과해야 합니다. 게시 요구 사항을 참조하십시오. 안정적인 태그는 안정적/전체 증거, 소크 및 차단 성능이 필요합니다. 베타 프로필 증거는 안정적인 자격을 부여할 수 없습니다. 소크와 성능은 면제될 수 없습니다. 전체 그룹 자격은 9개의 Linux/Windows/macOS Gateway 설치/업그레이드 조합이 필요합니다. 첫 번째 실패, ID 및 완전한 증거를 보존하십시오.
  • 네이티브 macOS, Windows, Linux 및 Android 게시는 npm/ClawHub, GitHub 최종화 및 main 마무리와 독립적입니다. 각 플랫폼은 자체 서명, 자격, 아티팩트 및 업데이터 요구 사항을 유지합니다. 대기 중인 플랫폼을 정확히 보고하고 네이티브 전용 실패를 병렬로 수리하십시오.
  • 검증되지 않은 1Password 후보에서 GitHub 시크릿을 설정하지 마십시오. 후보가 401/403을 반환하면 기존 시크릿을 그대로 두고 정확히 누락된 제공자를 보고하십시오.
  • 시크릿 읽기/쓰기에 $one-password를 사용하십시오: 하나의 영구 tmux 세션, 대상 항목만, 시크릿 출력 없음.
  • pnpm frv watch --run <parent>로 하나의 상위 실행을 모니터링하십시오 (모니터링 참조). 광범위한 gh run view 폴링 루프를 피하십시오. REST 할당량을 쉽게 소진할 수 있습니다.
  • 실패했거나 현재 차단 중인 작업에 대해서만 로그를 가져오십시오. 할당량이 낮으면 폴링을 중지하고 재설정을 기다리십시오.
  • 라이브 제공자 결함은 코드 실패와 별도로 처리하십시오. 코드를 편집하기 전에 키 유효성, 제공자 HTTP 상태, 재시도 증거 및 정확히 실패한 레인을 증명하십시오.
  • 라이브 제공자 실패를 진단할 때, 모델 목록 응답은 인증을 증명하지만 청구 또는 추론 권한을 증명하지 않습니다. 실제 완료 프로브로 자격 증명을 확인한 후 유효한 것으로 취급하십시오. 먼저 자격 증명을 수정하십시오. 실패한 릴리스 자격 증명을 우회하기 위해 대체 인증 경로를 추가하지 마십시오.
  • 전체 릴리스 검증은 정확한 자식 디스패치, 릴리스 결정 및 진단 드레인을 분리합니다. fail_fast=false인 경우 자식 취소 호출을 전혀 하지 않습니다. 진단 드레인은 수집기 자체가 취소되거나 GitHub API 액세스를 잃지 않는 한 선택된 각 자식이 종료될 때까지 따릅니다. fail_fast=true인 경우 릴리스 결정은 차단 실패를 소유한 정확히 활성 상태인 자식만 취소할 수 있습니다.
  • 동일 상위 계속은 원래 루트가 fail_fast=false로 디스패치된 경우에 필요합니다. 컨트롤러는 재실행 변형 전에 정확히 기록된 입력을 확인합니다.
  • 자체 봉인된 후보 아티팩트를 생성한 상위는 계속할 수 없습니다. GitHub 재실행은 이전 시도의 아티팩트를 사용할 수 없게 만듭니다. 후보 및 자격 SHA를 고정하고 해당 상위를 대체한 후 새로운 전체 그룹 전체 릴리스 검증을 시작하십시오.
  • 디스패치 후 하나의 불변 실행 계획 아티팩트가 원래 상위 시도, 정확한 자식 튜플 및 제목, 선택된 커버리지, 게이트 및 재사용 ID를 기록합니다. 동일한 바이트가 정확한 실행 ID 캐시 키 아래에 저장됩니다. 결정, 드레인, 매니페스트 쓰기, 증거 유효성 검사 및 최종 확인은 현재 시도에 대해 아티팩트를 사용합니다. 수집기 재시도는 캐시된 계획을 복원하고, 유효성을 검사하고, 아티팩트를 다시 업로드하고, 동일한 자식을 채택합니다. 계획 상태가 누락된 것은 오케스트레이션 실패이므로 계획을 재구성하거나 재디스패치할 권한이 없습니다.
  • 계획 봉인이 증거를 찾았다고 해서 재사용된 증거를 신뢰하지 마십시오. 릴리스 결정은 passed를 반환하기 전에 봉인된 대상 SHA, 증거 SHA, 정책, 변경된 경로, 선택된 실행, 루트 실행, 소스 매니페스트, 신뢰된 툴링 ID 및 정확한 자식 검사를 반복합니다.
  • 상위 재시도는 최신 결정 및 드레인 아티팩트를 독립적으로 선택합니다. 둘 다 소스 시도가 다르더라도 동일한 불변 계획에 바인딩되어야 합니다.
  • 자식 재시도는 자식 실행 ID, 워크플로우 경로, ref, Q SHA, 디스패치 제목, 이벤트, 대상, 후보 및 유효성 검사 입력이 정확히 동일하게 유지되는 경우에만 동일한 불변 계획의 일부입니다. 최신 자식 시도는 일치하는 작업을 대체합니다. 최신 시도에 없는 작업은 이월됩니다. 중복 작업 ID, 누락된 시도, 퇴보된 시도 또는 변경된 튜플은 실패로 종료됩니다. frv status 및 continue는 GitHub가 최신 재시도 시도에서 일시적으로 중복 작업을 반환할 때 최대 60초의 읽기 전용 조정을 허용합니다. 실행 튜플 및 시도는 고정된 상태로 유지됩니다. 영구적인 중복 및 오래된 시도 충돌은 오류로 유지됩니다.
  • 시도 인식 복구를 위해 pnpm frv status|watch|rerun --job|rerun --child|continue --failed|verify를 사용하십시오. 컨트롤러는 상태 비저장입니다. 불변 실행 계획, 정확한 GitHub 실행 시도, 진단 드레인 및 최종 매니페스트만이 유일한 권위자입니다. 태그, 패키지, 레지스트리 항목, 릴리스 후보 또는 게시를 절대 작성하지 않습니다.
  • 병합 후 컨트롤러 증명은 보호된 main에서 리뷰된 랜딩 SHA를 비릴리스 FRV Proof Broker 및 FRV Proof Fixture를 통해 사용해야 합니다. 병합된 풀 리퀘스트 번호와 정확히 랜딩된 커밋으로 브로커를 디스패치하십시오. 브로커는 해당 풀 리퀘스트의 병합 커밋이 랜딩된 커밋과 일치하고, 랜딩된 커밋이 해당 신뢰된 워크플로우 SHA와 동일하거나 그 조상임을 증명하고, 고정물을 재실행하기 직전에 권한, 병합 및 계통 검사를 반복해야 합니다. 정확히 고정된 no-op 고정물 실행이 의도적인 첫 번째 시도 실패에서 두 번째 시도 통과로 진행되도록 요구하십시오. 브로커는 릴리스 후보, 릴리스 아티팩트, 게시, 리포지토리 ref, 대체 상위 또는 기타 워크플로우 변형을 생성하지 않고 영수증을 발행해야 합니다. 이는 호스팅된 GitHub 대상 작업 재실행 증명입니다. 집중된 컨트롤러 테스트는 불변 계획 적격성, 녹색 시도 보존, 동일 상위 수집 및 엄격한 검증기 호출을 소유합니다. 실제 전체 릴리스 검증 실행을 이 증명에 사용하지 마십시오. 참조: 전체 릴리스 검증.
  • 하나의 릴리스 운영자, 하나의 frv watch 및 현재 실패한 표면에 대해 최대 하나의 조사자를 사용하십시오. 단일 워크플로우 전환 주위에 감사-검토-계획 트리를 구축하지 마십시오.
  • 정기적인 베타/안정 릴리스의 경우 코드 SHA에 이미 최종 노트가 포함될 수 있으며 릴리스 SHA 역할을 할 수 있습니다. 하나의 성공적인 신선한 전체 상위가 두 역할과 정확한 게시 바이트를 모두 검증할 수 있습니다. 이후에 노트가 변경되면, 이후 릴리스 SHA는 선택된 CHANGELOG/YYYY.M.PATCH.md와 선택적으로 CHANGELOG.md 및 CHANGELOG/records/YYYY.M.PATCH.md를 변경하는 코드 SHA의 완전한 델타만 있고 다른 경로, 이름 바꾸기 또는 삭제가 없는 경우에만 제품 증거를 재사용할 수 있습니다. 변경된 바이트는 여전히 자격이 필요합니다.
  • 확장된 안정은 하나의 정확한 브랜치 팁을 검증합니다. 정기적인 코드-SHA/릴리스-SHA 증거 모델을 재사용하지 않습니다.
  • 스파스 작업 트리 또는 Testbox 소스 동기화에서 먼저 package.json, pnpm-lock.yaml 및 선택된 검사가 읽는 모든 소스 경로를 확인하십시오. 이 중 하나라도 없으면 해당 체크아웃은 릴리스 종속성 또는 Docker 레인을 검증할 수 없습니다. 중지하고 리포지토리 원격 변경 게이트 또는 전체 작업 작업 트리를 사용하십시오. 입력이 존재하고 릴리스 수정이 package.json 또는 pnpm-lock.yaml을 변경하는 경우, CI=true pnpm install --frozen-lockfile로 작업 소유의 disposable 박스만 재구축한 후 Docker 또는 집중된 테스트 전에 명시적 require.resolve() 프로브를 실행하십시오. CI 플래그는 pnpm이 대화형 확인 없이 사전 준비된 모듈 디렉토리를 재생성할 수 있도록 합니다. Lockfile을 약화시키거나 스파스 체크아웃 실패를 제품/Docker 실패로 레이블링하지 마십시오.
  • 후보가 리베이스되거나 웜업 후 기본 SHA가 변경되면 작업 소유 박스를 중지하고 테스트 전에 신선한 박스를 웜업하십시오. Testbox 소스 동기화는 웜업된 소스 트리를 기준으로 합니다. 계속하면 이전 기본 파일과 새 후보 diff가 혼합되어 잘못된 lockfile 또는 Docker 실패가 발생할 수 있습니다.
  • 재사용된 Testbox는 첫 번째 성공적인 실행 후 기록된 소스에 대해 검사됩니다. 소스 전용 편집은 임대를 재사용할 수 있습니다. 기본, 종속성, 래퍼 또는 Testbox 워크플로우 드리프트는 새 임대가 필요합니다. 릴리스 증거에 대해 OPENCLAW_TESTBOX_ALLOW_STALE=1을 설정하지 마십시오.
  • 커밋된 릴리스 후보에 대해 지원되는 캡슐 인식 래퍼와 함께 Testbox를 사용할 때, 해당 후보의 체크아웃에서 node scripts/crabbox-wrapper.mjs run --blacksmith-ref main -- <command>를 실행하십시오. 캡슐은 후보 소스와 고정된 종속성을 보존하는 반면 main은 현재 승인 한계를 제공합니다. 후보에 해당 래퍼 계약이 없으면 아래의 별도의 유효성 검사 및 툴링 SHA와 함께 정확한 대상 릴리스 검증 경로를 사용하십시오. 후보 Testbox 워크플로우 ref를 디스패치하지 마십시오.

…

[번역을 위해 잘림]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

관련 스킬