Commit graph

92 commits

Author SHA1 Message Date
Julian Squires e698e8b324
Support setting shell via defaults.run (#343)
Note that we don't support the more general use of defaults, just its
run key for setting shell and working directory.

The documentation for defaults.run is here:
  https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaultsrun

Fixes #214.

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-08-28 11:52:25 -07:00
watiko 26e4270e41
fix file permission for non root user docker image (#334) 2020-08-08 13:31:26 -07:00
Casey Lee 0ccc867f30
Merge branch 'master' into feat/add-privileged-mode 2020-08-01 19:05:56 -07:00
Tachibana waita 9a661538e6
actions/hello-world-javascript-action@master moved to main, use stable tag (#326) 2020-08-01 19:05:25 -07:00
whywaita 24bdb024bf
add flag of privileged mode 2020-08-02 05:21:49 +09:00
Denys Vitali ae39a4b1d3
fix(test): adapt to sjw change 2020-07-20 21:43:36 +02:00
Denys Vitali cc369e2f73
fix: add default values in vmInput 2020-07-20 21:17:49 +02:00
Stephen Solka 85a47838fd
use t.Cleanup and prefer assert.NoError over .Nil (#309)
Co-authored-by: Casey Lee <cplee@nektos.com>
2020-07-20 07:35:43 -07:00
Amit Mahbubani 0b9268ada7
Fix comments on StepType enum consts (#304) 2020-07-13 09:39:23 -07:00
Ayaz BADOURALY 7dcd0bc1bb
Rewrite contexts before evaluating them (#287)
* Rewrite contexts before evaluating them

* Precompile context and expression patterns

* Test trim before rewrite

The current contextPattern is quite constraining and would fail the
rewrite of a context with trailing spaces. Triming happens during the
execution of Interpolate, and these tests aim to detect future breaking
changes on this behavior.

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-06-24 07:08:45 -07:00
Josh Soref 64b8d2afa4
Properly pass format argument to avoid MISSING (#290)
#273
2020-06-24 07:05:05 -07:00
Jeremy Lempereur 7cc668707b
remove .gitignore before docker cp (#288)
* Test setup before I try to understand how things work

* Remove .gitignore before we run docker cp
2020-06-23 11:57:24 -07:00
Stan Wohlwend d4e41a90a2
Fix container volumes being reused sometimes (#283) 2020-06-18 08:21:55 -07:00
Michael Heap dfd1fee7fe
Pull latest changes from ref using cached repo (#267)
* Pull latest changes from ref using cached repo

Act switched from checking out a branch to checking out
a hash in order to resolve #24 - see
bc5c23e8e4

This had a side effect of preventing `w.Pull()` from updating
to the latest commit if a ref was a branch/tag and the repo
already exists on disk.

This commit checks if input.Ref is equivalent to the resolved
hash, and runs `r.Fetch()` and checks out the branch for input.Ref
if it is different. `w.Pull()` can then pull the latest changes
before we checkout `*hash` again like normal

* Extract CloneIfRequired to reduce cyclomatic complexity

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-06-09 07:43:26 -07:00
Dylan Arbour 69b8802ab3 Change -W command to accept a single file
Currently setting workflows with the -W (--workflows) flag only accepts
a folder. It is not possible to run a single workflow.yml file.

This commit allows either a single file or a directory to be passed into
the workflows flag.
2020-05-26 23:29:50 -04:00
Josh Soref 5c850b5ba8
Fix using: node12 handling (#243)
Co-authored-by: Casey Lee <cplee@nektos.com>
2020-05-18 14:31:09 -07:00
Josh Soref 2097a3c017
Spelling (#240)
* spelling: cartesian

* spelling: deferring

* spelling: marshal
2020-05-18 09:53:42 -07:00
Michael Heap d3f25bac79
Mask secrets in job output (#231)
Previously secrets would be shown in log output as provided. This
commit updates the stepLogFormatter to replace any instance of the secret
string with "***", as GitHub Actions would

Known issues: If the secret is a generic string (such as "docker"), all
occurances of that string will be replaced in the output

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-05-13 15:22:31 -07:00
Michael Heap a5e86bd024
Add support for changing the GITHUB_ACTOR (#229)
This adds the `-a` flag when running `act` to change the username of the GITHUB_ACTOR environment variable

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-05-12 00:14:56 -07:00
Torbjørn Vatn a149cf8ca2
Make envs available in if conditionals (#225)
* Ignore .idea

* Add Env to the RunContext vm so we can Evaluate and Interpolate `env.xx`

* Make EvalBool support expressions more in line with the github runner

* Turns out Boolean(value) is what github is doing after all

* Add test for github context as well
2020-05-04 12:18:13 -07:00
Michael Heap 6d6ea7ac04
Implement UnmarshalYAML for ActionRunsUsing (#223)
In #222 I added case normalisation to ReadAction() to ensure that Docker and docker are interpreted the same way.

I realised that this was being done at the wrong level and required multiple type conversions. By implementing `func (a ActionRunsUsing) UnmarshalYAML` we can lowercase the string as it's being unserialized

This has an added benefit that any time this type is hydrated the `runs.using` key will be lowercased, rather than relying on `ReadAction()`
2020-05-04 05:40:11 -07:00
Sven Dowideit 6196436f70
extract the docker NewClientWithOpts, and add connectionhelper for DOCKER_HOST set to ssh://remote (#207)
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-05-03 21:15:42 -07:00
Michael Heap ef9fab9fad
Normalise Runs.Using to lowercase (#222)
Currently, providing `using: Docker` is an error as the switch statement in `step_context.go` is case sensitive.

Actions run successfully on GitHub with `using: Docker` leading me to believe that they're case insensitive. This commit updates `act` to match

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-05-03 20:59:13 -07:00
Michael Heap 195a6c9ffb
Add default error case for Runs.Using (#221)
The string comparison in `step_context.go` is currently case sensitive. This commit adds an error that returns the valid options and tells the user what value they passed
2020-05-03 20:55:20 -07:00
Casey Lee a48cce3a78
fix: #170 add RUNNER_TEMP 2020-04-23 08:18:36 -07:00
Casey Lee a9533b05ce
fix: #170 #171 - add RUNNER_OS and RUNNER_TEMP 2020-04-22 23:57:36 -07:00
Casey Lee c44b71c996
fix: ignore symlink errors 2020-04-22 23:48:25 -07:00
Casey Lee 8c290994c1
fix: #182 - support symlinks in workspace 2020-04-22 23:24:31 -07:00
Casey Lee 6c4e7b9fde
fix: 168 include error message from docker SDK 2020-04-22 23:04:28 -07:00
Juan Eugenio Abadie b95fdb896f
Use env variables in Action.Runs.Env (#201)
* Use env variables in Action.Runs.Env

* Use Action.Runs.Env in all the cases
2020-04-19 11:29:34 -07:00
jony montana 2f395475b0
feat: load every environment from --env-file to workflow (#184)
* feat: load every environment from --env-file to workflow

* fix: pass dotenv's environments through by context

* updates to support --secret-file

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-04-17 10:04:40 -07:00
Máximo Cuadros f6e37a8d67
*: update go-git import (#194) 2020-04-16 16:24:30 -07:00
Alberto Fernández 67542608a2
Remove length constraint (#190) 2020-04-16 16:05:00 -07:00
Aidan Steele bf3824cc10
Improved gitignore handling (#163) 2020-03-18 06:55:39 -07:00
Aidan Steele 4a4bd36cf6
Add support for runs-on array form (closes #146) (#155)
* Add support for runs-on array form (closes #146)

* Fixed style issues

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-03-16 14:58:10 -07:00
Casey Lee f5e67f2b86
fix #150 - disable dryrun in git clone 2020-03-14 00:13:18 -07:00
Aidan Steele b670173764
Add support for step.working-directory (closes #149) (#154) 2020-03-14 00:00:37 -07:00
Casey Lee 3baf626aa4
add file info to files cp into container 2020-03-13 23:21:25 -07:00
Casey Lee c439a6ff14
support nested expressions 2020-03-12 17:22:33 -07:00
Casey Lee 7f88f81bf6
fix #50 - exclude anything in .gitignore from being copied into the job volume 2020-03-09 18:32:48 -07:00
Casey Lee 16520bb277
fix #122 - support actions/checkout for repos other the one for this workflow (#143) 2020-03-09 17:45:42 -07:00
Casey Lee 143676fcfb
fix #141 - use host network to match GitHub Actions runners (#142) 2020-03-09 17:43:24 -07:00
Casey Lee 15fb58bf43
fix #134 - include base_ref and head_ref in github context from the event json 2020-03-06 14:17:57 -08:00
Casey Lee 87392c2ed7
fix #134 - support 'env' context in steps 2020-03-06 13:39:01 -08:00
Casey Lee 4fde7d8865
fix #121 and #123 - add support for reading env variables from .env (#133) 2020-03-06 12:30:24 -08:00
Casey Lee af970769d7
fix #127 - force eval as a boolean (#131) 2020-03-06 11:30:39 -08:00
Casey Lee e33606361f
tone down verbosity 2020-03-06 10:25:18 -08:00
Casey Lee c32a87c6dc
fix #128: guard against empty actionName when 'uses: ./' (#130)
* fix #128: guard against empty actionName when 'uses: ./'

* fix #129 - force image name to be lowercase
2020-03-06 10:17:20 -08:00
Casey Lee 59b9b8e97a
fix #108 - ensure container names are unique for matrix runs 2020-03-04 16:24:14 -08:00
Casey Lee e9de6ca2c0
fix #115 - support toJson and toJSON (#116) 2020-02-28 15:20:31 -08:00