Zettat123 and Jason Song
a165e17878
Add support for glob syntax when checking volumes ( #64 )
...
Follow #60
Reviewed-on: https://gitea.com/gitea/act/pulls/64
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-06-16 05:24:01 +00:00
Zettat123 and Jason Song
56e103b4ba
Fix the missing URL when using remote reusable workflow ( #67 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/67
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-06-16 05:12:43 +00:00
Zettat123 and Jason Song
92b4d73376
Check volumes ( #60 )
...
This PR adds a `ValidVolumes` config. Users can specify the volumes (including bind mounts) that can be mounted to containers by this config.
Options related to volumes:
- [jobs.<job_id>.container.volumes](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes )
- [jobs.<job_id>.services.<service_id>.volumes](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservicesservice_idvolumes )
In addition, volumes specified by `options` will also be checked.
Currently, the following default volumes (see https://gitea.com/gitea/act/src/commit/a72822b3f83d3e68ffc697101b713b7badf57e2f/pkg/runner/run_context.go#L116-L166 ) will be added to `ValidVolumes`:
- `act-toolcache`
- `<container-name>` and `<container-name>-env`
- `/var/run/docker.sock` (We need to add a new configuration to control whether the docker daemon can be mounted)
Co-authored-by: Jason Song <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/60
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-06-05 09:21:59 +00:00
183bb7af1b
Support for multiple default URLs for getting actions ( #58 )
...
Partially resolve https://github.com/go-gitea/gitea/issues/24789 .
`act_runner` needs to be improved to parse `gitea_default_actions_url` after this PR merged (https://gitea.com/gitea/act_runner/pulls/200 )
Co-authored-by: Lunny Xiao <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/58
Reviewed-by: Lunny Xiao <[email protected] >
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-06-05 09:07:17 +00:00
Zettat123 and Jason Song
27846050ae
Force privileged to false when runner's config is false ( #57 )
...
The runner's `privileged` config can be bypassed. Currently, even if the runner's `privileged` config is false, users can still enable the privileged mode by using `--privileged` in the container's option string. Therefore, if runner's config is false, the `--privileged` in options string should be ignored.
Reviewed-on: https://gitea.com/gitea/act/pulls/57
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-05-16 11:21:18 +08:00
Zettat123 and Jason Song
ed9b6643ca
Do not set the default network to host ( #55 )
...
In [nektos/act/pull/1739](https://github.com/nektos/act/pull/1739 ), the container network mode defaults to `host` if the network option isn't specified in `options`. When calling `ConnectToNetwork`, the `host` network mode may cause the error:
`Error response from daemon: container sharing network namespace with another container or host cannot be connected to any other network`
see the code: https://gitea.com/gitea/act/src/commit/a94a01bff2576fcf9fefaf879ea09c11e383cdab/pkg/container/docker_run.go#L51-L68
To avoid the error, this logic needs to be removed to keep the default network mode as `bridge`.
Reviewed-on: https://gitea.com/gitea/act/pulls/55
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-05-09 16:41:31 +08:00
a18648ee73
Support services credentials ( #51 )
...
If a service's image is from a container registry requires authentication, `act_runner` will need `credentials` to pull the image, see [documentation](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservicesservice_idcredentials ).
Currently, `act_runner` incorrectly uses the `credentials` of `containers` to pull services' images and the `credentials` of services won't be used, see the related code: https://gitea.com/gitea/act/src/commit/0c1f2edb996a87ee17dcf3cfa7259c04be02abd7/pkg/runner/run_context.go#L228-L269
Co-authored-by: Jason Song <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/51
Reviewed-by: Jason Song <[email protected] >
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-25 14:45:39 +08:00
Zettat123 and GitHub
baf3bcf48b
avoid using log.Fatal ( #1759 )
2023-04-25 02:09:54 +00:00
Zettat123 and Jason Song
0c1f2edb99
Support specifying command for services ( #50 )
...
This PR is to support overwriting the default `CMD` command of `services` containers.
This is a Gitea specific feature and GitHub Actions doesn't support this syntax.
Reviewed-on: https://gitea.com/gitea/act/pulls/50
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-23 14:55:17 +08:00
Zettat123 and Jason Song
721857e4a0
Remove empty steps when decoding Job ( #49 )
...
Follow #48
Empty steps are invalid, so remove them when decoding `Job` from YAML.
Reviewed-on: https://gitea.com/gitea/act/pulls/49
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-21 20:21:15 +08:00
Zettat123 and Jason Song
6b1010ad07
Fix potential panic caused by nil Step ( #48 )
...
```yml
jobs:
job1:
steps:
- run: echo HelloWorld
- # empty step
```
If a job contains an empty step, `Job.Steps` will have a nil element and will cause panic when calling `Step.String()`.
See [the code of gitea](https://github.com/go-gitea/gitea/blob/948a9ee5e83586354461e2a0e5cdf00e0513e89d/models/actions/task.go#L300-L301 )
Reviewed-on: https://gitea.com/gitea/act/pulls/48
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-21 14:45:38 +08:00
Zettat123 and Lunny Xiao
e12252a43a
Support intepolation for env of services ( #47 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/47
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-20 16:24:31 +08:00
Zettat123 and Lunny Xiao
8609522aa4
Support services options ( #45 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/45
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-19 21:53:57 +08:00
Zettat123 and Jason Song
6a876c4f99
Add go build tag to docker_network.go ( #44 )
...
Fix the build failure in https://gitea.com/gitea/act_runner/actions/runs/278/jobs/0
Reviewed-on: https://gitea.com/gitea/act/pulls/44
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-19 16:19:38 +08:00
d3a56cdb69
Support services ( #42 )
...
Replace #5
Co-authored-by: Lunny Xiao <[email protected] >
Co-authored-by: Jason Song <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/42
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-19 11:23:28 +08:00
Zettat123 and Jason Song
ac1ba34518
Fix incorrect job result status ( #40 )
...
Fix [#24039(GitHub)](https://github.com/go-gitea/gitea/issues/24039 )
At present, if a job fails in the `Set up job`, the result status of the job will still be `success`. The reason is that the `pre` steps don't call `SetJobError`, so the `jobError` will be nil when `post` steps setting the job result. See https://gitea.com/gitea/act/src/commit/5c4a96bcb797c7d013b878f1a3ceb74f9a834c64/pkg/runner/job_executor.go#L99
Reviewed-on: https://gitea.com/gitea/act/pulls/40
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-14 15:42:03 +08:00
Zettat123 and Jason Song
62abf4fe11
Add token for getting reusable workflows from local private repos ( #38 )
...
Partially fixes https://gitea.com/gitea/act_runner/issues/91
If the repository is private, we need to provide the token to the caller workflows to access the called reusable workflows from the same repository.
Reviewed-on: https://gitea.com/gitea/act/pulls/38
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-06 14:16:20 +08:00
Zettat123 and Lunny Xiao
cfedc518ca
Add With field to jobparser.Job ( #37 )
...
Partially Fixes [gitea/act_runner#91 comment](https://gitea.com/gitea/act_runner/issues/91#issuecomment-734544 )
nektos/act has added `With` to support reusable workflows (see [code](https://github.com/nektos/act/blob/68c72b9a51f4fa586af62619f9e6361e023a5d48/pkg/model/workflow.go#L160 ))
GitHub actions also support [`jobs.<job_id>.with`](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idwith )
Reviewed-on: https://gitea.com/gitea/act/pulls/37
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-04-04 10:59:53 +08:00
Zettat123 and Jason Song
5e76853b55
Support reusable workflow ( #34 )
...
Fix https://gitea.com/gitea/act_runner/issues/80
Fix https://gitea.com/gitea/act_runner/issues/85
To support reusable workflows, I made some improvements:
- read `yml` files from both `.gitea/workflows` and `.github/workflows`
- clone repository for local reusable workflows because the runner doesn't have the code in its local directory
- fix the incorrect clone url like `https://https://gitea.com `
Co-authored-by: Jason Song <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/34
Reviewed-by: Jason Song <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-03-29 13:59:22 +08:00
3daf313205
chore(yaml): Improve ParseRawOn ( #28 )
...
See [act_runner #71 comment](https://gitea.com/gitea/act_runner/issues/71#issuecomment-733806 ), we need to handle `nil interface{}` in `ParseRawOn` function
Co-authored-by: Lunny Xiao <[email protected] >
Reviewed-on: https://gitea.com/gitea/act/pulls/28
Reviewed-by: Lunny Xiao <[email protected] >
Reviewed-by: appleboy <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-03-25 12:13:50 +08:00
Zettat123 and Lunny Xiao
f6a8a0e643
Add extra path env for running go actions ( #26 )
...
At present, the runner can't run go actions even if the go environment has been set by the `setup-go` action. The reason is that `setup-go` will add the go related paths to [`GITHUB_PATH`](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path ) but in #22 I forgot to apply them before running go actions. After adding the `ApplyExtraPath` function, the `setup-go` action runs properly.
Reviewed-on: https://gitea.com/gitea/act/pulls/26
Reviewed-by: Jason Song <[email protected] >
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-03-21 15:31:30 +08:00
Zettat123 and Lunny Xiao
a36b003f7a
Improve running with go ( #22 )
...
Close #21
I have tested this PR and run Go actions successfully on:
- Windows host
- Docker on Windows
- Linux host
- Docker on Linux
Before running Go actions, we need to make sure that Go has been installed on the host or the Docker image.
Reviewed-on: https://gitea.com/gitea/act/pulls/22
Reviewed-by: Lunny Xiao <[email protected] >
Co-authored-by: Zettat123 <[email protected] >
Co-committed-by: Zettat123 <[email protected] >
2023-03-14 16:55:36 +08:00