What's new

  • batect now supports connecting to the Docker daemon over TCP.

  • batect now supports configuring the target Docker daemon, either through the DOCKER_HOST environment variable or with the --docker-host command line option.

  • The formatting of the summary shown after a task finishes has been improved, and longer durations will now be shown in a more understandable format. For example, instead of "600.0 seconds", you'll see "10m 0s".

  • It is now possible to override the working directory for a task's main container. For example, in the following example, the build-env container will be started in the /task-override directory when the build task is run:

    containers:
      build-env:
        working_directory: /container-default
    
    tasks:
      build:
        run:
          container: build-env
          working_directory: /task-override
  • The comparison with other tools in the documentation has been expanded to discuss using CI tools' local runners in comparison with batect.

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Feb 14, 2019

What's been fixed

  • The issue where a "bad file descriptor" error could be shown if the main task container exits quickly has been fixed (#65 - thanks to @ineffyble for reporting this issue)

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Feb 8, 2019

What's new

  • batect will now suggest tasks with similar names if the one provided cannot be found, for example: The task 'sometask' does not exist. Did you mean 'some-task'?
  • batect will now show progress information as it removes any temporary files and directories created during task execution if it is running in fancy output mode, which is the default for interactive sessions. (These files were previously being deleted, but there was no indication of this happening.)
  • batect will now show a short summary after a task finishes, for example: some-task finished with exit code 0 in 2.3 seconds.

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Jan 19, 2019

What's been fixed

  • The issue where task prerequisites could be executed in a technically valid but unexpected order has been fixed (#53 - thanks to @ineffyble for reporting this issue)
  • The documentation for command has been clarified to explain the interaction between it and the ENTRYPOINT Dockerfile instruction and the impact this can have on shell syntax features such as && (#52 - thanks to @binkley for providing this feedback)

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Jan 12, 2019

What's been fixed

  • The JVM warning that was shown when running batect with Java 9 or later (WARNING: An illegal reflective access operation has occurred) will no longer be shown.

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Jan 2, 2019

What's new

  • The way in which config files are loaded has been nearly completely rewritten. This provides two main benefits:
    • Speed: loading config files is significantly faster, shaving around 500ms off each invocation (will vary depending on your hardware)
    • Error messages: almost all configuration-related error messages are now significantly clearer and include information like line and column numbers to help track down the source of the error

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

If you're already using batect, run ./batect --upgrade to upgrade automatically.

Assets 4

@charleskorn charleskorn released this Nov 30, 2018

What's been fixed

  • Keyboard input will no longer be printed twice on some operating systems (#21 - thanks to @minnn-minnn and @ineffyble for reporting this issue)

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

  • If you're using batect 0.12 or newer, run ./batect --upgrade to upgrade automatically.
  • If you're using an older version of batect, replace the batect script in your project with the one attached to this release. (Don't forget to make it executable with chmod +x batect if need be.)
Assets 4

@charleskorn charleskorn released this Nov 7, 2018 · 151 commits to master since this release

What's been fixed

  • Tasks that complete very quickly will no longer intermittently fail with "cannot resize stopped container" error messages (#19 - thanks to @Sami5 for reporting this issue)

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

  • If you're using batect 0.12 or newer, run ./batect --upgrade to upgrade automatically.
  • If you're using an older version of batect, replace the batect script in your project with the one attached to this release. (Don't forget to make it executable with chmod +x batect if need be.)
Assets 4

@charleskorn charleskorn released this Nov 5, 2018 · 153 commits to master since this release

30th release! 🎉

What's been fixed

  • Prerequisite tasks will now always be executed in the order given in the configuration file, unless reordering is required to satisfy transitive prerequisites.

    For example, if the main task A has B and C as prerequisites (in that order), then B will be executed first, then C, then A. If B also has C as a prerequisite, then the order will be C, B and then A.

    Thanks to @Sami5 for reporting this offline.

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

  • If you're using batect 0.12 or newer, run ./batect --upgrade to upgrade automatically.
  • If you're using an older version of batect, replace the batect script in your project with the one attached to this release. (Don't forget to make it executable with chmod +x batect if need be.)
Assets 4

@charleskorn charleskorn released this Oct 23, 2018 · 166 commits to master since this release

What's new

  • The documentation has been switched from GitBook to MkDocs. Amongst other things, the documentation is now easier to navigate and search, with features like a per-page table of contents.

  • A new sample project demonstrating the use of batect with Clojure and Leiningen has been added to the list of sample projects. (Thanks to @safiranugroho for agreeing to be included in the list.)

  • The display of all error messages is now clearer and less overwhelming when coloured output is enabled (no more sea of red text). In particular, the messages shown when an image build fails or health check fails have been improved.

    They are now also easier to understand when coloured output is disabled, as colour is no longer the only signal used to communicate the fact that it is, in fact, an error message.

What's been fixed

  • Pressing Ctrl-C during startup or cleanup no longer causes batect to just immediately abort, potentially leaving containers and other resources running. It will now wait for any pending operations to complete and then attempt to cleanup before exiting.

Getting started

First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.

How to upgrade from previous versions

  • If you're using batect 0.12 or newer, run ./batect --upgrade to upgrade automatically.
  • If you're using an older version of batect, replace the batect script in your project with the one attached to this release. (Don't forget to make it executable with chmod +x batect if need be.)
Assets 4