b1ae30dda8
ephemeral act runner ( #649 )
...
Works for both interactive and non-interactive registration mode.
A further enhancement would be jitconfig support of the daemon command, because after some changes in Gitea Actions the registration token became reusable.
removing runner and fail seems not possible at the current api level
Part of https://github.com/go-gitea/gitea/pull/33570
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/649
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Christopher Homberger <christopher.homberger@web.de >
Co-committed-by: Christopher Homberger <christopher.homberger@web.de >
2025-03-13 21:57:44 +00:00
8bc0275e74
feat: add once flag to daemon command ( #19 ) ( #598 )
...
Once flag polls and completes one job then exits.
I use this with Windows Sandbox (and creating users with local brew install on Mac) to create a fresh environment every time.
Co-authored-by: Garet Halliday <garet@pit.dev >
Co-authored-by: Jason Song <wolfogre@noreply.gitea.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/598
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com >
Reviewed-by: Jason Song <wolfogre@noreply.gitea.com >
Co-authored-by: garet90 <garet90@noreply.gitea.com >
Co-committed-by: garet90 <garet90@noreply.gitea.com >
2024-11-06 17:16:08 +00:00
d1d3cad4b0
feat: allow graceful shutdowns ( #546 )
...
Add a `Shutdown(context.Context) error` method to the Poller. Calling this method will first shutdown all active polling, preventing any new jobs from spawning. It will then wait for either all jobs to finish, or for the context to be cancelled. If the context is cancelled, it will then force all jobs to end, and then exit.
Fixes https://gitea.com/gitea/act_runner/issues/107
Co-authored-by: Rowan Bohde <rowan.bohde@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/546
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: rowan-allspice <rowan-allspice@noreply.gitea.com >
Co-committed-by: rowan-allspice <rowan-allspice@noreply.gitea.com >
2024-05-27 07:38:55 +00:00
be2df361ef
Ensure declare to use new labels ( #530 )
...
Ensure "declare" is supported, to use new labels, see https://gitea.com/gitea/act_runner/pulls/529
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/530
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
2024-04-02 07:39:40 +00:00
23ec12b8cf
Bump act to v0.260.0 ( #522 )
...
Related to https://gitea.com/gitea/act/issues/99 .
Also update other main dependencies.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/522
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
2024-03-27 03:17:04 +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
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
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 >
2023-07-01 01:27:54 +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
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
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
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
220efa69c0
Refactor to new framework ( #98 )
...
- Adjust directory structure
```text
├── internal
│ ├── app
│ │ ├── artifactcache
│ │ ├── cmd
│ │ ├── poll
│ │ └── run
│ └── pkg
│ ├── client
│ ├── config
│ ├── envcheck
│ ├── labels
│ ├── report
│ └── ver
└── main.go
```
- New pkg `labels` to parse label
- New pkg `report` to report logs to Gitea
- Remove pkg `engine`, use `envcheck` to check if docker running.
- Rewrite `runtime` to `run`
- Rewrite `poller` to `poll`
- Simplify some code and remove what's useless.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/98
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-04-04 21:32:04 +08:00