Releases: Widen/buildkite-gradle-plugin
Releases · Widen/buildkite-gradle-plugin
0.5.1
0.5.0
What's Changed
- Add 'key' attribute to CommandStep by @JamesFraser-FD in #5
- Add 'depends_on' to CommandStep by @LaurieGreen in #7
- Add 'soft_fail' to CommandStep by @dbeg in #8
New Contributors
- @JamesFraser-FD made their first contribution in #5
- @LaurieGreen made their first contribution in #7
- @dbeg made their first contribution in #8
Full Changelog: 0.4.4...0.5.0
Support array syntax inside plugins
Added
-
You can now use array syntax (
[]
) for defining JSON arrays in plugin configuration. For example, in addition to something like this:plugin `myCoolPlugin#v2`, { features 'foo', 'bar' }
You can also now write it equivalently like this:
plugin `myCoolPlugin#v2`, { features ['foo', 'bar'] }
This just improves the overall consistency of the DSL.
Multiple passthrough variables for Docker & Docker Compose 🐳
Changed
-
Docker#environment
andDockerCompose#environment
can now accept multiple string arguments to set a list of variables to pass through into a container all at once:docker { // Just one, previously supported environment 'FOO' environment 'BAR' // New - multiple arguments environment( 'FOO', 'BAR', 'BAZ', ) // Or more concisely environment 'FOO', 'BAR', 'BAZ' }
Public release + DSL improvements
This is the first public release of the plugin! Check out the plugin at the Gradle Plugins portal: https://plugins.gradle.org/plugin/com.widen.buildkite
There are a few breaking changes here as well as some quality-of-life improvements.
Breaking changes
- The
gradleStep
andpublishDocsStep
DSLs have been removed, as they assumed Widen-specific practices and patterns. Widen projects are recommended to replace these with the appropriate Buildkite plugins instead. - The
commandStep.plugin
DSL no longer accepts two string arguments for a plugin version because it was confusing and unclear when to use the single argument vs. the double argument. Plugins are now always specified with a single string that follows the Buildkite naming convention for referencing a plugin (version is specified after a hash#
). buildkite.agentQueue
has been renamed tobuildkite.defaultAgentQueue
.- The plugin ID changed from
widen.buildkite
tocom.widen.buildkite
.
Added
- Standalone pipeline scripts (
.buildkite/pipeline*.gradle
) now define pipelines automatically based on the camel-case version of the filename, and the script evaluates inside the context of the pipeline automatically. Generally this means you can just remove any top-levelbuildkite.pipeline()
calls. - The
commandStep.plugin
DSL now also accepts closures as a way of configuring a plugin in addition to maps. This results in a much more natural looking configuration of plugins.
Block and trigger steps
Add docker-compose push support
Added
- Add docker-compose push support.
Docker-compose cache-from support
Added
- Add support for specifying
cache-from
images through the DSL.
Environment block ergonomics
Changed
- Invoking an
environment {}
block will now use owner first resolve strategy, meaning that Groovy will assume first that you are referring to a local variable if not specified, and assume you are referring to an environment variable only if a local variable with that name does not exist.
Expand Docker plugin options
Added
- Expose the
entrypoint
andshell
properties for the Docker Buildkite plugin.