Go to file
root 0721c11f6a Update 2023-04-20 03:41:46 +01:00
.gitea/workflows Update workflow files (#131) 2023-04-19 17:46:52 +08:00
internal Fix reporting log in `Reporter.Close` (#126) 2023-04-19 11:17:49 +08:00
.gitignore Refactor environment variables to configuration and registration (#90) 2023-04-02 22:41:48 +08:00
.golangci.yml chore: add .golangci config 2022-11-24 15:36:28 +08:00
.goreleaser.checksum.sh checksum and compress 2023-03-18 01:58:21 -04:00
.goreleaser.yaml Add signature for tag releases, upload to gitea releases itself (#116) 2023-04-13 16:49:50 +08:00
Dockerfile Run as a container (#8) including Docker-in-Docker. (#84) 2023-04-11 10:58:12 +08:00
LICENSE Add license 2022-11-24 15:36:16 +08:00
Makefile Add make docker (#115) 2023-04-13 04:17:08 +08:00
README.md Update 2023-04-20 03:41:46 +01:00
build.go Support cache (#25) 2023-02-28 23:39:30 +08:00
go.mod Update dependencies (#130) 2023-04-19 16:50:07 +08:00
go.sum Update dependencies (#130) 2023-04-19 16:50:07 +08:00
main.go Refactor to new framework (#98) 2023-04-04 21:32:04 +08:00
run.sh Run as a container (#8) including Docker-in-Docker. (#84) 2023-04-11 10:58:12 +08:00


Act runner

Act runner is a runner for Gitea based on Gitea fork of act.



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

Download pre-built binary

Visit https://dl.gitea.com/act_runner/ and download the right version for your platform.

Build from source

make build

Build a docker image

make docker



./act_runner register

And you will be asked to input:

  1. Gitea instance URL, like You should use your gitea instance ROOT_URL as the instance argument and you should not use localhost or as instance IP;
  2. Runner token, you can get it from;
  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/):
INFO Enter the runner token:
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, ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster,linux_arm:host):

INFO Registering runner, name=Test.local, instance=, 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 --token <my_runner_token> --no-interactive

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


./act_runner daemon


You can also configure the runner with a configuration file. The configuration file is a YAML file, you can generate a sample configuration file with ./act_runner generate-config.

./act_runner generate-config > config.yaml

You can specify the configuration file path with -c/--config argument.

./act_runner -c config.yaml register # register with config file
./act_runner -c config.yaml deamon # run with config file

Run a docker container

docker run -e GITEA_INSTANCE_URL= -e GITEA_RUNNER_REGISTRATION_TOKEN=<runner_token> -v /var/run/docker.sock:/var/run/docker.sock --name my_runner gitea/act_runner:nightly