● Runner Online — iqra

GitHub Actions
Self-Hosted Runner

CI/CD pipeline running on your own infrastructure

👨‍💻
STEP 01
Push Code
Developer pushes to main branch
STEP 02
GitHub Detects
Webhook fires on push event
📋
STEP 03
Read Workflow
Parses .github/workflows/*.yml
🖥️
STEP 04
Dispatch to Iqra
Job sent to self-hosted runner
🔨
STEP 05
Build & Test
checkout → build → test
📡
STEP 06
Report Back
Results sent to GitHub
🐙
GitHubOrganization & Account
personal jojomojo786
organization jojomojo-org
visibility private repos stay private
🖥️
iqra-runnerSelf-Hosted Runner
hostname iqra
os Debian 13 (trixie)
user computebox
🧰
Toolchain & LabelsInstalled on runner
rust 1.95.0 (stable)
cargo 1.95.0
git 2.47.3
gcc 14.2.0
Runner Labels
self-hosted Linux X64 iqra
Service
systemd enabled survives reboot
.github/workflows/ci.yml
name: Rust CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: self-hosted       # ← runs on iqra, not GitHub cloud
    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: cargo build --release

      - name: Test
        run: cargo test

      - name: Clippy
        run: cargo clippy -- -D warnings
Automatic TriggersThe on: section in your workflow controls this
🚀
Push to main
git push origin main
Runner triggers automatically. No PR needed. Just push and it runs.
🔀
Open a Pull Request
git push origin feature-branch → open PR
Runner triggers on PR creation and on every new push to that branch. See ✅/❌ before merge.
🔇
Push to other branch
git push origin random-branch
Runner does NOT trigger. Only pushes to main and PRs targeting main activate it.
💡
Bottom LineYou don't have to do anything extra
Just git push origin main like you normally do. The runner picks it up within seconds — no manual action, no PR required. PRs are optional but useful because they check code before you merge, catching bugs earlier.
1

Transfer to Org

Move the repo from your personal account to jojomojo-org. Visibility stays the same.

gh api --method POST repos/jojomojo786/REPO/transfer -f new_owner="jojomojo-org"
2

Add Workflow

Create .github/workflows/ci.yml in the repo with runs-on: self-hosted.

mkdir -p .github/workflows && cp ci.yml .github/workflows/
3

Push & Done

Every push to main now auto-builds and tests on your iqra server. No cloud minutes used.

git push origin main → ✅ CI runs automatically
All Checks Passed
Code compiles, all tests pass, no lint warnings. Green checkmark on commit.
Check Failed
Build error, test failure, or clippy warning. Red X blocks the merge until fixed.
📍
Current SetupWhat happens right now
🚀 git push
🔨 build + test
status badge
🛑 done. nothing else.
The runner only validates your code — it reports ✅ or ❌ on the commit. It does not block pushes, deploy anything, or send notifications. Purely informational.
🔮
Could Add LaterOptional extensions — not active
🚢
Auto-Deploy
Deploy binary to server after passing
🛡️
Block Merging
PRs can't merge unless CI passes
🔔
Notifications
Discord or Slack alert on failure
📦
Build Releases
Upload binaries to GitHub Releases
None of these are active. They can be added as extra steps in the workflow file when needed.