Commit Graph

238 Commits

Author SHA1 Message Date
Ryan (hackercat) a6a865e973
fix: replace `gopass` lib with `golang.org/x/term` (#674)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-06 20:13:14 +00:00
Markus Wolf a07cb440c2
Write git clone progress only if terminal is a TTY (#670) 2021-05-06 06:55:23 -07:00
hackercat 4125812a63
Refactor `.actrc` locations and default image survey (#600)
* refactor: move survey/cfgs into own funcs, read XDG base dirs for config

Moved actrc locations to own func since it can be reused.
Moved survey part to own func due to high cyclomatic complexity.
Added XDG config dir to config locations.
Replaced using HOME envvar with go-homedir module since it's already
an indirect dependency and handles home directories better
for each GOOS.

* refactor: use `go-homedir`, check if XDG var is not empty
2021-04-05 08:51:13 -07:00
Josh Soref 5752a03dcd
Support running commands in repositories without action.yaml (#293)
* Comment for public function

* Add git describe fallback

* spelling: github

* Set initial branch to satisfy tests for modern git

* Clarify -even- if

* Go 1.16

* Support running commands in repositories without action.yaml

Support runnings commands with only a Docker file

Co-authored-by: Casey Lee <cplee@nektos.com>
2021-03-30 12:26:25 -07:00
Jay Pipes d67e282f68
use container image platform only on docker 1.41+ (#591)
Commit af5140f13e introduced support for
specifying a container image platform for cross-platform image building.

Unfortunately, attempting to execute a docker command that includes the
`--platform` flag against Docker daemons using API Version 1.40 and
before results in the following error:

```
"specify container image platform" requires API version 1.41, but the Docker daemon API version is 1.40
```

To allow `act` to be used on the 19.03 Docker CE and earlier versions,
this patch simply checks the Docker daemon API version and only
specifies platform specification when the daemon API version is 1.41 or
greater.

Fixes Issue #586
2021-03-30 10:10:42 -07:00
hackercat 6c258cf40d
Add option to run custom architecture (container platform) (#525)
* Add QEMU to run different architectures

* Update dependencies in `go.mod`

* Add `--container-architecture` flag to specify custom image architecture

Co-authored-by: Casey Lee <cplee@nektos.com>
2021-03-28 21:08:40 -07:00
Kamil Domański 475a6aa1d0
properly parse arguments to Docker container steps (#539) 2021-02-23 09:47:06 -08:00
Cat™ 6130460c40
Add survey during first run for a default image (#483)
* Add survey during first run for a default image

* few minor formatting updates

* Use image from DockerHub

Co-authored-by: Casey Lee <cplee@nektos.com>
2021-01-19 06:30:17 -08:00
KADOTA, Kyohei 6e1cdeefc0
Fix "reference not found" error on checkout (#433) (#471) 2021-01-14 21:24:17 -08:00
Torbjørn Vatn 15eaa15a0e
GitHub env file support (#426)
* Upgrade to the official golangci-lint action and fix some issues it found

* Update deps

* Remove a shadow warning

* Initialize the splitPattern only once

* Initial attempt at supporting $GITHUB_ENV

Needs some polishing and tests

* Now it's actually working

* Replace golang.org/x/crypto/ssh/terminal with golang.org/x/term

* Disable the issue-228 test again

* The linter is picky

* Discovered that the workflow/envs.txt had to exist in certain cases

* Fix small linter issue
2021-01-11 22:39:43 -08:00
Torbjørn Vatn 3f4998a4ed
envs in if: - take 2 (#412)
* Test more if env variants

* The correct negation syntax is !=

* Make the Interpolate function support negated booleans from envs

* Move assert := a.New(t) into t.Run

This uncovered that some of the test premisses was wrong and the
Eval Bool function also had flaws

* Remove a stray logrus import
2020-11-12 08:15:09 -08:00
Yoan Blanc 3eef111e46
chore: upgrade docker v19.03.12 (#348)
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-08-29 22:55:22 -07:00
Casey Lee 85f89e16eb
fix docker build issue on windows 2020-08-28 12:31:16 -07:00
Yoan Blanc b3b8961122
feat: docker 19.03.12 (#347)
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-08-28 11:45:03 -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
Máximo Cuadros f6e37a8d67
*: update go-git import (#194) 2020-04-16 16:24:30 -07:00
Aidan Steele bf3824cc10
Improved gitignore handling (#163) 2020-03-18 06:55:39 -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 bd6f232b20
fix build for windows 2020-03-06 17:08:07 -08:00
chenrui ca648a37c8
chore(deps): cleanup go.mod a little bit (#136)
* Upgrade docker to v19.03.7

* go mod vendor

* golangci-lint 1.23.8
2020-03-06 14:37:54 -08:00
chenrui c588c07ce7
Bump golang to v1.14 (#135)
* Bump golang to v1.14

* go mod vendor

Co-authored-by: Casey Lee <cplee@nektos.com>
2020-03-06 14:21:24 -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 1d84ee0db1
fix #102 - add windows support 2020-02-25 09:22:59 -08:00
Casey Lee 573f78e1b4
support for secrets
Signed-off-by: Casey Lee <cplee@nektos.com>
2020-02-20 21:06:09 -05:00
Casey Lee e40ab0145f
expressions working
Signed-off-by: Casey Lee <cplee@nektos.com>
2020-02-20 21:05:55 -05:00
Casey Lee ac8258db4b
support list/map/scalar for on and needs
Signed-off-by: Casey Lee <cplee@nektos.com>
2020-02-20 21:05:34 -05:00
Casey Lee 532af98aef
successfully able to run simple workflows
Signed-off-by: Casey Lee <cplee@nektos.com>
2020-02-20 21:05:25 -05:00
Casey Lee 8c49ba0cec
initial load of yaml working 2020-02-04 16:38:41 -08:00
Casey Lee b5159281f9
update vendor 2019-05-23 08:46:23 -07:00
Jesse Newland 3198627879 --watch 2019-02-09 20:39:09 -06:00
Casey Lee 4b61fb3bc3
pin to v1.0.0 of github action parser 2019-02-06 22:36:16 -08:00
Casey Lee 3e04312912
update to latest version of action parser 2019-02-06 22:36:15 -08:00
Casey Lee ecae898a7b
add tests for various actions 2019-02-06 22:36:13 -08:00
Casey Lee 5d0a8d26ae
replace parser with actions/workflow-parser 2019-02-06 22:36:13 -08:00
Casey Lee 317a305f51
refactor actions to improve testability 2019-01-17 14:53:35 -08:00
Casey Lee c573d9d48a
fix #7 - allow passing a custom event.json to be populated in the container filesystem 2019-01-16 13:11:32 -08:00
Casey Lee 88847aed71
add unit tests for various ways an action can be defined 2019-01-15 23:11:45 -08:00
Casey Lee f683af5954
Initial commit with support for GitHub actions 2019-01-12 20:45:25 -08:00