Releases: go-gilbert/gilbert
1.1.0
Actions
cover:html
Added a new action cover:html
that creates HTML project coverage report and opens it in web-browser.
Example:
tasks:
cover-html:
- action: cover:html
params:
packages:
- './foo'
- './bar'
Manifest
Added Go template support to manifest file.
Expressions should be wrapped with {{{ ... }}}
.
Also manifest template includes some useful functions:
slice
- creates a new sliceshell
- runs shell command and returns command outputsplit
- splits string by charyaml
- serializes slice to YAML/JSON string
Example:
version: 1.0
{{{ $libs := shell "ls -1 ./libs | tr '\n' '\0' | xargs -0 -n 1 basename" | split "\n" }}}
{{{ $packages := slice "./foo" "./bar" }}}
tasks:
build-libs:
{{{ range $libs }}}
- mixin: build-lib
vars:
name: {{{.}}}
{{{ end }}}
cover:
- action: cover
params:
threshold: 40
reportCoverage: true
packages:
{{{ $packages | yaml }}}
1.0.0
0.11.0
Manifest
- Allow to call another task with
task
property
Cli
- Add
-json
flag tols
command
Breaking changes
- SDK version updated to
0.9.0
(see SDK release notes)
0.10.1
0.10.0
Fixes
cover
- report failed tests during coverage check (#55)
New features
cover
action
- Report failed tests
- Notify about packages without tests
- Show list of packages without tests with
showUncovered
option
build
action
- Pass Go build tags with
tags
option (#54)
Internal
- Change formatting for debug messages
0.9.1
0.9.0
Changelog
Fixes
cover
- fix coverage output when packages don't contain tests
New features
Command-line
Added --var
flag that allows to set or override variables:
gilbert run task_name --var var1=value --var var2=value
Plugins
go
handler - import local package as Gilbert plugin
Actions
cover
Added sort feature with sort
param.
cover:
- action: cover
params:
threshold: 60
sort:
by: 'name' # accepted values: 'name', 'coverage'
desc: false # sort order
packages:
- ./...
0.8.1
0.8.0
Changelog
Breaking changes
Manifest
- property
plugin
was renamed toaction
New features
Plugins
In this release we introduce support of custom plugins that allow to use third-party actions.
Since our primal implementation is based on Go plugins, currently we support Linux and macOS only.
Support of other OS'es in in development for now and will be available in the future.
Also we introduced a special SDK for writing Gilbert plugin.
You can check out plugin example here.
Usage
You can import plugin from several sources like GitHub, Web URL or specify a local library path:
version: 1.0
plugins:
- github://github.com/go-gilbert/gilbert-plugin-example?version=v0.8.5 # get specific release from GitHub
- https://example.com/foo/bar/plugin # download from URL
- file:///home/root/plugin.so # use local file
GitHub: GitHub Enterprise and token authentication are also supported