Jason Song
22d91e3ac3
Merge tag 'nektos/v0.2.49'
...
Conflicts:
cmd/input.go
go.mod
go.sum
pkg/exprparser/interpreter.go
pkg/model/workflow.go
pkg/runner/expression.go
pkg/runner/job_executor.go
pkg/runner/runner.go
2023-08-02 11:52:14 +08:00
Thomas Eddy
83b0a5b1f2
Add new CLI flag to log just the job id and not the entire job name ( #1920 )
...
* Add new CLI flag to log just the job id and not the entire job name
* Up the action test timeout to 20m from 15m
2023-07-19 21:45:44 +00:00
sillyguodong
cdc6d4bc6a
Support expression in uses
( #75 )
...
Since actions can specify the download source via a url prefix. The prefix may contain some sensitive information that needs to be stored in secrets or variable context, so we need to interpolate the expression value for`uses` firstly.
Reviewed-on: https://gitea.com/gitea/act/pulls/75
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-07-17 03:46:34 +00:00
Josh McCullough
808cf5a2c3
throw when invalid uses
key is provided ( #1804 )
...
* throw if `uses` is invalid
* update JobType to return error
* lint
* put //nolint:dupl on wrong test
* update error message to remove end punctuation
* lint
* update remote job type check
* move if statement
* rm nolint:dupl ... we'll see how that goes
---------
Co-authored-by: Casey Lee <cplee@nektos.com >
2023-07-10 21:27:43 -07:00
Zettat123
2069b04779
Fix missed ValidVolumes
for docker steps ( #74 )
...
Fixes https://gitea.com/gitea/act_runner/issues/277
Thanks @ChristopherHX for finding the cause of the bug.
Reviewed-on: https://gitea.com/gitea/act/pulls/74
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-07-11 02:08:22 +00:00
Casey Lee
724ec918c9
chore: upgrade golangci-lint and address findings ( #1904 )
2023-07-10 17:12:12 -07:00
sati.ac
3813f40cba
use remoteAction.URL if not empty ( #71 )
...
Fixes https://github.com/go-gitea/gitea/issues/25615
Reviewed-on: https://gitea.com/gitea/act/pulls/71
Co-authored-by: sati.ac <sati.ac@noreply.gitea.com >
Co-committed-by: sati.ac <sati.ac@noreply.gitea.com >
2023-07-03 03:43:44 +00:00
Jason Song
eb19987893
Revert "Support for multiple default URLs for getting actions ( #58 )" ( #70 )
...
Follow https://github.com/go-gitea/gitea/pull/25581 .
Reviewed-on: https://gitea.com/gitea/act/pulls/70
2023-06-30 07:45:13 +00:00
Zettat123
545802b97b
Fix the error when removing network in self-hosted mode ( #69 )
...
Fixes https://gitea.com/gitea/act_runner/issues/255
Reviewed-on: https://gitea.com/gitea/act/pulls/69
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-28 02:27:12 +00:00
Sam Foo
e60018a6d9
Allow inputs for workflow_calls ( #1845 )
2023-06-27 17:32:04 +00:00
Tomasz Duda
515c2c429d
fix action cloning, set correct server_url for act_runner exec ( #68 )
...
1. Newest act is not able to clone action based on --default-actions-url
It might be side effect of https://gitea.com/gitea/act/pulls/67 .
2. Set correct server_url, api_url, graphql_url for act_runner exec
Reviewed-on: https://gitea.com/gitea/act/pulls/68
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 07:36:10 +00:00
Zettat123
56e103b4ba
Fix the missing URL when using remote reusable workflow ( #67 )
...
Reviewed-on: https://gitea.com/gitea/act/pulls/67
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-06-16 05:12:43 +00:00
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
Marius Zwicker
74c27db4dd
Allow to override location of action cache dir ( #1863 )
...
Adds an option to specify the directory below which actions
and host workspaces will be stored. If left empty the previous
location at $XDG_CACHE_HOME/act or $HOME/.cache/act will be used
respectively.
Co-authored-by: Casey Lee <cplee@nektos.com >
2023-06-15 01:16:00 +00: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
Kuan Yong
6ce45e3f24
feature: Add support for github action variables ( #1833 )
...
* feature: Add support for github action variables
* add --var flag for github variables
* unitests: Updated unittests to cover vars context.
* Remove syntax extension for vars and correct unit tests
* Update pkg/runner/expression.go
Co-authored-by: ChristopherHX <christopher.homberger@web.de >
---------
Co-authored-by: kuanyong-wong-partior <kuanyong.wong@partior.com >
Co-authored-by: ChristopherHX <christopher.homberger@web.de >
2023-06-10 18:09:27 +00:00
psa
3ac2b726f2
Fix bug in processing jobs on platforms without Docker ( #1834 )
...
* Log incoming jobs.
Log the full contents of the job protobuf to make debugging jobs easier
* Ensure that the parallel executor always uses at least one thread.
The caller may mis-calculate the number of CPUs as zero, in which case
ensure that at least one thread is spawned.
* Use runtime.NumCPU for CPU counts.
For hosts without docker, GetHostInfo() returns a blank struct which
has zero CPUs and causes downstream trouble.
---------
Co-authored-by: Paul Armstrong <psa@users.noreply.gitea.com >
Co-authored-by: Jason Song <i@wolfogre.com >
2023-06-06 03:00:54 +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