10dc6fb60d
Allow reading registration token from file ( #350 )
...
When deploying the runner in a Docker Swarm setup, it can be useful to
read the potentially sensitive token from a secret instead of having to
pass it from an environment variable.
Co-authored-by: Frederik Ring <frederik.ring@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/350
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: m90 <m90@noreply.gitea.com >
Co-committed-by: m90 <m90@noreply.gitea.com >
2023-09-04 04:12:07 +00:00
ed35b09b8f
change podman socket path ( #341 )
...
port of https://github.com/nektos/act/pull/1961
closes gitea/act_runner#274
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/341
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: TheFox0x7 <thefox0x7@gmail.com >
Co-committed-by: TheFox0x7 <thefox0x7@gmail.com >
2023-08-21 04:01:12 +00:00
03f0829d09
Add ForcePull option ( #339 )
...
Close #271
What it does: instead of forcing the value of `ForcePull` to false, the user can now configure it on the runner yaml
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/339
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Gianni Angelozzi <gianni@sistema3.it >
Co-committed-by: Gianni Angelozzi <gianni@sistema3.it >
2023-08-17 06:51:57 +00:00
7fc1b91ba6
Update to go1.21 in Dockerfile.rootless ( #332 )
...
Follow #330
Fix https://gitea.com/gitea/act_runner/pulls/330#issuecomment-747099
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/332
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: appleboy <appleboy.tw@gmail.com >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-08-12 00:37:08 +00:00
82c3c2df1a
Upgrade Go to 1.21 and bump other dependencies ( #330 )
...
Co-authored-by: harryzcy <harry@harryzheng.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/330
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: harryzcy <harryzcy@noreply.gitea.com >
Co-committed-by: harryzcy <harryzcy@noreply.gitea.com >
2023-08-10 01:45:25 +00:00
9fc823e4b1
Fix "http: invalid Host header" issue ( #319 )
...
This issue is caused by the addition of validation logic for `Host` in `http.Request` in golang 1.20.6 (see https://go-review.googlesource.com/c/go/+/507357/6/src/net/http/request.go )
In `act`, when execute `ContainerExecAttach()`(see 22d91e3ac3/pkg/container/docker_run.go (L594)
), the actual value of `request.Host` is `"/var/run/docker.sock"`. This does not conform to the specification described in `validhostHeader`.
<details> <summary>ValidHostHeader()</summary>

</details>
So this PR follow upstream: https://github.com/nektos/act/pull/1917 and revert https://gitea.com/gitea/act_runner/pulls/295
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/319
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
v0.2.5
2023-08-02 04:34:36 +00:00
12999b61dd
Reduce unnecessary DB queries for Actions tasks ( #219 )
...
implement: https://github.com/go-gitea/gitea/issues/24544
Changes:
- Add a global variable `tasksVersion` to store the lastest version number which returned by Gitea.
- Pass `tasksVersion` to Gitea when invoking `FetchTask`.
- If there is no task in the `FetchTask` response, store the version from the `FetchTask` response into `tasksVersion` variable.
- If there is a task in the `FetchTask` response, set `tasksVersion` to zero to focre query db in next `FetchTask` request.
Related:
- Protocol: https://gitea.com/gitea/actions-proto-def/pulls/10
- Gitea side: https://github.com/go-gitea/gitea/pull/25199
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/219
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
v0.2.4
2023-07-25 03:25:50 +00:00
49a2fcc138
fix endless loop ( #306 )
...
fix endless loop in poll
relate #305
Co-authored-by: CaiCandong <1290147055@qq.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/306
Co-authored-by: caicandong <caicandong@noreply.gitea.com >
Co-committed-by: caicandong <caicandong@noreply.gitea.com >
2023-07-24 07:07:53 +00:00
8f88e4f15a
Update README.md ( #302 )
...
Correct Quick Start section.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/302
Co-authored-by: Konstantin Podsvirov <podsvirov@noreply.gitea.com >
Co-committed-by: Konstantin Podsvirov <podsvirov@noreply.gitea.com >
2023-07-24 05:11:42 +00:00
a1bb3b56fd
Catch the panic and print the error ( #305 )
...
refactor # 215 Catch the panic and print the error
close #215
Co-authored-by: CaiCandong <1290147055@qq.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/305
Co-authored-by: caicandong <caicandong@noreply.gitea.com >
Co-committed-by: caicandong <caicandong@noreply.gitea.com >
2023-07-24 04:28:44 +00:00
1a7ec5f339
Upgrade gitea/act ( #298 )
...
Follow https://gitea.com/gitea/act/pulls/75
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/298
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-07-20 05:12:59 +00:00
5d01cb8904
Add tips in config file ( #297 )
...
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/297
2023-07-20 02:16:30 +00:00
dcf84d8a53
Avoid https://github.com/nektos/act/issues/1908 by specifying golang 1.20.5. ( #295 )
...
Without this, actions fail when attempting to clone the repo:
```
2023-07-18 17:11:02 [Smoke Test/Run basic test suite] failed to attach to exec: http: invalid Host header
```
This appears to be the same as https://github.com/nektos/act/issues/1908 , and only shows up with golang 1.20.6. Staying with golang 1.20.5 is a temporary solution to avoid the bug until it is fixed upstream.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/295
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com >
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com >
2023-07-19 05:12:07 +00:00
73adae040d
Upgrade act ( #291 )
...
Follow https://gitea.com/gitea/act/pulls/74
Fix #277 , #290
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/291
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-07-17 03:44:42 +00:00
db662b3690
ci(lint): refactor code for clarity and linting compliance ( #289 )
...
- Removed `deadcode`, `structcheck`, and `varcheck` linters from `.golangci.yml`
- Fixed a typo in a comment in `daemon.go`
- Renamed `defaultActionsUrl` to `defaultActionsURL` in `exec.go`
- Removed unnecessary else clause in `exec.go` and `runner.go`
- Simplified variable initialization in `exec.go`
- Changed function name from `getHttpClient` to `getHTTPClient` in `http.go`
- Removed unnecessary else clause in `labels_test.go`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/289
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2023-07-13 01:10:54 +00:00
cf92a979e2
refactor(register): refactor registration functions and improve logging ( #288 )
...
- Remove the else clause in the `registerInteractive` function, and unconditionally log "Runner registered successfully."
- Change the return value in the `doRegister` function from `nil` to `ctx.Err()`.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/288
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2023-07-12 14:12:16 +00:00
87058716fb
fix(register): refactor context usage in registration functions ( #286 )
...
- Add context parameter to `registerNoInteractive`, `registerInteractive`, and `doRegister` functions
- Remove the creation of a new context in `doRegister`, now using the passed context instead
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/286
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2023-07-12 13:11:55 +00:00
c701ba4787
Add a quick start runner method in README ( #282 )
...
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/282
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com >
2023-07-12 01:43:26 +00:00
57ff1df6e0
config: default container workspace set to host path ( #279 )
...
The container workspace path is overwritten by the default host workspace path ($HOME/.cache/act).
Workaround:
```yaml
host:
workdir_parent: workspace
```
Ref: 34d15f21c2
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/279
Co-authored-by: Michael Santos <michael.santos@gmail.com >
Co-committed-by: Michael Santos <michael.santos@gmail.com >
2023-07-10 08:57:55 +00:00
3dcfd6ea3d
Run as cache server ( #275 )
...
This PR
- adds the `cache-server` command so act_runner can run as a cache server. When running as a cache server, act_runner only processes the requests related to cache and does not run jobs.
- adds the `external_server` configuration for cache. If specified, act_runner will use this URL as the ACTIONS_CACHE_URL instead of starting a cache server itself.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/275
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-07-07 08:28:54 +00:00
c6006ee699
Upgrade act ( #269 )
...
Follow https://gitea.com/gitea/act/pulls/71 .
Fix https://gitea.com/gitea/act_runner/issues/266
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/269
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
v0.2.3
2023-07-03 04:15:46 +00:00
f2629f2ea3
Add support for finding docker daemon from common socket paths ( #263 )
...
Caused by #260
act_runner will fail to start if user does not set `docker_host` configuration and `DOCKER_HOST` env. This PR adds the support for finding docker daemon from common socket paths so act_runner could detect the docker socket from these paths.
The `commonSocketPaths` is from [nektos/act](e60018a6d9/cmd/root.go (L124-L131)
)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/263
Co-authored-by: Zettat123 <zettat123@noreply.gitea.com >
Co-committed-by: Zettat123 <zettat123@noreply.gitea.com >
v0.2.2
2023-07-01 01:27:54 +00:00
cf48ed88ba
Revert supporting multiple default actions URLs and use github for exec by default ( #262 )
...
## ⚠️ BREAKING ⚠️
Follow https://github.com/go-gitea/gitea/pull/25581 and gitea/act#70 .
- Revert "Parse multiple default actions URLs (#200 )"
- Revert "fix defaultActionsUrls config for exec (#233 )"
- Use `https://github.com ` for exec by default.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/262
v0.2.1
2023-06-30 07:53:18 +00:00
ccc27329dc
Improve the usage of docker_host
configuration ( #260 )
...
Follow #242 , #244
Fixes #258
Users could use `docker_host` configuration to specify which docker daemon will be used by act_runner.
- If `docker_host` is **empty**, act_runner will find an available docker host automatically.
- If `docker_host` is **"-"**, act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
- If `docker_host` is **not empty or "-"**, the specified docker host will be used. An error will be returned if it doesn't work.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/260
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-30 04:00:04 +00:00
b0bd503b11
add token support for exec ( #247 )
...
allow to pass token from secrets
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/247
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Tomasz Duda <tomaszduda23@gmail.com >
Co-committed-by: Tomasz Duda <tomaszduda23@gmail.com >
2023-06-20 08:41:22 +00:00
8c14933e70
Upgrade act ( #248 )
...
Follow https://gitea.com/gitea/act/pulls/68
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/248
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-20 08:33:42 +00:00
34d15f21c2
Add option to configure workspace on host ( #238 )
...
Adds a new section to the configuration which is used
to control options when running in host mode.
The first option added is to allow configuration
of the location workspaces get created in.
Depends on ~~gitea/act#65~~
Will resolve #235
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/238
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Marius Zwicker <marius.zwicker@mlba-team.de >
Co-committed-by: Marius Zwicker <marius.zwicker@mlba-team.de >
2023-06-20 08:29:05 +00:00
32d29f0813
add ACT_EXEC ( #246 )
...
Add env variable to distinguish build run locally from remote one.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/246
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Tomasz Duda <tomaszduda23@gmail.com >
Co-committed-by: Tomasz Duda <tomaszduda23@gmail.com >
2023-06-20 02:08:35 +00:00
2e2c0400c8
add --gitea-instance ( #245 )
...
add --gitea-instance to let user specify address of endpoint of exec
Related to https://gitea.com/gitea/act/pulls/68 . Both can be merged independently though.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/245
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Tomasz Duda <tomaszduda23@gmail.com >
Co-committed-by: Tomasz Duda <tomaszduda23@gmail.com >
2023-06-20 01:57:21 +00:00
054c8d912f
Move docker.host
to container.docker_host
( #244 )
...
Follow #242 .
Move `docker.host` to `container.docker_host`.
There are already some options for docker/container in `container`, so developers could get confused about where to add options.
It's breaking, but I think it's OK since `docker.host` was added just two days ago.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/244
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
2023-06-19 09:01:16 +00:00
9e4a5f7363
feat: improve Docker configuration and detection handling ( #242 )
...
- Pass `cfg` to `envcheck.CheckIfDockerRunning` function
- Add `Docker` struct to `config.go` for Docker configuration
- Update `config.example.yaml` with `docker` configuration options
- Modify `CheckIfDockerRunning` in `docker.go` to use Docker host from config if provided
Signed-off-by: appleboy <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/242
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: wxiaoguang <wxiaoguang@noreply.gitea.com >
Co-authored-by: appleboy <appleboy.tw@gmail.com >
Co-committed-by: appleboy <appleboy.tw@gmail.com >
2023-06-18 05:38:38 +00:00
ec38401097
Add ValidVolumes
config ( #226 )
...
Follow https://gitea.com/gitea/act/pulls/60 , https://gitea.com/gitea/act/pulls/64
This PR adds the `valid_volumes` configuration. `valid_volumes` is a sequence containing the volumes (including bind mounts) that can be mounted to the container. By default, `valid_volumes` is empty, which means that no volumes can be mounted. Users can specify multiple valid volumes and [glob](https://github.com/gobwas/glob ) is supported.
All volumes will be allowed when using `exec` to run workflows locally.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/226
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-16 06:07:48 +00:00
45bfe0a9b2
Accept empty file as config ( #241 )
...
Close #240
`yaml.Decoder.Decode` will return EOF when the root node is nil , see https://github.com/go-yaml/yaml/blob/v3/yaml.go#L125
While `yaml.Unmarshal` will accept it, see https://github.com/go-yaml/yaml/blob/v3/yaml.go#L162
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/241
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
v0.2.0
2023-06-15 05:40:37 +00:00
316534996a
Build docker image gitea/act_runner/x.y.z-dind-rootless
( #239 )
...
Follow #208
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/239
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
2023-06-15 05:27:35 +00:00
67b1363d25
Support changing labels ( #201 )
...
Implement proposal: https://github.com/go-gitea/gitea/issues/24540
Related:
- Protocol: https://gitea.com/gitea/actions-proto-def/pulls/9
- Gitea side: https://github.com/go-gitea/gitea/pull/24806
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/201
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-06-15 03:59:15 +00:00
946c41cf4f
Improve run.sh
to handle empty labels and log to stdout ( #237 )
...
1. Print logs on standard output
2. Don't add labels if GITEA_RUNNER_LABELS not set
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/237
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Tomasz Duda <tomaszduda23@gmail.com >
Co-committed-by: Tomasz Duda <tomaszduda23@gmail.com >
2023-06-13 04:09:11 +00:00
341d49a24d
implement act_runner rootless image ( #208 )
...
This PR creates a rootless Docker image that runs both `dockerd` and `act_runner` using `supervisord`. It has been tested locally for a few days and seems stable.
Co-authored-by: ccureau <ccureau@noreply.gitea.io >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/208
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: ccureau <ccureau@noreply.gitea.com >
Co-committed-by: ccureau <ccureau@noreply.gitea.com >
2023-06-12 06:35:27 +00:00
b21d476aca
Exit with Code 1 if registering a runner fails ( #228 )
...
### It's a "simple dirty fix" and I don't have any experiences with Go, so if this doesn't match your coding compliance, please adjust the code as needed
I'm using bash scripts to register a token
`./act_runner/act_runner register --no-interactive --name runner$number --instance http://localhost:3000 --token $token`
But when a token is invalid, the command still returns 0, which is not practical for automation.
A simple non-zero return would be more convenient for power users and developers.
Co-authored-by: Markus Löffler <markus.loeffler@netcare.de >
Co-authored-by: techknowlogick <techknowlogick@noreply.gitea.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/228
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com >
Co-authored-by: MarkusLoeffler01 <markusloeffler01@noreply.gitea.com >
Co-committed-by: MarkusLoeffler01 <markusloeffler01@noreply.gitea.com >
2023-06-09 17:34:23 +00:00
a29307a9d9
Remove hadolint and improve Dockerfile ( #234 )
...
Replace #190
See:
- https://gitea.com/gitea/act_runner/pulls/190#issuecomment-741196
- https://gitea.com/gitea/act_runner/pulls/208#issuecomment-741049
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/234
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: silverwind <silverwind@noreply.gitea.com >
Reviewed-by: delvh <dev.lh@web.de >
2023-06-09 02:50:30 +00:00
4bfbfec477
fix defaultActionsUrls config for exec ( #233 )
...
follow #200
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/233
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-06-08 04:26:52 +00:00
fed01c9807
Parse multiple default actions URLs ( #200 )
...
Follow https://gitea.com/gitea/act/pulls/58
Resolve https://github.com/go-gitea/gitea/issues/24789
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/200
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-06 04:03:02 +00:00
a83f29d5a9
docs: improve examples README and organization ( #230 )
...
- Update the introduction and descriptions in the examples README
- Add a table with descriptions for each section (docker, docker-compose, kubernetes, vm)
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/230
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2023-06-06 02:42:58 +00:00
69c55ee003
refactor: daemon, config, and logging for better clarity ( #225 )
...
- Import "path", "runtime", "strconv", and "strings" packages in daemon.go
- Move "Starting runner daemon" log message to a different location
- Refactor log formatter initialization and add debug level caller information
- Split Config struct into separate Log, Runner, Cache, and Container structs with comments in config.go
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/225
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com >
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com >
2023-06-05 13:11:23 +00:00
01ef57c667
fix artifactServerPath
and artifactServerAddr
config for exec ( #221 )
...
fix exec logic to make `actions/download-artifact` and `actions/upload-artifact` can be used.
example result:
```YML
name: test-artifact
on:
- push
- pull_request
jobs:
test-artifact-1:
name: test 1
runs-on: ubuntu-latest
steps:
- run: echo `date` | tee time.txt
- name: cache build result
uses: actions/upload-artifact@v3
with:
name: build-artifact
path: time.txt
retention-days: 1
test-artifact-2:
name: test 2
needs: test-artifact-1
runs-on: ubuntu-latest
steps:
- name: Retrieve saved build result
uses: actions/download-artifact@v3
with:
name: build-artifact
path: .
- run: ls -lh
- run: cat time.txt
```

Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/221
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-committed-by: a1012112796 <1012112796@qq.com >
2023-06-05 08:51:44 +00:00
a384adbbc6
Documentation enhancements ( #207 )
...
This PR addresses the issue listed in issue #170 regarding how to set up rootless Docker. It also expands on the documentation to show how to create deployments for different environments.
Co-authored-by: ccureau <ccureau@noreply.gitea.io >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/207
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Chris Cureau <cmcureau@gmail.com >
Co-committed-by: Chris Cureau <cmcureau@gmail.com >
2023-06-05 08:46:15 +00:00
e3271d8469
Remove trailing slash from instance address ( #197 )
...
Related #136
Co-authored-by: harryzcy <harry@harryzheng.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/197
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: harryzcy <harryzcy@noreply.gitea.io >
Co-committed-by: harryzcy <harryzcy@noreply.gitea.io >
2023-05-22 23:50:29 +08:00
84386c1b16
Add exec command flag of network
( #192 )
...
Related to #184
Add command flag of `network` for `exec`, the default value of `--network` is empty string. Valid values are: `host `, `bridge`, `<custom_network>` and empty string.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/192
Reviewed-by: a1012112796 <1012112796@qq.com >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-05-18 15:01:43 +08:00
fd7c8580af
Prevent exposing GITEA_RUNNER_REGISTRATION_TOKEN to act ( #188 )
...
You can currently expose the token to jobs even while using docker in docker
`-e GITEA_RUNNER_REGISTRATION_TOKEN` tells the docker client of act to read GITEA_RUNNER_REGISTRATION_TOKEN from the process and now it can be stolen.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/188
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: ChristopherHX <christopherhx@noreply.gitea.io >
Co-committed-by: ChristopherHX <christopherhx@noreply.gitea.io >
2023-05-17 14:13:38 +08:00
35596a182b
Add configuration item of container.network
( #184 )
...
Close https://gitea.com/gitea/act_runner/issues/177
Related https://gitea.com/gitea/act/pulls/56
### ⚠️ Breaking
The `container.network_mode` is a deprecated configuration item. It may be removed after Gitea 1.20 released.
Previously, if the value of `container.network_mode` is `bridge`, it means that `act_runner` will create a new network for job.But `bridge` is easily confused with the bridge network created by Docker by default.
We recommand that using `container.network` to specify the network to which containers created by `act_runner` connect.
### 🆕 container.network
The configuration file of `act_runner` add a new item of `contianer.network`.
In `config.example.yaml`:
```yaml
container:
# Specifies the network to which the container will connect.
# Could be host, bridge or the name of a custom network.
# If it's empty, act_runner will create a network automatically.
network: ""
```
As the comment in the example above says, the purpose of the `container.network` is specifying the network to which containers created by `act_runner` will connect.
`container.network` accepts the following valid values:
- `host`: All of containers (including job containers and service contianers) created by `act_runner` will be connected to the network named `host` which is created automatically by Docker. Containers will share the host’s network stack and all interfaces from the host will be available to these containers.
- `bridge`: It is similar to `host`. All of containers created by `act_runner` will be connected to the network named `bridge` which is created automatically by Docker. All containers connected to the `bridge` (Perhaps there are containers that are not created by `act_runner`) are allowed to communicate with each other, while providing isolation from containers which are not connected to that `bridge` network.
- `<custom_network>`: Please make sure that the `<custom_network>` network already exists firstly (`act_runner` does not detect whether the specified network exists currently. If not exists yet, will return error in the stage of `docker create`). All of containers created by `act_runner` will be connected to `<custom_network>`. After the job is executed, containers are removed and automatically disconnected from the `<custom_network>`.
- empty: `act_runner` will create a new network for each job container and their service containers (if defined in workflow). So each job container and their service containers share a network environment, but are isolated from others container and the Docker host. Of course, these networks created by `act_runner` will be removed at last.
### Others
- If you do not have special needs, we highly recommend that setting `container.network` to empty string (and do not use `container.network_mode` any more). Because the containers created by `act_runner` will connect to the networks that are created by itself. This point will provide better isolation.
- If you set `contianer.network` to empty string or `<custom_network>`, we can be access to service containers by `<service-id>:<port>` in the steps of job. Because we added an alias to the service container when connecting to the network.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/184
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-05-16 14:46:59 +08:00
c9d3f67264
Add .editorconfig and .gitattributes ( #186 )
...
Add some files that belong in every repo.
- `.editorconfig` is based on `gitea` repo.
- `.gitattributes` is useful for Windows users.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/186
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: delvh <dev.lh@web.de >
Co-authored-by: silverwind <me@silverwind.io >
Co-committed-by: silverwind <me@silverwind.io >
2023-05-13 23:51:22 +08:00