A runner for Gitea based on act.
Find a file
ChristopherHX e36300ce28 fix docker executor on windows and local actions (#34)
If the Workdir field doesn't ends with the filepath seperator,
bad things happen

Fixes #33

Sample for host mode on windows, needs be adjusted for linux e.g. replace pwsh with bash
Also fixes
```yaml
on: push
jobs:
  _:
    runs-on: self-hosted
    steps:
    - uses: actions/checkout@v3
      with:
        path: subdir/action
    - uses: ./subdir/action
```

with an action.yml in the same repo
```yaml
runs:
  using: composite
  steps:
    - run: |
        echo "Hello World"
      shell: pwsh
```

Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/34
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ChristopherHX <christopherhx@noreply.gitea.io>
Co-committed-by: ChristopherHX <christopherhx@noreply.gitea.io>
2023-03-06 13:24:32 +08:00
.gitea/workflows run nightly on ubuntu runner 2023-03-01 12:32:00 +08:00
artifactcache fix lint error (#30) 2023-03-01 06:40:20 +08:00
client Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
cmd Support cache (#25) 2023-02-28 23:39:30 +08:00
config Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
core Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
engine Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
poller Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
register Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
runtime fix docker executor on windows and local actions (#34) 2023-03-06 13:24:32 +08:00
.gitignore Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
.golangci.yml chore: add .golangci config 2022-11-24 15:36:28 +08:00
.goreleaser.yaml disable more arch 2023-03-01 13:00:18 +08:00
build.go Support cache (#25) 2023-02-28 23:39:30 +08:00
go.mod Support cache (#25) 2023-02-28 23:39:30 +08:00
go.sum Support cache (#25) 2023-02-28 23:39:30 +08:00
LICENSE Add license 2022-11-24 15:36:16 +08:00
main.go Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
Makefile Add copyright header and gitea-vet (#29) 2023-02-28 18:44:46 +08:00
README.md feat: don't require docker (#16) 2023-01-27 20:42:02 +08:00

act runner

Act runner is a runner for Gitea based on act.

Prerequisites

Docker Engine Community version is required. To install Docker CE, follow the official install instructions.

Quickstart

Build

make build

Register

./act_runner register

And you will be asked to input:

  1. Gitea instance URL, like http://192.168.8.8:3000/. You should use your gitea instance ROOT_URL as the instance argument and you should not use localhost or 127.0.0.1 as instance IP;
  2. Runner token, you can get it from http://192.168.8.8:3000/admin/runners;
  3. Runner name, you can just leave it blank;
  4. Runner labels, you can just leave it blank.

The process looks like:

INFO Registering runner, arch=amd64, os=darwin, version=0.1.5.
WARN Runner in user-mode.
INFO Enter the Gitea instance URL (for example, https://gitea.com/):
http://192.168.8.8:3000/
INFO Enter the runner token:
fe884e8027dc292970d4e0303fe82b14xxxxxxxx
INFO Enter the runner name (if set empty, use hostname:Test.local ):

INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, self-hosted,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster):

INFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[ubuntu-latest:docker://node:16-bullseye ubuntu-22.04:docker://node:16-bullseye ubuntu-20.04:docker://node:16-bullseye ubuntu-18.04:docker://node:16-buster].
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.

You can also register with command line arguments.

./act_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive

If the registry succeed, it will run immediately. Next time, you could run the runner directly.

Run

./act_runner daemon