Skip to main content
Glama
Xeno-CI
by Xeno-CI

XenoCI 빌드 Action (이전 방식)

XenoCI는 GitHub Actions 워크플로의 runs-on을 xenoci-macos로 바꿔 씁니다, XenoCI GitHub App을 GitHub 조직에 설치하면 따로 발급할 키나 시크릿이 없습니다, 연결 순서는 빠른 시작에 있습니다

jobs:
  build:
    runs-on: xenoci-macos
    steps:
      - uses: actions/checkout@v4
      - run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 17e' test

이 Action(Xeno-CI/build@v1)은 GitHub 러너(ubuntu-latest 등)에서 이미 쓰던 API 키로 잡을 XenoCI VM에 보내던 이전 방식입니다, 새로 연결할 때는 위 runs-on 방식을 씁니다, 이미 이 Action을 쓰는 워크플로를 위해 입력과 동작을 아래에 남깁니다

워크플로 (이전 방식)

jobs:
  ios:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Xeno-CI/build@v1
        with:
          api-key: ${{ secrets.XENOCI_API_KEY }}
          script: ./ci.sh
          artifacts: build/*.ipa

Action은 키를 ::add-mask::로 가린 뒤 /api/runner/v1에 Authorization: Bearer <키>로 잡을 보냅니다, 잡마다 새 macOS VM에서 돌고 끝나면 지워지며 시작한 분마다 조직 크레딧에서 차감합니다, 10초는 1분, 1분 1초는 2분으로 계산합니다

Related MCP server: script-runner

입력

입력

필수

설명

api-key

예

이미 쓰던 API 키, ${{ secrets.XENOCI_API_KEY }}

script

예

빌드 스크립트 파일 경로(저장소 기준)

source

upload(기본, 체크아웃한 작업 폴더를 업로드) 또는 git(VM이 https://github.com/<owner>/<name>.git을 직접 받음, 공개 저장소만)

xcode

Xcode 버전

timeout

제한 시간(분), 기본 30

artifacts

모을 결과물 경로(쉼표로 구분, 예: build/*.ipa)

api-url

API 주소, 기본 https://xenoci.com

env

빌드 스크립트에 넘길 환경 변수, 한 줄에 NAME=${{ secrets.X }} 하나, 값은 스텝 로그와 잡 로그에서 ***로 가려지고 XenoCI가 돌려주지 않음

  • 빌드 로그가 스텝 로그로 나오고, 빌드 종료 코드가 스텝 종료 코드가 됩니다

  • 잡이 끝나면 로그 끝에 실행 시간, 과금 분, 차감 크레딧, 남은 잔액이 한 줄로 남습니다

  • 잔액 부족(402 insufficient_credit), 실행 중 소진(credit_exhausted), 조직 지출 한도(organization_spend_limit)는 ::error title=XenoCI 잔액 소진::…충전: <링크> 같은 한 줄을 남기고 종료 코드 3으로 끝납니다, 충전은 사람이 콘솔에서 합니다

  • api-key가 비었거나 xci_live_로 시작하지 않으면 서버에 요청하지 않고 바로 실패합니다

포크 PR

pull_request는 포크에서 온 PR에 시크릿을 주지 않습니다. 그래서 포크 PR은 빌드가 실패할 뿐 키는 새지 않습니다. pull_request_target에서 PR 코드를 체크아웃하고 api-key를 넘기지 마세요. 포크 PR의 코드가 키와 함께 실행됩니다

# 금지: 이렇게 쓰지 않는다
on: pull_request_target
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.sha }}
      - uses: Xeno-CI/build@v1
        with:
          api-key: ${{ secrets.XENOCI_API_KEY }}
          script: ./ci.sh

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Remote MCP server that launches user-supplied scripts inside disposable Docker containers, returning task IDs for async tracking and bounded output tails.
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables MCP clients to securely execute bounded coding tasks through registered backends, with idempotent job submission, status polling, and artifact retrieval. It isolates each job in Git worktrees and supports optional branch publishing and pull request creation under strict policy constraints.
    -