Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An early exit hook would revert the shell to the bootstrap’s working directory which is the
builds
dir and not the specific build being worked on. This was because thebeforeWd
didn’t hold the value of the "before working directory" but insteados.Getwd()
.To handle this case I have removed that otherwise unused variable from the
ScriptWrapper
struct, and we now detecting the hook early exit case based on an absence of anafterEnv
and return an error. The bootstrap handles that category of error by continuing on without applying any changes since they are incomputable.This matches the previous behaviour where we would: get a blank afterEnv and do nothing with it (since we didn’t support propagating removed vars up into the shell env), and get an empty string for the "new" working directory which because it wasn’t absolute would be appended to the CWD to get the exact same string back 🙈
If
Changes()
returns an error because it cannot read the afterEnv (distinct from a successfully read but empty afterEnv) we return an error and the bootstrap process aborts the job, same behaviour as before.