Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
OwnCI는 현재 사용 중인 Linux 머신을 리포지터리용 GitHub Actions 러너로 전환합니다
OwnCI turns the Linux machine you already code on into the GitHub Actions runner for your repository: set up, start, stop and remove it with one command each, with every job in a Docker container.
개발 도구Go · AstroGitHub @ashfaqc137온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Turn your Linux or WSL2 machine into the GitHub Actions runner for one repository, with every job in a Docker container.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Your PR. Your Compute.
OwnCI is a small Go CLI that turns your Linux machine into a GitHub Actions
self-hosted runner for one repository, with one command each to set it up,
start it, stop it and remove it. It does not implement a CI protocol: it
downloads, registers, supervises and cleans up the official
actions/runner, and configures it so
that every job runs inside a Docker container: either the job declares
container: (host mode, the default), or OwnCI runs the runner itself in a
container that jobs without container: use as their image
(container-runner mode).
Status: MVP. Linux and WSL2 only. Tested end to end on WSL2 with Docker Desktop, amd64. Native Linux (Docker Engine) and arm64 builds are shipped and expected to work, but are not tested yet. Native Windows and macOS are not supported. The real-GitHub validation is described in
docs/e2e.md; results are indocs/acceptance.md.
GitHub Actions ◄──────────────► official actions/runner (runs on your host, as you)
(queues jobs, owns the PR check) │ supervised by OwnCI: start / stop / status
│ .env: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER=true
▼
job container (your local Docker)
│
▼ after every job: OwnCI's job-completed hook
wipes the runner's _work (in a throwaway container)
ownci owns the runner's lifecycle: download + checksum verification, registration,
process supervision, status, cleanup, uninstall.container: is rejected by the runner. That is the
isolation boundary OwnCI enforces and verifies; read Security
for what it does not protect against. (In container-runner mode such a job runs in
the runner's container instead; see below.)docker in WSL is a stub that fails.docker group (sudo usermod -aG docker $USER, then log in again).sudo apt-get install -y libicu-dev,
Fedora sudo dnf install libicu, openSUSE sudo zypper install libicu.
(bin/installdependencies.sh in the runner directory does the same.)setup,
uninstall --unregister and status --remote. In order of preference: GITHUB_TOKEN,
GH_TOKEN, or gh auth login (the default scopes work for repositories you administer).
A fine-grained PAT needs Administration: Read and write on the repository. The token is
never stored.Run ownci doctor to check all of this.
curl -fsSL https://sparshlabs.com/ownci/install.sh | sh
The script (Linux and WSL2, amd64 and arm64) downloads the latest release, checks it against
the release's SHA256SUMS and installs ownci into ~/.local/bin. OWNCI_VERSION pins a
version and OWNCI_INSTALL_DIR picks another directory, e.g. … | OWNCI_VERSION=v0.1.0 sh.
To remove OwnCI again: ownci uninstall --unregister --purge, then rm ~/.local/bin/ownci.
Or by hand: download the archive for your architecture and SHA256SUMS from the
Releases page, then:
sha256sum -c --ignore-missing SHA256SUMS # must print: ownci_<version>_linux_<arch>.tar.gz: OK
tar -xzf ownci_<version>_linux_<arch>.tar.gz
install -m 0755 ownci ~/.local/bin/ownci # make sure ~/.local/bin is on your PATH
ownci version
Each archive carries a GitHub build-provenance attestation:
gh attestation verify ownci_<version>_linux_<arch>.tar.gz --repo ashfaqc137/ownci.
Data lives in ~/.local/share/ownci by default (--data-dir, $OWNCI_DATA_DIR or
$XDG_DATA_HOME/ownci override it). On WSL keep it on the Linux filesystem, not under /mnt/c.
ownci doctor # everything PASS?
ownci setup --repo owner/name # downloads + verifies the runner, registers it, installs isolation
ownci start --detach # runs in the background (without --detach: foreground, Ctrl-C stops)
ownci status --remote # online, idle
Then target the runner from a workflow. Both lines are required:
jobs:
build:
runs-on: [ownci] # the opt-in label OwnCI registers (not "self-hosted")
container: ubuntu:24.04 # mandatory: jobs without a container are rejected
steps:
- uses: actions/checkout@v4
- run: make test
Stop contributing compute with ownci stop; ownci start brings the same registration back.
container: needed)Workflows written for GitHub-hosted runners usually have no container: line. With
container-runner mode they run unchanged (to switch an existing runner: ownci stop, then
ownci setup --force --mode container-runner):
ownci setup --repo owner/name --mode container-runner
ownci start --detach
jobs:
build:
runs-on: [ownci] # no container: needed
steps:
- uses: actions/checkout@v4
- run: sudo apt-get install -y jq && make test
How it works:
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗