# Gitea Runner — Windows Laptop Self-hosted runner registered as `windows-laptop` with label `windows-latest`. ## Setup ```powershell # Download Invoke-WebRequest -Uri "https://gitea.com/gitea/runner/releases/download/v1.0.1/gitea-runner-1.0.1-windows-amd64.exe" -OutFile "$env:USERPROFILE\gitea-runner-windows-amd64.exe" # Register (Admin PowerShell) .\gitea-runner-windows-amd64.exe register --instance http://143.244.157.110:3000 --token NS5LXzLzNOvPKD9Id4SrLQ09bReHOrn6T2c4EyGM --name windows-laptop --labels windows-latest --no-interactive # Start (foreground) .\gitea-runner-windows-amd64.exe daemon # Install as Windows service (auto-starts on boot) .\gitea-runner-windows-amd64.exe service install ``` ## Logs ### Workflow job logs (step output) Stored on the Gitea server (not locally). Download from: `http://143.244.157.110:3000///actions/runs/` Click a job, then the **Download log** button at the top-right. ### Runner daemon logs (runner itself) | Mode | Log location | |---|---| | Foreground (`daemon`) | PowerShell console stdout | | Windows service (`service install`) | `%ProgramData%\gitea-runner\log\` or Windows Event Viewer → Windows Logs → Application | ## Diagnostics If a CI job fails, download the full log from the Gitea Actions UI (as above), then search for the first error: - **Rust**: look for `error[E...]`, `error: could not compile`, or `cargo test` failures - **Python**: look for `FAILED`, `AssertionError`, or `ModuleNotFoundError` The runner's own logs (`daemon` mode) will show which job it picked up, container lifecycle, and any infrastructure issues (disk full, Docker unavailable, etc.).