Commit Graph

107 Commits (a3b0a48d4f4971bf91cdd66f80a8f5e2c0f93038)

Author SHA1 Message Date
Renovate Bot c97e4d1fe3
Update module code.forgejo.org/forgejo/act to v1.22.0 2024-11-12 00:08:54 +00:00
Renovate Bot 4a57d4acf9
Update module golang.org/x/time to v0.8.0 2024-11-08 07:54:54 +00:00
Renovate Bot 9510276a99
Update module golang.org/x/term to v0.26.0 2024-11-08 00:05:20 +00:00
Renovate Bot 0658d72b3f
Update dependency go to v1.23.3 2024-11-06 23:35:14 +00:00
Renovate Bot 45fe0a6c66
Update module code.forgejo.org/forgejo/act to v1.21.5 2024-11-01 00:07:20 +00:00
Renovate Bot 5a4387dd00
Update module code.forgejo.org/forgejo/act to v1.21.4 2024-10-20 00:00:48 +00:00
Renovate Bot 95ef0da021
Update module golang.org/x/time to v0.7.0 2024-10-08 04:31:39 +00:00
Renovate Bot 722c109681
Update module google.golang.org/protobuf to v1.35.1 2024-10-08 00:01:47 +00:00
Renovate Bot 38e884d973
Update module golang.org/x/term to v0.25.0 2024-10-05 00:00:52 +00:00
Renovate Bot 54b9c53136
Update dependency go to v1.23.2 2024-10-01 17:30:57 +00:00
Renovate Bot a616fd2a37
Update module connectrpc.com/connect to v1.17.0 2024-09-21 00:01:34 +00:00
earl-warren a05194faa1 Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.21.3' (#271) from earl-warren/runner:wip-act-update into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/271
2024-09-16 03:38:02 +00:00
Earl Warren 3b185b53cd
Update module code.forgejo.org/forgejo/act to v1.21.3 2024-09-15 22:23:40 +02:00
Renovate Bot 98b5a0cbe1
Update dependency go to v1.23.1 2024-09-05 16:01:23 +00:00
Renovate Bot 5066986c6d
Update module golang.org/x/term to v0.24.0 2024-09-05 00:01:52 +00:00
Renovate Bot 3963dfc6f7
Update module code.forgejo.org/forgejo/act to v1.21 2024-08-23 18:22:53 +02:00
Renovate Bot 93a8d7deae
Update module google.golang.org/protobuf to v1.34.2 2024-08-14 21:01:41 +00:00
Renovate Bot 6aa29e3d44
Update module golang.org/x/time to v0.6.0 2024-08-14 19:16:07 +02:00
Renovate Bot 74d47a30a7
Update module golang.org/x/term to v0.23.0 2024-08-14 19:16:07 +02:00
Renovate Bot cf47f003fa
Update module github.com/spf13/cobra to v1.8.1 2024-08-14 19:03:15 +02:00
Renovate Bot 7d67347fe8
Update module github.com/google/uuid to v1.6.0 2024-08-14 19:02:08 +02:00
Renovate Bot c0fc09ced9
Update module github.com/avast/retry-go/v4 to v4.6.0 2024-08-14 19:02:05 +02:00
Renovate Bot e829f9c71c
chore(deps): update module code.gitea.io/gitea-vet to v0.2.3 2024-08-12 10:01:44 +00:00
Mike Rochefort 93bced9c7b chore: bump actions-proto-go to v0.4.0
bufbuild/connect-go was archived with maintenance transferred to the
ConnectRPC organization. Gitea's protobuf library for actions now uses
the ConnectRPC dependency as of v0.4.0, removing the need to continue
using the dead package.
2024-07-31 01:20:20 -04:00
Earl Warren 9b504f7b47
upgrade to ACT v1.20.1
Fixes: https://code.forgejo.org/forgejo/runner/issues/165
2024-03-24 13:02:18 +01:00
Earl Warren 2359531a9e
upgrade to act v1.20.0 2024-03-11 21:42:34 +07:00
Earl Warren 45c67b92f6
upgrade to act v1.19.0 2023-12-02 18:02:29 +01:00
Earl Warren e38ba5e7db
upgrade to act v1.18.0 2023-12-02 00:11:19 +01:00
s3lph 863fb9c760 chore: update forgejo/act to v1.17.0 2023-11-15 00:36:40 +01:00
Earl Warren 346c7af6a9
upgrade to act v1.16.0 2023-11-11 12:17:41 +01:00
Earl Warren 63f4a6f746
upgrade to act v1.15.0 2023-11-10 22:42:23 +01:00
Earl Warren cca6cc9bea
[FORGEJO] upgrade to act v1.14.0 2023-11-09 13:06:41 +01:00
Earl Warren f0dc5e90a0
[FORGEJO] upgrade to act v1.13.0 2023-11-07 20:19:08 +01:00
Earl Warren eea67757f2
upgrade to act v1.12.0 2023-11-05 18:30:42 +01:00
Earl Warren bbc80cb926
upgrade to act v1.11.0 2023-10-04 16:00:22 +02:00
Earl Warren 1967cae29b
[FORGEJO] get the desired ACT version 2023-08-23 16:31:10 +02:00
Earl Warren 5a1ea04ce8
[FORGEJO] add the create-runner-file 2023-08-23 16:03:12 +02:00
harryzcy 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
sillyguodong 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>

![image](/attachments/57fb13ba-1c74-47f6-ac48-231a72a1947e)
</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>
2023-08-02 04:34:36 +00:00
sillyguodong 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>
2023-07-25 03:25:50 +00:00
sillyguodong 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
Zettat123 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
Zettat123 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>
2023-07-03 04:15:46 +00:00
Jason Song 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
2023-06-30 07:53:18 +00:00
Zettat123 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
Zettat123 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
sillyguodong 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
Zettat123 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
sillyguodong 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
Jason Song de4160b023 Skip counting log length when parseLogRow return nil (#176)
Fix:
![image](/attachments/93e29bc0-3599-4f7e-8b90-512562a5d711)

Regression of #149, `LogLength` could be incorrect.

It may be related to https://github.com/go-gitea/gitea/issues/24458

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/176
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io>
Reviewed-by: wxiaoguang <wxiaoguang@noreply.gitea.io>
2023-05-06 17:00:52 +08:00