GitHub Actions 워크플로를 macOS 러너로 옮기는 방법, 사용량·한도·데이터 소유권, REST/MCP 현재 범위.
로그인·이메일 인증 후 CI 러너에서 조직을 만듭니다(계정당 하나). GitHub 계정 1개당 매달 실맥 60분(8코어·12GB)이 무료로 지급됩니다. GitHub 로그인 또는 CI GitHub 연결이 필요하고, 같은 GitHub 계정으로는 월 1회만 받습니다. 그 이후 크레딧은 카드로 5,000원부터 충전합니다(GitHub 없이 가능). 카드로 1분씩 결제하지는 않습니다. 잡은 끝날 때마다 분 단위(올림, 최소 1분)로 라벨 단가만큼 차감됩니다. 유료 잔액이 남은 잡이 무료분만 남은 잡보다 먼저 실행됩니다. 잔액이 0이면 새 잡을 받지 않고, 진행 중인 잡은 끝까지 실행됩니다.
사용량 · 한도 탭에서 KST 기준 일별 요금, 저장소·라벨 필터, CSV 내려받기, 월 사용 한도·동시 실행 상한·할당 일시 중지를 설정할 수 있습니다. 한도는 새 잡 수신만 막으며, 이미 실행 중인 잡과 활성 hold는 끝까지 진행됩니다. 미사용 충전분 환불 등은 이용약관 CI 러너 안내를 따릅니다.
GitHub → Settings → Developer settings → Fine-grained personal access token. 대상 저장소를 고르고 권한을 Actions: Read and write, Administration: Read and write, Metadata: Read로 둡니다. Classic 토큰이면 repo 스코프. 토큰은 암호화되어 저장되고 잡마다 1회용(JIT) 러너 등록에만 씁니다.
연결 후 감시할 저장소를 등록하면 15초마다 큐를 확인합니다. 콘솔 환경 · 사전점검 탭(또는 GET /api/portal/ci/preflight?label=…&source=github|api)에서 크레딧·월 한도·호스트 적합성을 외부 GitHub 호출 없이 확인할 수 있습니다. 즉시 시작하려면 저장소 Settings → Webhooks에 콘솔 URL·시크릿을 넣고 이벤트를 Workflow jobs만 고르세요.
공개 카탈로그 /api/ci/catalog는 groa-macos-m4-8x 단일 하드웨어 프로필을 반영합니다 — 8 vCPU · 12 GiB · 110원/분 · 호스트 16GB Mac당 동시 1잡. 기본 게스트는 macOS 26.6.2 · Xcode 26.2입니다. 동일 하드웨어에 macOS 26.4 · Xcode 26.5를 고정하려면 groa-macos-m4-8x-xcode-26-5 라벨을 사용합니다. Mac 잡은 VirtualMac(Lume VM)에서 실행됩니다 — sw_vers만으로 호스트 탈출 여부를 판단하지 마세요.
콘솔 잡 탭의 템플릿 빌더로 스택별 YAML을 생성할 수 있습니다. 아래는 최소 예시입니다.
jobs:
ios:
runs-on: groa-macos-m4-8x
steps:
- uses: actions/checkout@v4
- run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' test
ios-xcode-26-5:
runs-on: groa-macos-m4-8x-xcode-26-5
steps:
- uses: actions/checkout@v4
- run: xcodebuild -version && xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' test라벨과 분당 요금은 콘솔 요금표가 기준입니다. macOS: groa-macos-m4-8x(기본), groa-macos-m4-8x-xcode-26-5(고정 Xcode 26.5).
secrets.* 컨텍스트를 받습니다. cicd 콘솔 API 키와 혼동하지 마세요.permissions: id-token: write가 필요합니다. cicd는 GitHub가 발급한 OIDC 토큰을 그대로 전달합니다.잡마다 새 Lume VM이 만들어지고 끝나면 삭제됩니다. 러너는 인터넷으로 나가는 기본 경로가 없고 허용된 도메인으로만 프록시를 통해 나갑니다. GitHub·npm·PyPI·crates.io·Go proxy·Maven·Docker Hub·Ubuntu/Debian·Apple 개발자 도메인은 기본 허용이며, 사설 레지스트리는 네트워크 탭에서 추가합니다.
종료된 잡 상세에 삭제 확인서가 표시됩니다. executor_kind(lume_vm)와 retention 정책(zero-retention)으로 VM 제거를 기록합니다. 스케줄러 DB cleanup_result만 표시하며 live 재검증·secure overwrite 증명은 포함하지 않습니다.
API · MCP 탭에서 키를 만들고 아래 문서·CLI를 사용합니다. 토큰은 환경 변수(CICD_CI_TOKEN)로만 전달하고 URL 쿼리에 넣지 마세요.
/api/ci/cli (다운로드)/api/ci/openapi.json/api/ci/catalog (인증 불필요)# REST (Bearer 또는 CICD_CI_TOKEN)
GET /api/ci/v1/me
GET /api/ci/v1/rates
GET /api/ci/v1/jobs
POST /api/ci/v1/jobs # Idempotency-Key 헤더 지원
GET /api/ci/v1/jobs/:id/log
POST /api/ci/v1/jobs/:id/cancel
GET /api/ci/v1/usage
GET /api/ci/v1/policies
PUT /api/ci/v1/policies
GET /api/ci/v1/jobs/:id/deletion-receipt
# macOS 잡 예시 (curl)
curl -sS -X POST https://cicd.im/api/ci/v1/jobs \
-H "Authorization: Bearer $CICD_CI_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"label":"groa-macos-m4-8x","command":"xcodebuild -version"}'
# MCP tools (동일 API 키, HTTP — Warp 등 호환)
list_runners, get_balance, run_command, get_job, get_job_log, cancel_jobClaude Code 예: claude mcp add --transport http cicd-ci https://cicd.im/api/ci/mcp --header "Authorization: Bearer <key>"
groa-macos-m4-8x 단일 프로필 — 8 vCPU · 12 GiB · 110원/분. 호스트 16GB Mac당 동시 1잡, 초과분은 대기열.groa-macos-m4-8x-xcode-26-5는 동일 하드웨어에 macOS 26.4 · Xcode 26.5 고정.