Marius Zwicker
422cbdf446
Allow to override location of action cache dir ( #65 )
...
Adds an explicit config option to specify the directory
below which action contents will be cached. If left empty
the previous location at `$XDG_CACHE_HOME/act` or
`$HOME/.cache/act` will be used respectively.
Required to resolve gitea/act_runner#235
Co-authored-by: Marius Zwicker <marius@mlba-team.de >
Reviewed-on: https://gitea.com/gitea/act/pulls/65
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Marius Zwicker <emzeat@noreply.gitea.com >
Co-committed-by: Marius Zwicker <emzeat@noreply.gitea.com >
2023-06-16 03:41:39 +00:00
Jason Song
8c56bd3aa5
Merge tag 'nektos/v0.2.46'
2023-06-16 11:08:39 +08:00
a1012112796
a94498b482
fix local workflow for act_runner exec
( #63 )
...
by the way, export `ACT_SKIP_CHECKOUT` as a env verb for user to do some special config of local test.
example usage:
7a3ab0fdbc
Reviewed-on: https://gitea.com/gitea/act/pulls/63
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-committed-by: a1012112796 <1012112796@qq.com >
2023-06-13 03:46:26 +00:00
sillyguodong
fe76a035ad
Follow upstream support for variables
( #66 )
...
Because the upstream [PR](https://github.com/nektos/act/pull/1833 ) already supports variables, so this PR revert #43 (commit de529139af
), and cherry-pick commit [6ce45e3
](6ce45e3f24
).
Co-authored-by: Kuan Yong <wong0514@gmail.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/66
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-12 06:54:17 +00:00
sillyguodong
6ce5c93cc8
Put the job container name into the env context ( #62 )
...
Related: https://gitea.com/gitea/act_runner/issues/189#issuecomment-740636
Refer to [Docker Doc](https://docs.docker.com/engine/reference/commandline/run/#volumes-from ), the `--volumes-from` flag is used when running or creating a new container and takes the name or ID of the container from which you want to share volumes. Here's the syntax:
```
docker run --volumes-from <container_name_or_id> <image>
```
So put the job container name into the `env` context in this PR.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/62
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-06 00:21:31 +00:00
Zettat123
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 a72822b3f8/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 <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/60
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-05 09:21:59 +00:00
Zettat123
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 <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/58
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-05 09:07:17 +00:00
sillyguodong
9283cfc9b1
Fix container network issue ( #56 )
...
Follow: https://gitea.com/gitea/act_runner/pulls/184
Close https://gitea.com/gitea/act_runner/issues/177
#### changes:
- `act` create new networks only if the value of `NeedCreateNetwork` is true, and remove these networks at last. `NeedCreateNetwork` is passed by `act_runner`. 'NeedCreateNetwork' is true only if `container.network` in the configuration file of the `act_runner` is empty.
- In the `docker create` phase, specify the network to which containers will connect. Because, if not specify , container will connect to `bridge` network which is created automatically by Docker.
- If the network is user defined network ( the value of `container.network` is empty or `<custom-network>`. Because, the network created by `act` is also user defined network.), will also specify alias by `--network-alias`. The alias of service is `<service-id>`. So we can be access service container by `<service-id>:<port>` in the steps of job.
- Won't try to `docker network connect ` network after `docker start` any more.
- Because on the one hand, `docker network connect` applies only to user defined networks, if try to `docker network connect host <container-name>` will return error.
- On the other hand, we just specify network in the stage of `docker create`, the same effect can be achieved.
- Won't try to remove containers and networks berfore the stage of `docker start`, because the name of these containers and netwoks won't be repeat.
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/56
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:03:55 +08:00
Jason Song
a94a01bff2
Fix regression after merging upstream ( #54 )
...
Related to 229dbaf153
Reviewed-on: https://gitea.com/gitea/act/pulls/54
2023-05-04 17:54:09 +08:00
Jason Song
229dbaf153
Merge tag 'nektos/v0.2.45'
2023-05-04 17:45:53 +08:00
ChristopherHX
8913375af8
feat: implement steps.timeout-minutes ( #1776 )
...
* feat: implement steps.timeout-minutes
* Add imports
* refactor code
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-05-03 18:08:11 +00:00
ChristopherHX
ca9b783491
fix: don't allow -self-hosted
mode as container image ( #1783 )
...
* fix: don't allow `-self-hosted` mode as container image
* fix: jobcontainer in hostmode platform
* Update run_context.go
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-05-03 17:49:17 +00:00
ChristopherHX
568124ca69
Refactor evaluate yaml node do not alter nested nodes ( #1761 )
...
* refactor: EvaluateYamlNode do not alter nested nodes
* fix build error
* fix op
* fix lint
* ...
* fixup
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-05-03 17:26:28 +00:00
Shubh Bapna
4721abfa6d
fix: remove hardcoded reference to github.com when using reusable remote workflows and remote actions ( #1784 )
...
* fix filename for remote reusable workflow and remove hardcoded reference to github.com
* remove hardcoded reference to github.com for remote action
2023-05-03 15:46:28 +00:00
ChristopherHX
7cbb1a910e
Revert breaking docker socket changes ( #1763 )
...
* fix: rework docker socket changes
* fixup
* fixup
* fixes
* patch
* ...
* lint
* Fix docker outputs windows
* fix type
* Revert containerDaemonSocket breaking change
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-04-25 16:31:17 +00:00
Zettat123
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: 0c1f2edb99/pkg/runner/run_context.go (L228-L269)
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/51
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-04-25 14:45:39 +08:00
Zettat123
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 <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-23 14:55:17 +08:00
Zettat123
e12252a43a
Support intepolation for env
of services
( #47 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/47
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-20 16:24:31 +08:00
Zettat123
8609522aa4
Support services options ( #45 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/45
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-19 21:53:57 +08:00
sillyguodong
de529139af
Support configuration variables
( #43 )
...
related to: https://gitea.com/gitea/act_runner/issues/127
This PR make `act` support the expression like `${{ vars.YOUR_CUSTOM_VARIABLES }}`.
Reviewed-on: https://gitea.com/gitea/act/pulls/43
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-04-19 15:22:56 +08:00
M.Yamashita
35d6e9f71e
Remove the comment-out code. ( #1691 )
...
Co-authored-by: Jason Song <i@wolfogre.com >
2023-04-19 03:46:00 +00:00
Zettat123
d3a56cdb69
Support services ( #42 )
...
Replace #5
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/42
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-19 11:23:28 +08:00
ChristopherHX
9884da0122
fix: environment handling windows (host mode) ( #1732 )
...
* fix: environment handling windows (host mode)
* fixup
* fixup
* add more tests
* fixup
* fix setenv
* fixes
* [skip ci] Apply suggestions from code review
Co-authored-by: Jason Song <i@wolfogre.com >
* Update side effects
---------
Co-authored-by: Jason Song <i@wolfogre.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-04-18 18:09:57 +00:00
Jason Song
816a7d410a
Avoid using log.Fatal
in pkg/*
( #1705 )
...
* fix: common
* fix: in runner
* fix: decodeNode
* fix: GetMatrixes
* Revert "fix: common"
This reverts commit 6599803b6ae3b7adc168ef41b4afd4d89fc22f34.
* fix: GetOutboundIP
* test: fix cases
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-04-18 14:17:36 +00:00
Zettat123
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 5c4a96bcb7/pkg/runner/job_executor.go (L99)
Reviewed-on: https://gitea.com/gitea/act/pulls/40
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-14 15:42:03 +08:00
ChristopherHX
97749a27b9
fix: ghc assignment typo ( #1729 )
...
* fix: ghc assignment typo
* fixup server_url
2023-04-13 14:09:29 +00:00
ChristopherHX
d70b225e85
fix: reusable workflow panic ( #1728 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-04-13 13:47:59 +00:00
Markus Wolf
c0130ed030
fix: add server_url
attribute to github context ( #1727 )
...
* fix: add `server_url` attribute to github context
The `server_urL` attribute was missing in the `github` context.
Previously it was exposed as environment variable only.
Closes #1726
* fix: also set `api_url` and `graphql_url` attributes
2023-04-13 13:09:28 +00:00
Jason Song
5c4a96bcb7
Avoid using log.Fatal
in pkg/*
( #39 )
...
Follow https://github.com/nektos/act/pull/1705
Reviewed-on: https://gitea.com/gitea/act/pulls/39
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-07 16:31:03 +08:00
Zettat123
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 <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-06 14:16:20 +08:00
Jason Song
d3dfde055a
fix: use os.UserHomeDir ( #1706 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-03-31 13:08:46 +00:00
Zettat123
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 <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/34
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-03-29 13:59:22 +08:00
Kris
75ffa205c4
Make sure working directory is respected when configured from matrix ( #1686 )
...
* Make sure working directory is respected when configured from matrix
* Fix regression by setting Workingdirectory on stepRun instead of step or too early
2023-03-28 12:24:03 +00:00
Zettat123
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 <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-03-21 15:31:30 +08:00
Shubh Bapna
636c8a34ae
feat: specify matrix on command line ( #1675 )
...
* added matrix option
* select the correct subset of matrix configuration after producing all the matrix configuration
* add tests
* update readme
* lint fix
* remove matrix from readme
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-03-19 17:25:55 +00:00
a1012112796
556fd20aed
make sure special logs be sent to gitea's server ( #25 )
...
example:
https://gitea.com/a1012112796/test_action/actions/runs/7

TODO: special handle them on ui
Signed-off-by: a1012112796 <1012112796@qq.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/25
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-committed-by: a1012112796 <1012112796@qq.com >
2023-03-17 23:01:31 +08:00
Jason Song
1dda0aec69
Merge tag 'nektos/v0.2.43'
...
Conflicts:
pkg/container/docker_run.go
pkg/runner/action.go
pkg/runner/logger.go
pkg/runner/run_context.go
pkg/runner/runner.go
pkg/runner/step_action_remote_test.go
2023-03-16 11:45:29 +08:00
Shubham Agrawal
09de42f067
Support for docker steps in host environment ( #1674 )
...
* Support for docker steps in host environment
* removed workdir changes
2023-03-14 14:07:31 +00:00
Zettat123
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 <xiaolunwen@gmail.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-03-14 16:55:36 +08:00
Markus Wolf
6744e68ee2
fix: correct ref and ref_name ( #1672 )
...
* fix: correct ref and ref_name
The ref in the GitHub context is always full qualified
(e.g. refs/heads/branch, refs/tags/v1).
The ref_name is the ref with the strippep prefix.
In case of pull_requests, this is the merge commit ref
(e.g. refs/pull/123/merge -> 123/merge).
* test: update test data
2023-03-09 20:03:13 +00:00
Zettat123
0671d16694
Fix missing ActionRunsUsingGo
( #20 )
...
- Allow `using: "go"` when unmarshalling YAML.
- Add `ActionRunsUsingGo` to returned errors.
Co-authored-by: Zettat123 <zettat123@gmail.com >
Reviewed-on: https://gitea.com/gitea/act/pulls/20
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Zettat123 <zettat123@noreply.gitea.io >
Co-committed-by: Zettat123 <zettat123@noreply.gitea.io >
2023-03-09 22:51:58 +08:00
ChristopherHX
24440d9f15
test: Enshure ForcePull config doesn't break docker actions (1661)
2023-03-08 14:57:49 +00:00
ChristopherHX
f3c88b5091
fix: crash if the id tool fails to run in the container (1660)
2023-03-08 14:41:25 +00:00
a1012112796
881dbdb81b
make log level configable ( #19 )
...
relatd: https://gitea.com/gitea/act_runner/pulls/39
Reviewed-on: https://gitea.com/gitea/act/pulls/19
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-committed-by: a1012112796 <1012112796@qq.com >
2023-03-08 14:46:39 +08:00
Jason Song
19abab6375
fix: safe file name ( #1651 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-03-03 08:38:33 +00:00
Alex Savchuk
5500c928eb
fix: github.job property is empty, GITHUB_JOB should be job id ( #1646 )
...
* fix: github.job property is empty, GITHUB_JOB should be job id
fix: github.job property is empty #1621
fix: GITHUB_JOB should be the id not the name #1473
* fix linter problem.
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-02-27 19:10:31 +00:00
Jason Song
1252e551b8
Replace more strings.ReplaceAll
to safeFilename
( #18 )
...
Follow #16 #17
Reviewed-on: https://gitea.com/gitea/act/pulls/18
2023-02-24 14:20:34 +08:00
Jason Song
c614d8b96c
Replace more strings.ReplaceAll
to safeFilename
( #17 )
...
Follow #16 .
Reviewed-on: https://gitea.com/gitea/act/pulls/17
2023-02-24 12:11:30 +08:00
Jason Song
84b6649b8b
Safe filename ( #16 )
...
Fix #15 .
Reviewed-on: https://gitea.com/gitea/act/pulls/16
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-02-24 10:17:36 +08:00
Markus Wolf
89cb558558
fix: update output handling for reusable workflows ( #1521 )
...
* fix: map job output for reusable workflows
This fixes the job outputs for reusable workflows. There is
a required indirection. Before this we took the outputs from
all jobs which is not what users express with the workflow
outputs.
* fix: remove double evaluation
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-02-23 22:34:47 +00:00