From e5c1c766b6ea34b099453492578201e0ff5d2893 Mon Sep 17 00:00:00 2001 From: dillonj Date: Thu, 7 May 2026 12:20:08 -0600 Subject: [PATCH] Fix Gitea runner CI: remove sudo, install system deps via apt, replace setup-python with apt-get --- .github/workflows/ci.yml | 19 +++++++--- .github/workflows/release.yml | 4 +- .github/workflows/validate-all.yml | 6 +-- docs/gitea-runner-setup.md | 59 ++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 10 deletions(-) create mode 100644 docs/gitea-runner-setup.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bc18fb..e4ca5f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,6 +12,15 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable + - run: | + apt-get update + apt-get install -y \ + libgtk-3-dev \ + libwebkit2gtk-4.1-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev \ + libssl-dev \ + patchelf - run: cargo test working-directory: src-tauri - run: cargo check --release @@ -38,8 +47,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.12' - - run: pip install pytest - - run: python -m pytest backend/tests/ || true + - run: | + apt-get update + apt-get install -y python3 python3-pip + - run: pip3 install pytest + - run: python3 -m pytest backend/tests/ || true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 974dc91..15a16a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,8 +19,8 @@ jobs: working-directory: frontend - uses: dtolnay/rust-toolchain@stable - run: | - sudo apt-get update - sudo apt-get install -y \ + apt-get update + apt-get install -y \ libwebkit2gtk-4.1-dev \ librsvg2-dev \ patchelf \ diff --git a/.github/workflows/validate-all.yml b/.github/workflows/validate-all.yml index 9221028..295b995 100644 --- a/.github/workflows/validate-all.yml +++ b/.github/workflows/validate-all.yml @@ -26,9 +26,9 @@ jobs: package-lock.json - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: '3.12' + run: | + apt-get update + apt-get install -y python3 python3-pip - name: Enforce feature spec policy (PR only) if: github.event_name == 'pull_request' diff --git a/docs/gitea-runner-setup.md b/docs/gitea-runner-setup.md new file mode 100644 index 0000000..a461e0a --- /dev/null +++ b/docs/gitea-runner-setup.md @@ -0,0 +1,59 @@ +# Gitea Runner Setup + +Two self-hosted runners for the Gitea instance at `http://143.244.157.110:3000`. + +## Linux Runner (`talkedit-builder`) + +- **Host**: this machine (CachyOS) +- **Binary**: `~/.local/bin/gitea-runner` +- **Config**: `~/.runner` +- **Labels**: `ubuntu-latest` → `docker://node:22-bookworm`, `ubuntu-24.04` → `docker://node:22-bookworm` +- **Executor**: Docker +- **Service**: user systemd unit `talkedit-runner.service` + +### View runner daemon logs + +```bash +journalctl --user -u talkedit-runner --no-pager -n 100 +# or follow live: +journalctl --user -u talkedit-runner -f +``` + +### Restart + +```bash +systemctl --user restart talkedit-runner +``` + +### Workflow job logs (step output) + +Not stored locally — streamed to the Gitea server. Download from the Actions UI: +`http://143.244.157.110:3000/dillon_stuff/TalkEdit/actions/runs/` + +--- + +## Windows Runner (`windows-laptop`) + +- **Host**: Windows laptop +- **Binary**: `%USERPROFILE%\gitea-runner-windows-amd64.exe` +- **Labels**: `windows-latest` +- **Executor**: host (runs directly, no Docker) + +### Runner daemon logs + +| Mode | Logs | +|---|---| +| Foreground (`daemon`) | PowerShell console stdout | +| Windows service | `%ProgramData%\gitea-runner\log\` or Event Viewer | + +### Workflow job logs + +Same as Linux — download from Gitea Actions UI. + +--- + +## Why Rust/Python jobs fail + +The Linux runner maps `ubuntu-latest` to `docker://node:22-bookworm` which only has Node.js. The Rust and Python steps try to install toolchains (`dtolnay/rust-toolchain`, `actions/setup-python`) inside the Docker container, but something is failing early. + +**To debug**: download the full log from Gitea Actions UI and look for the first `error` or `FAILED` line after the initial setup steps — the snippets pasted so far only show the tail (cleanup/post steps).