techknowlogick
f3264cac20
Merge remote-tracking branch 'upstream/master' into bump-nektos
2023-10-11 15:28:38 -04:00
ChristopherHX
976df8bae5
fix action_ref (composite action) ( #2020 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-03 23:13:05 +00:00
ChristopherHX
7c7d80ebdd
fix: use actions/runner hashfiles in container ( #1940 )
...
* fix: use actions/runner hashfiles in container
Previously hashfiles ran on the host,
this don't work for container generated content
* fix: lint
* fix: lint
* fix assign follow symlink flag
Co-authored-by: Jason Song <i@wolfogre.com >
---------
Co-authored-by: Jason Song <i@wolfogre.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-03 22:56:18 +00:00
techknowlogick
4699c3b689
Merge nektos/act/v0.2.51
2023-09-24 15:09:26 -04:00
Oliver Bell
935e37c25b
feat: support node20 runtime ( #1988 )
...
* feat: support node20
* fix
* more fixes
* maybe final fixes?
* format
2023-09-15 02:24:46 +00:00
Elian Doran
19764bcb06
feat: support interpolation in <job>.container.options
( #1958 )
2023-09-12 06:35:25 -07:00
Eng Zer Jun
8a9e4f9f38
refactor: remove unnecessary nil check in RunContext ( #1955 )
...
From the Go docs:
"For a nil slice, the number of iterations is 0" [1]
Therefore, an additional nil check for `job.RunsOn()` before the loop is
unnecessary because `job.RunsOn()` returns a `[]string`.
[1]: https://go.dev/ref/spec#For_range
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
2023-08-09 12:41:12 +00:00
ChristopherHX
a42f3cf1cd
feat: Add new Action Cache ( #1913 )
...
* feat: Add new Action Cache
* fix some linter errors / warnings
* fix lint
* fix empty fpath parameter returns empty archive
* rename fpath to includePrefix
2023-08-08 16:07:23 +00:00
ChristopherHX
83140951bf
feat: cmd support for windows ( #1941 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-08-08 15:44:25 +00:00
ChristopherHX
f0ca0abc40
refactor: docker build BuildContext field ( #1914 )
...
The old Container input parameter was not flexible enough
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-08-08 15:02:11 +00:00
ChristopherHX
0b4c67a4aa
prefer pwsh on windows if found ( #1942 )
...
* prefer pwsh on windows if found
prefer bash over sh if found
One windows test no longer defines a default shell to test if it's pwsh
* add dep
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-08-08 14:14:46 +00:00
dependabot[bot]
3939f48e6d
build(deps): bump megalinter/megalinter from 7.1.0 to 7.2.1 ( #1931 )
...
Bumps [megalinter/megalinter](https://github.com/megalinter/megalinter ) from 7.1.0 to 7.2.1.
- [Release notes](https://github.com/megalinter/megalinter/releases )
- [Changelog](https://github.com/oxsecurity/megalinter/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oxsecurity/megalinter/compare/v7.1.0...v7.2.1 )
---
updated-dependencies:
- dependency-name: megalinter/megalinter
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-08-08 13:37:31 +00:00
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