Go to file
Jason Song 8996b9b0e4 Disable HTTP/2 (#4)
We use [connect-go](https://github.com/bufbuild/connect-go) instead of [grpc-go](https://github.com/grpc/grpc-go) because connect-go support HTTP/1.1, that means we can mount the gRPC api on the Gitea server without change the protocol.

So it doesn't make sense that make the runner support both HTTP/1.1 and HTTP/2, and [upgrade the protocol used on Gitea](
ae018b6b48/modules/graceful/server_http.go (L23)) to support HTTP/2 and h2c. Although it works right now, I believe there'll be lots of problems when the Gitea server is behind a reverse proxy.

So let's KISS, we don't touch the http protocol of Gitea, and disable HTTP/2 for runner. And we would support HTTP/2 in the future if we really need it.

Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/4
2022-11-29 10:35:59 +08:00
.gitea/workflows Add websocket 2022-11-24 15:36:19 +08:00
client Disable HTTP/2 (#4) 2022-11-29 10:35:59 +08:00
cmd Disable HTTP/2 (#4) 2022-11-29 10:35:59 +08:00
config Disable HTTP/2 (#4) 2022-11-29 10:35:59 +08:00
core feat(register): add labels to local runner file 2022-11-24 15:38:18 +08:00
engine feat: move main task logic to runtime package 2022-11-24 15:37:06 +08:00
poller feat: use specified labels 2022-11-24 15:38:21 +08:00
register feat: use specified labels 2022-11-24 15:38:21 +08:00
runtime fix: update container config 2022-11-24 15:38:22 +08:00
.gitignore chore(runner): remove client secret and add UUID in runner 2022-11-24 15:37:38 +08:00
.golangci.yml chore: add .golangci config 2022-11-24 15:36:28 +08:00
LICENSE Add license 2022-11-24 15:36:16 +08:00
Makefile chore: Add makefile 2022-11-24 15:37:09 +08:00
README.md Update README about register 2022-11-25 00:40:00 +08:00
go.mod Disable HTTP/2 (#4) 2022-11-29 10:35:59 +08:00
go.sum Disable HTTP/2 (#4) 2022-11-29 10:35:59 +08:00
main.go refactor: Add graceful shutdown signal notify func 2022-11-24 15:36:25 +08:00

README.md

act runner

Act runner is a runner for Gitea based on act.

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, 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