Garden 0.12.10 is out!
Along with several new features, this release includes an experimental, opt-in build staging implementation that can dramatically speed up builds for large projects.
Many thanks to everyone who's been providing feedback and suggestions!
Faster Build Staging
For projects with a large number of files, the build staging step can take a lot of time and consume a lot of resources.
To address this, we're introducing a new build staging implementation that can speed things up dramatically.
Since the implementation is nontrivial, the old, rsync
-based build sync implementation is still the default. To use the new, faster sync implementation, set GARDEN_EXPERIMENTAL_BUILD_STAGE=true
in your environment.
We encourage you to try it out, and to let us know in case you run into any bugs or unexpected behavior.
Once the new implementation has been battle-tested for a while, we plan to make it the default.
when
Modifier for Workflows
The new when
modifier for workflow steps adds some welcome flexibility to Garden workflows.
For example, using the when
modifier, you can run steps only when a step fails, or always run the step (regardless of whether a previous step has failed).
See the updated workflows guide for more details.
Git Branch in Template Strings
The current Git branch can now be used in template strings: ${git.branch}
This can be useful e.g. when running Garden in CI.
Note that the branch is read at the start of a Garden command, and (currently) isn't updated if the branch changes during the command's execution (e.g. when running commands in watch mode).
Support for Terraform Workspaces
You can now set the workspace
field on the Terraform provider as well as on terraform
modules.
When set, Garden will select (creating if necessary) the specified Terraform workspace ahead of applying, planning, destroying etc.
Changelog
Features
- terraform: add support for workspaces (23975f46)
- core: provide git branch to template strings (5d79d978)
- workflows: implemented when modifier (d2104612)
Improvements
- core: experimental build stage implementation without rsync (dcd8be7f)
- core: allow wildcard in first label in hostname (2a5f304e)
- exec: log build output with verbose logger (bd7c81ae)
Bug Fixes
- core: fix failing port forwards on Windows in certain scenarios (358efa33)
- core: incorrect paths in build staging rsync command (f38d4293)
- core: don't flag remote modules as overlapping with modules in root (8059741b)
- core: auto-exclude git and .garden dirs for modules in project root (bf854a5a)
- core: ensure primitive values are not cast on schema validation (58946c69)
- enterprise: add workflowError event (2709fab5)
- enterprise: whitelist commands for streaming (f7497888)
- enterprise: add step skipped event (f644cdb8)
- enterprise: don't resolve config on login (ba93b23d)
- k8s: containerModule refs in helm modules not creating build deps (3fdd0e5a)