telackey and Lunny Xiao
8eea12dd78
Add CLI flag for specifying the Docker image to use. ( #83 )
...
Since the `exec` command does not use labels from `.runner`, there is no existing way to specify which Docker image to use for task execution.
This adds an `--image` flag for specifying it manually. The default remains `node:16-bullseye`.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/83
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: telackey <telackey@noreply.gitea.io >
Co-committed-by: telackey <telackey@noreply.gitea.io >
2023-03-29 09:42:53 +08:00
Jason Song
c9e076db68
Get outbound IP in multiple ways or disable cache server if failed to init ( #74 )
...
Fix #64 (incompletely).
It's still not ideal. It makes more sense to use the gateway IP address of container network as outbound IP of cache server. However, this requires act to cooperate, some think like:
- act creates the network for new container, and returns the network to runner.
- runner extracts the gateway IP in the network.
- runner uses the gateway IP as outbound IP, and pass it to act as cache server endpoint.
- act It continues to create the container with the created network.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/74
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
2023-03-24 17:55:13 +08:00
Jason Song
90b8cc6a7a
Clarify labels ( #69 )
...
The label will follow the format `label[:schema[:args]]`, and the schema will be `host` if it's omitted. So
- `ubuntu:docker://node:18`: Run jobs with label `ubuntu` via docker with image `node:18`
- `ubuntu:host`: Run jobs with label `ubuntu` on the host directly.
- `ubuntu`: Same as `ubuntu:host`.
- `ubuntu:vm:ubuntu-latest`: (Just a example, not Implemented) Run jobs with label `ubuntu` via virtual machine with iso `ubuntu-latest`.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/69
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Reviewed-by: wxiaoguang <wxiaoguang@noreply.gitea.io >
2023-03-23 20:48:33 +08:00
Benjamin Loison and Jason Song
9f90cba993
Correct spaces in README.md and in Enter the runner name when running ./act_runner register ( #65 )
...
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/65
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Benjamin Loison <benjamin.loison@orange.fr >
Co-committed-by: Benjamin Loison <benjamin.loison@orange.fr >
2023-03-22 14:48:35 +08:00
Jason Song
4d868b7f3c
Update act to v0.243 ( #54 )
...
- Update act to v0.243.1
- Disable artifacts server when run daemon.
- Adjust cmd.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/54
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
2023-03-17 09:45:46 +08:00
0d71463662
Inject version when building and report version to Gitea via log and header ( #43 )
...
close #42
1. Inject runner version when `make build`
After building, executing command line: `./act_runner -v` or `./act_runner --version`, the version of runner is printed.

2. In `Actions` UI:

3. Set request header in http client interceptor.
Co-authored-by: sillyguodong <gedong_1994@163.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/43
Reviewed-by: delvh <dev.lh@web.de >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io >
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io >
2023-03-13 18:57:35 +08:00
a1012112796 and Lunny Xiao
14334f76ed
Add exec subcommand for runner so that we can run the tasks locally( #39 )
...
Most codes are copied from https://gitea.com/gitea/act/src/branch/main/cmd
and do some small changes to make it run again
examples:
```SHELL
./act_runner exec -l
./act_runner exec -j lint
./act_runner exec -j lint -n
```
some example result:


Signed-off-by: a1012112796 <1012112796@qq.com >
fix #32
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/39
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-committed-by: a1012112796 <1012112796@qq.com >
2023-03-08 10:55:31 +08:00
Jason Song and Lunny Xiao
436b441cad
Support cache ( #25 )
...
See [Caching dependencies to speed up workflows](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows ).
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/25
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-02-28 23:39:30 +08:00
552dbcdda9
Add copyright header and gitea-vet ( #29 )
...
Add copyright header
Co-authored-by: sillyguodong <gedong_1994@163.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/29
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io >
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io >
2023-02-28 18:44:46 +08:00
Lunny Xiao and Jason Song
f1869f70b9
Allow request an insecure gitea server ( #18 )
...
When deploy a Gitea server with a self-signed HTTPS certification. Runner will be failed when connect to Gitea server. This PR will fix that to allow ignore the HTTPS certification verification.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/18
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com >
2023-02-15 16:51:14 +08:00
990cf93c71
feat: don't require docker ( #16 )
...
The only reason docker is really required by now, is that act_runner ping docker.
This change only pings docker if a label with `docker://` is added to the runner.
Plain labels without `:` like `self-hosted` are run directly on the system. Previously the pseudo non docker label `-self-hosted` have been required like this `self-hosted:docker://-self-hosted`, but due to docker ping this still required a dockerd to be pingable.
Co-authored-by: Christopher Homberger <christopher.homberger@web.de >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/16
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-01-27 20:42:02 +08:00
Xinyu Zhou and Lunny Xiao
9ba9604256
fix(typo): Use uppercase N for default input prompt ( #9 )
...
Runner is already registered, overwrite local config? [y/N]
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/9
Reviewed-by: Jason Song <wolfogre@noreply.gitea.io >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Xinyu Zhou <i@sourcehut.net >
Co-committed-by: Xinyu Zhou <i@sourcehut.net >
2022-12-19 09:06:24 +08:00
Jason Song and Jason Song
6d2200b3d6
Rename to actions ( #7 )
...
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/7
2022-12-06 16:37:38 +08:00
Jason Song and Jason Song
0f97dd873a
Use default labels with no interactive register ( #5 )
...
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/5
2022-12-02 12:01:50 +08:00
Jason Song and 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](
https://github.com/wolfogre/gitea/blob/ae018b6b4864dfb5528df276755167be27b13148/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
Lunny Xiao
1ab84ac8e8
Fix duplicated log when register failed
2022-11-25 00:54:32 +08:00
Jason Song
2354f5bb18
feat: use specified labels
2022-11-24 15:38:21 +08:00
fuxiaohei and Jason Song
86f66eaa45
feat(register): add labels to local runner file
2022-11-24 15:38:18 +08:00
Jason Song
44988db9f8
chore: replace with code.gitea.io/bots-proto-go
2022-11-24 15:38:15 +08:00
fuxiaohei and Jason Song
3f676a742b
feat(register): add label format validation
2022-11-24 15:38:13 +08:00
Bo-Yi.Wu and Jason Song
e9e42e850b
chore(runner): remove update runner status
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:38:12 +08:00
fuxiaohei and Jason Song
45de6199d1
feat: parse register arguments and do register when non-interactive mode
2022-11-24 15:38:10 +08:00
Bo-Yi Wu and Jason Song
a13ed0c52e
feat(poller): support scheduler to fetch task and dispatch to worker
2022-11-24 15:38:07 +08:00
Lunny Xiao and Jason Song
5fc35faf17
Support bot site
2022-11-24 15:38:06 +08:00
fuxiaohei and Jason Song
bfcc6f56f3
feat(cli): make register interactive stages working
2022-11-24 15:38:05 +08:00
fuxiaohei and Jason Song
8f9d7506dc
feat(cli): set interactive stages in register command
2022-11-24 15:38:03 +08:00
fuxiaohei and Jason Song
561bfad7c5
feat(cli): add register command basic functions
2022-11-24 15:38:02 +08:00
Jason Song
88ae188699
fix: ignore stuck because of wrong token
2022-11-24 15:38:02 +08:00
Bo-Yi Wu and Jason Song
d1114da299
chore(runner): wait workflow done before shutdown the service
2022-11-24 15:37:52 +08:00
Lunny Xiao and Jason Song
222b5100b6
add new envs
2022-11-24 15:37:48 +08:00
Bo-Yi.Wu and Jason Song
d178051832
chore(runner): add new token in header
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:43 +08:00
Lunny Xiao and Jason Song
378966e45f
add forgeinstance
2022-11-24 15:37:40 +08:00
Lunny Xiao and Jason Song
9c7d2be7c6
Fix bug
2022-11-24 15:37:39 +08:00
Bo-Yi.Wu and Jason Song
e08495af09
chore(runner): remove client secret and add UUID in runner
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:38 +08:00
Bo-Yi.Wu and Jason Song
a503f7429f
chore(runner): add new register command
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:36 +08:00
Bo-Yi Wu and Jason Song
d4c1515f4e
chore(runner): update runner status if start program
2022-11-24 15:37:32 +08:00
Bo-Yi.Wu and Jason Song
3a1503138b
chore(runner): refactor register flow
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:24 +08:00
Bo-Yi.Wu and Jason Song
7486d2ab91
chore(runner): update fetch job request
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:22 +08:00
Bo-Yi.Wu and Jason Song
82431d8e11
chore(runner): support update log and task
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:21 +08:00
Bo-Yi.Wu and Jason Song
20c3d85ba9
refactor(task): execute single task with gRPC data
2022-11-24 15:37:19 +08:00
Bo-Yi.Wu and Jason Song
d3d56ed0ef
chore(runtime): fetch build data
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:17 +08:00
fuxiaohei and Jason Song
6030610c04
feat: task can report step and final result
2022-11-24 15:37:14 +08:00
Bo-Yi.Wu and Jason Song
449388f3ab
chore(gRPC): register new runner
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:10 +08:00
Bo-Yi.Wu and Jason Song
a3e9bbed25
chore: Add makefile
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:09 +08:00
Gitea and Jason Song
c5edbbd004
feat: move main task logic to runtime package
2022-11-24 15:37:06 +08:00
Bo-Yi Wu and Jason Song
7d55fd57c9
chore(piepline): add runtime package.
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:01 +08:00
Bo-Yi Wu and Jason Song
d359276fe1
chore(client): support gRPC and gRPC web protocol
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2022-11-24 15:36:57 +08:00
Bo-Yi Wu and Jason Song
0b885c5e5f
chore(poller): Add poller package
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2022-11-24 15:36:56 +08:00
Bo-Yi Wu and Jason Song
4d7ef95d40
chore(proto): Add ping request.
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2022-11-24 15:36:54 +08:00
Bo-Yi Wu and Jason Song
14a345504f
refactor: docker engine with options
2022-11-24 15:36:51 +08:00