Skip to content

Releases: davidovich/summon

v0.16.0

14 Jan 21:53
Compare
Choose a tag to compare

v0.16.0 Feature Release

New {{ swallowargs }} template function and destination dir for the {{ summon }} function.

  • swallowargs: use this when you do not want command-line specified args to be appended to the execution handle, which is the default behavior in summon.
  • The summon template function now takes an optional second parameter to specify where the file should be summoned to, similarly to the -o command line argument.

Bugs fixed:

What's Changed

Full Changelog: v0.15.0...v0.16.0

v0.15.0 Feature Release

24 Mar 18:15
Compare
Choose a tag to compare

Optional commands

The new feature allows a command (or "cmd") to be templated in such a way that it can yield an empty value.

The purpose of this feature is to make the CLI tool compatible in multiple environments. For example, if you have a command that sets up a container and its environment, you may want to be able to call that same command from within the container itself. With the new feature, the command can be templated to return an empty value when called within the container.

You can thus install the summon cli inside the container itself and make decisions based on call site. Below is an example where when called from inside container (as defined by an arbitrary inContainer environment variable), the cmd is empty (because the container provides the environment). This effectively allows the same invocation from inside or outside of the container.

cmd: 
- |-
  {{ if not (env "inContainer") }}
  # setup container call
  {{ end }}

What's Changed

Full Changelog: v0.14.0...v0.15.0

v0.14.0 Feature Release

12 Feb 16:23
5a46ae9
Compare
Choose a tag to compare

Enhanced command-line parsing

This release brings enhanced proxy features to command invocations. You can now provide flags (global and local), help, completions and sub-commands to the proxied command. In essence, this feature provides a better parameter parser for the proxied commands. More info in the enhanced command description section of the readme documentation.

You can now pass --help or -h down to the proxied commands (before this, help was consumed early by Summon, not allowing sub-commands to process it).

There is one breaking change in the exec: section of the config file. The command handles have moved under an environments: key, and a new flags: key appeared for managing global flags. Both are nested in the exec: key.

What's Changed

Full Changelog: v0.13.0...v0.14.0

v0.13.0 Feature release

06 Nov 21:50
f5d6cb0
Compare
Choose a tag to compare

This feature release drops support for the packr library in favor of go's embed feature. This is a breaking change.

Because embed.FS usage requires assets to be present in a sibling folder to the package using the embedding directive, your data repository might need to be refactored.

You have two choices:

  • If you want to enable go install of your summon data executable, position the assets and the summon.go entry point inside a summon directory. Upon install, this will create an executable named summon.
  • If you do not need go install or if your repository has the wanted name for your exe, just move the summon.go file at the root (at the same level as the assets directory).

You can delete the packr related files.

The https://github.com/davidovich/summon-example-assets repo has been updated to reflect the new layout.

What's Changed

Full Changelog: v0.12.0...v0.13.0

v0.12.0 Feature release

31 Oct 01:14
d6a3c34
Compare
Choose a tag to compare

This feature release brings template functions to aid in crafting argument passing to invokers.

Feature Highlight

  • New arg, args, .osArgs and run template functions.
  • Driver program can be renamed.
  • Can configure the runner to remove the run sub-command to allow natural proxy to invokers.

More info in the documentation.

Note that this is the last release to use packr boxes as #73 will be implemented soon. We will be removing the packr dependency in favor of go 1.16 embed feature.

What's Changed

Full Changelog: v0.11.0...v0.12.0

v0.11.0 breaking change

24 Aug 01:18
3acecc0
Compare
Choose a tag to compare

Breaking change on summon.config.yaml

This release brings a breaking change on the handle format of exec handles. The handles are now arrays of params. Prior to this they were of string format, this has proved difficult to use when passing multiple args to the invoker.

Before:

...
exec: 
  bash:
    echo: echo david

After (notice the array):

...
exec:
  bash:
    echo: [echo, david]

Feature release v0.10.0

21 Aug 21:27
5e752c0
Compare
Choose a tag to compare

New in this release:

  • You can now use go templating in summon.config.yaml file.
  • You can summon in the go templates, allowing instantiation and execution of packed script.
  • Added a debug -d --debug switch and a dry-run -n, --dry-run switch to respectively print debugging info and see what the execution command line would look like without executing.
  • Now listens on CRTL-C for correct interruption of child processes.

Feature release v0.9.0

14 Nov 01:32
c6742db
Compare
Choose a tag to compare
  • Refactor for documentation purposes.
    • Move scaffolding to internal package

Feature release v0.8.0

03 Sep 18:05
392d115
Compare
Choose a tag to compare

New in this release:

  • Add run command validation
  • Add bash completion of Summonable data and runners. Use source <(summon completion) in your .bashrc to have up-to-date completions.
  • (Engineering) Refactor interfaces.
  • (Engineering) Improve test coverage, use Github pages and summon to output coverage on main project page.

Feature release v0.7.0

05 Jun 03:27
e948012
Compare
Choose a tag to compare

New in this release: