act/pkg/runner/testdata
Markus Wolf 1891c72ab1
fix: continue jobs + steps after failure (#840)
* fix: continue jobs + steps after failure

To allow proper if expression handling on jobs and steps (like always,
success, failure, ...) we need to continue running all executors in
the prepared chain.
To keep the error handling intact we add an occurred error to the
go context and handle it later in the pipeline/chain.

Also we add the job result to the needs context to give expressions
access to it.
The needs object, failure and success functions are split between
run context (on jobs) and step context.

Closes #442

Co-authored-by: Björn Brauer <zaubernerd@zaubernerd.de>

* style: correct linter warnings

Co-authored-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: job if value defaults to success()

As described in the documentation, a default value of "success()" is
applied when no "if" value is present on the job.

https://docs.github.com/en/actions/learn-github-actions/expressions#job-status-check-functions

Co-authored-by: Markus Wolf <mail@markus-wolf.de>

* fix: check job needs recursively

Ensure job result includes results of previous jobs

Co-authored-by: Markus Wolf <markus.wolf@new-work.se>

* test: add runner test for job status check functions

Co-authored-by: Markus Wolf <markus.wolf@new-work.se>

* test: add unit tests for run context if evaluation

Co-authored-by: Björn Brauer <zaubernerd@zaubernerd.de>

* refactor: move if expression evaluation

Move if expression evaluation into own function (step context) to
better support unit testing.

Co-authored-by: Björn Brauer <zaubernerd@zaubernerd.de>

* test: add unit tests for step context if evaluation

Co-authored-by: Markus Wolf <markus.wolf@new-work.se>

* fix: handle job error more resilient

The job error is not stored in a context map instead of a context
added value.
Since context values are immutable an added value requires to keep
the new context in all cases. This is fragile since it might slip
unnoticed to other parts of the code.

Storing the error of a job in the context map will make it more stable,
since the map is always there and the context of the pipeline is stable
for the whole run.

* feat: steps should use a default if expression of success()

* test: add integration test for if-expressions

* chore: disable editorconfig-checker for yaml multiline string

Co-authored-by: Björn Brauer <zaubernerd@zaubernerd.de>
Co-authored-by: Björn Brauer <bjoern.brauer@new-work.se>
2021-12-08 20:57:42 +00:00
..
actions fix: correctly unmarshal entrypoint (#876) 2021-11-13 19:43:31 +00:00
basic Add proper support for working-directory & fix command builder (#772) 2021-08-10 19:40:20 +00:00
checkout Hotfix: Skip Checkout Regression (#680) 2021-05-10 15:12:57 +00:00
commands Update images, fix extrapath (#723) 2021-06-10 23:12:05 +00:00
container-hostname fix: set sh as default shell for containers (#853) 2021-11-03 11:47:47 -07:00
defaults-run Support setting shell via defaults.run (#343) 2020-08-28 11:52:25 -07:00
dir with spaces Add proper support for working-directory & fix command builder (#772) 2021-08-10 19:40:20 +00:00
env-and-path Fix regex for GITHUB_ENV parsing (#893) 2021-11-19 17:36:50 +00:00
fail Update images, fix extrapath (#723) 2021-06-10 23:12:05 +00:00
if-expressions fix: continue jobs + steps after failure (#840) 2021-12-08 20:57:42 +00:00
issue-104 fix #127 - force eval as a boolean (#131) 2020-03-06 11:30:39 -08:00
issue-122 fix #122 - support actions/checkout for repos other the one for this workflow (#143) 2020-03-09 17:45:42 -07:00
issue-141 fix #141 - use host network to match GitHub Actions runners (#142) 2020-03-09 17:43:24 -07:00
issue-228 remove .gitignore before docker cp (#288) 2020-06-23 11:57:24 -07:00
issue-597 Fixes Issue #597 (#637) 2021-05-03 09:51:48 -07:00
issue-598 Fixes #598 (#628) 2021-05-05 13:04:03 -07:00
job-container Update images, fix extrapath (#723) 2021-06-10 23:12:05 +00:00
job-container-non-root Update images, fix extrapath (#723) 2021-06-10 23:12:05 +00:00
job-status-check fix: continue jobs + steps after failure (#840) 2021-12-08 20:57:42 +00:00
local-action-docker-url Refactor local, composite actions and run steps (#712) 2021-06-10 15:28:23 +00:00
local-action-dockerfile fix: interpolate env for step actions (#872) 2021-11-12 15:21:18 -08:00
local-action-js Refactor local, composite actions and run steps (#712) 2021-06-10 15:28:23 +00:00
localdockerimagetest_ Fix docker: invalid reference format (#767) 2021-08-09 18:16:31 +00:00
matrix fix #108 - ensure container names are unique for matrix runs 2020-03-04 16:24:14 -08:00
matrix-include-exclude Fixes include when using matrix and strategy build. (#415) 2020-12-08 10:13:07 -08:00
node fix: #170 add RUNNER_TEMP 2020-04-23 08:18:36 -07:00
outputs Don't interpolate joboutputs, before job is done (#894) 2021-11-24 15:49:08 +00:00
parallel Read localaction's from container (#719) 2021-08-03 17:39:56 +00:00
pull-request fix #134 - include base_ref and head_ref in github context from the event json 2020-03-06 14:17:57 -08:00
python fix #100 - change RUNNER_TOOL_CACHE to /opt/hostedtoolcache (#103) 2020-02-25 08:52:04 -08:00
remote-action-docker fix(test): adapt to sjw change 2020-07-20 21:43:36 +02:00
remote-action-js actions/hello-world-javascript-action@master moved to main, use stable tag (#326) 2020-08-01 19:05:25 -07:00
runs-on Add support for runs-on array form (closes #146) (#155) 2020-03-16 14:58:10 -07:00
secrets feat: load every environment from --env-file to workflow (#184) 2020-04-17 10:04:40 -07:00
shells fix: set sh as default shell for containers (#853) 2021-11-03 11:47:47 -07:00
steps-context Add more steps context support (#887) 2021-11-27 17:55:26 +00:00
uses-and-run-in-one-step fix: return error if both run:/uses: keys are used (#593) 2021-04-01 11:36:41 -07:00
uses-composite Read localaction's from container (#719) 2021-08-03 17:39:56 +00:00
uses-docker-url Update images, fix extrapath (#723) 2021-06-10 23:12:05 +00:00
uses-github-empty Throw an error if the steps has a invalid uses directive (#500) 2021-01-23 08:07:28 -08:00
uses-github-full-sha refactor: return more errors, add more tests (#679) 2021-05-08 03:29:03 +00:00
uses-github-noref Throw an error if the steps has a invalid uses directive (#500) 2021-01-23 08:07:28 -08:00
uses-github-path Throw an error if the steps has a invalid uses directive (#500) 2021-01-23 08:07:28 -08:00
uses-github-root Throw an error if the steps has a invalid uses directive (#500) 2021-01-23 08:07:28 -08:00
uses-github-short-sha refactor: return more errors, add more tests (#679) 2021-05-08 03:29:03 +00:00
workdir Add proper support for working-directory & fix command builder (#772) 2021-08-10 19:40:20 +00:00