{"id":17722684,"url":"https://github.com/christopherhx/gitea-actions-runner","last_synced_at":"2025-05-07T02:44:36.424Z","repository":{"id":210995277,"uuid":"672210631","full_name":"ChristopherHX/gitea-actions-runner","owner":"ChristopherHX","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-25T11:31:14.000Z","size":391,"stargazers_count":9,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-25T13:02:03.250Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChristopherHX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-29T09:43:51.000Z","updated_at":"2024-07-25T10:52:59.000Z","dependencies_parsed_at":"2024-02-23T21:27:09.196Z","dependency_job_id":"5e0bb731-6c6a-499c-ac67-05adbf1c7e12","html_url":"https://github.com/ChristopherHX/gitea-actions-runner","commit_stats":null,"previous_names":["christopherhx/gitea-actions-runner"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherHX%2Fgitea-actions-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherHX%2Fgitea-actions-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherHX%2Fgitea-actions-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherHX%2Fgitea-actions-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChristopherHX","download_url":"https://codeload.github.com/ChristopherHX/gitea-actions-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252802706,"owners_count":21806558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-25T15:39:10.957Z","updated_at":"2025-05-07T02:44:36.413Z","avatar_url":"https://github.com/ChristopherHX.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# actions runner\n\nActions runner is a runner for Gitea based on [actions/runner](https://github.com/actions/runner) and the workflow yaml parser of [act](https://gitea.com/gitea/act).\n\n- This runner doesn't download actions via the git http protocol, it downloads them via tar.gz and zip archives.\n- This runner doesn't support absolute actions in composite actions `https://github.com/actions/checkout@v3` will only work in workflow steps.\n- This runner doesn't support go actions, however you can create a wrapper composite action as a workaround\n- This runner doesn't support the gitea context including `GITEA_` env variables\n- This runner doesn't support expressions and secrets in uses\n- This runner does support service container\n- This runner does support https://github.com/actions/runner-container-hooks\n- This runner uses the official https://github.com/actions/runner runner to run your steps\n- This runner is a protocol proxy between Gitea Actions and GitHub Actions\n\n## Known Issues\n\n- actions/runner's live logs are skipping lines, but it is not possible to upload the full log without breaking live logs after the steps are finished\n- ~~job outputs cannot be sent back https://gitea.com/gitea/actions-proto-def/issues/4~~ fixed\n- Not possible to update display name of steps from runner\n  Pre and Post steps are part of setup and complete job, steps not in the job are ignored by the server\n- Not possible to send step updates between cancellation request and finishing the request\n\n## Prerequisites\n\n- Install powershell 7 https://github.com/powershell/powershell (actions-runner-worker.ps1)\n  - For linux and macOS you can also use python3 instead (actions-runner-worker.py)\n- Download and extract actions/runner https://github.com/actions/runner/releases\n- You have to create simple .runner file in the root folder of the actions/runner with the following Content\n  ```\n  {\"isHostedServer\": false, \"agentName\": \"my-runner\", \"workFolder\": \"_work\"}\n  ```\n\n## Quickstart\n\n### Build\n\n```bash\nmake build\n```\n\n### Register\n\n```bash![C4_Elements](https://github.com/ChristopherHX/gitea-actions-runner/assets/44845461/76b0ded2-0f18-472a-862d-6550b5937252)\n\n./gitea-actions-runner register\n```\n\nAnd you will be asked to input:\n\n1. worker args for example `python3,actions-runner-worker.py,actions-runner/bin/Runner.Worker`, `pwsh,actions-runner-worker.ps1,actions-runner/bin/Runner.Worker`\n   `actions-runner-worker`(`.ps1`/`.py`) are wrapper scripts to call the actions/runner via the platform specfic dotnet anonymous pipes\n\n   `actions-runner-worker.py` doesn't work on windows\n\n   On windows you might need to unblock the `actions-runner-worker.ps1` script via pwsh `Unblock-File actions-runner-worker.ps1` and `Runner.Worker` needs the `.exe` suffix.\n   For example on windows use the following worker args `pwsh,actions-runner-worker.ps1,actions-runner/bin/Runner.Worker.exe`\n2. Gitea instance URL, like `http://192.168.8.8:3000/`. You should use your gitea instance ROOT_URL as the instance argument\n and you should not use `localhost` or `127.0.0.1` as instance IP;\n3. Runner token, you can get it from `http://192.168.8.8:3000/admin/runners`;\n4. Runner name, you can just leave it blank;\n5. Runner labels, you can just leave it blank.\n\nThe process looks like:\n\n```text\nINFO Registering runner, arch=amd64, os=darwin, version=0.1.5.\nINFO Enter the worker args for example pwsh,actions-runner-worker.ps1,actions-runner/bin/Runner.Worker:\npwsh,actions-runner-worker.ps1,actions-runner/bin/Runner.Worker\nINFO Enter the Gitea instance URL (for example, https://gitea.com/):\nhttp://192.168.8.8:3000/\nINFO Enter the runner token:\nfe884e8027dc292970d4e0303fe82b14xxxxxxxx\nINFO Enter the runner name (if set empty, use hostname:Test.local ):\n\nINFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, self-hosted,ubuntu-latest):\n\nINFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[self-hosted ubuntu-latest].\nDEBU Successfully pinged the Gitea instance server\nINFO Runner registered successfully.\n```\n\nYou can also register with command line arguments.\n\n```bash\n./gitea-actions-runner register --instance http://192.168.8.8:3000 --token \u003cmy_runner_token\u003e --worker pwsh,actions-runner-worker.ps1,actions-runner/bin/Runner.Worker --no-interactive\n```\n\n```bash\n./gitea-actions-runner register --instance http://192.168.8.8:3000 --token \u003cmy_runner_token\u003e --worker python3,actions-runner-worker.py,actions-runner/bin/Runner.Worker --no-interactive\n```\n\nIf the registry succeed, you could run the runner directly.\n\n### Run\n\n```bash\n./gitea-actions-runner daemon\n```\n\n### Hosted on both GitHub and Gitea\n- https://gitea.com/ChristopherHX/actions_runner\n- https://github.com/ChristopherHX/gitea-actions-runner\n\n### System Overview\n\nA lot of my projects can communicate through various indirections.\n\n![C4_Elements](https://github.com/ChristopherHX/gitea-actions-runner/assets/44845461/78ff5218-570c-4506-81a5-a1baa26f8016)\n\n### Integrations based on this Project\n\n- [QEMU-KVM-Solution](https://github.com/CrimsonGiteaActions/QEMU-KVM-Solution)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopherhx%2Fgitea-actions-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristopherhx%2Fgitea-actions-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopherhx%2Fgitea-actions-runner/lists"}