telackey
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
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
sillyguodong
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
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
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
sillyguodong
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
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
ChristopherHX
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
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
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
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
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
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
3f676a742b
feat(register): add label format validation
2022-11-24 15:38:13 +08:00
Bo-Yi.Wu
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
45de6199d1
feat: parse register arguments and do register when non-interactive mode
2022-11-24 15:38:10 +08:00
Bo-Yi Wu
a13ed0c52e
feat(poller): support scheduler to fetch task and dispatch to worker
2022-11-24 15:38:07 +08:00
Lunny Xiao
5fc35faf17
Support bot site
2022-11-24 15:38:06 +08:00
fuxiaohei
bfcc6f56f3
feat(cli): make register interactive stages working
2022-11-24 15:38:05 +08:00
fuxiaohei
8f9d7506dc
feat(cli): set interactive stages in register command
2022-11-24 15:38:03 +08:00
fuxiaohei
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
d1114da299
chore(runner): wait workflow done before shutdown the service
2022-11-24 15:37:52 +08:00
Lunny Xiao
222b5100b6
add new envs
2022-11-24 15:37:48 +08:00
Bo-Yi.Wu
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
378966e45f
add forgeinstance
2022-11-24 15:37:40 +08:00
Lunny Xiao
9c7d2be7c6
Fix bug
2022-11-24 15:37:39 +08:00
Bo-Yi.Wu
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
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
d4c1515f4e
chore(runner): update runner status if start program
2022-11-24 15:37:32 +08:00
Bo-Yi.Wu
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
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
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
20c3d85ba9
refactor(task): execute single task with gRPC data
2022-11-24 15:37:19 +08:00
Bo-Yi.Wu
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
6030610c04
feat: task can report step and final result
2022-11-24 15:37:14 +08:00
Bo-Yi.Wu
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
a3e9bbed25
chore: Add makefile
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:09 +08:00
Gitea
c5edbbd004
feat: move main task logic to runtime package
2022-11-24 15:37:06 +08:00
Bo-Yi Wu
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
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
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
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
14a345504f
refactor: docker engine with options
2022-11-24 15:36:51 +08:00