Skip to content

Releases: dogtools/dog

v0.5.0

18 May 14:52
@xsb xsb
b40e61b
Compare
Choose a tag to compare

Release Notes

  • Registers are now implemented as previously described in the specification. Thanks to this, tasks can pass values to other tasks. Check Dog's own dogfile for examples of this.
  • Dogfile.yml is now called dog.yml. It looks cleaner and it follows the convention that yaml files are normal definition files so they don't start with caps, different classification from Makefile/Dockerfile/etc.
  • Removed most runners because no one was going to use them. I implemented them initially because it was easy but I wasn't interested in using them either. sh and bash should be enough for now and they are pretty standard. I am not sure yet about Windows support so I removed it, modern Windows supports bash anyway.
  • Much better formatting for task duration time.
  • Added binaries for NetBSD and for ARM architecture. None of this (including Solaris and other BSDs) is tested at this point, help needed.
  • Dockerfile included. Dog container can run tasks if provided with a dogfile as a mounted volume.
  • Listing tasks includes their pre/post tasks.
  • Debug mode (--debug) shows dog version, loaded dogfiles, path and other runtime info.
  • Removed backwards compatibility, deprecation warnings, etc. It was cool as an experiment but this is v0.x so no need for it.
  • Improved regular expressions for task names and dogfiles so implementation follows the specification.
  • [Bugfix] Workdir directive works as documented now.
  • License changed to Apache License Version 2.0.
  • A lot of tests added.

v0.4.0

30 Jan 21:46
@xsb xsb
Compare
Choose a tag to compare

Release Notes

  • The root of the repository now hosts the dog Go package, which implements logic for parsing and manipulating Dogfiles and for constructing and running task chains. The new package dog/run handles the low level execution of tasks. Dog (the cli tool) has been moved into the cmd/dog subdirectory. More info on the reasons for this change can be found in this pull request.
  • GoDoc can be used to read the documentation of the new packages dog and dog/run.
  • Changes in the Dogfile Spec: exec is now runner. run is now code. Backwards compatibility support has been added.
  • Dog uses exit status 1 if the main program fails and exit status 2 if any of the task fails.
  • Support for dotenv has been removed.
  • Renamed status code to exit status. It was wrong.
  • Some examples added into the examples/ directory to show how to use dog as a library.
  • Stdout and Stderr can be configured when running a task chain. This way future dogtools can choose to write output to files or to the network instead of using the operating system's standard outputs.
  • A Bash completion script has been added to extras/dog.bashcompletion.

v0.3.0

28 Aug 22:45
@xsb xsb
Compare
Choose a tag to compare

Release Notes

  • Added option to specify Dogfile dir as a command line argument
  • Improved documentation of the spec
  • Fixed formatting errors introduced in previous release
  • Fixed walking up filesystem when no Dogfile is found
  • Removed option to provide environment variables using comand line arguments
  • Removed Windows Support

v0.2.0

12 Aug 12:43
@xsb xsb
Compare
Choose a tag to compare

Release Notes

  • Tasks without description are not listed. This is useful for tasks that are used as pre/post hooks for other tasks and are not meant to be called directly.
  • Dog works from any subdirectory. When launched, it walks up the filesystem tree until a Dogfile is found. This is similar to how the git cli works.
  • Users can override the task workdir at launch time. Example: dog -w /path/to/dir taskname.
  • Updated instructions on how to install Dog, including homebrew and go get.
  • Now Dog works with interactive tasks that read user input.

v0.1.0

08 Jul 14:14
@xsb xsb
Compare
Choose a tag to compare

Release Notes

  • 🐕
  • 🐶
  • 🐩
  • 🐾