Batect Versions Save

(NOT MAINTAINED) Build And Testing Environments as Code Tool

0.83.1

1 year ago
  • Fixed: multiple invocations of Batect could conflict with each other if each was trying to clone the same Git repository at the same time (#1409 - thanks to @or1can for the bug report)

  • Fixed: mapping the same container port to multiple host ports would result in only the last host port being mapped (#1412 - thanks to @MarwanAwroojXero for the bug report)

0.83.0

1 year ago
  • New: task exit codes will now be printed in green (for zero exit codes) or red (for non-zero exit codes)

  • Fixed: a failed Git clone operation for Git repositories used as bundles could leave the clone in an incomplete state for future runs that reference the same bundle, leading to unclear error messages or unexpected behaviour (#1256 - thanks to @isaac-patterson for the bug report)

  • Fixed: arrow keys, backspace and other interactive functionality did not work when running on Windows hosts (#1392 - thanks to @lbv for the bug report)

0.82.0

1 year ago
  • New: it is now possible to securely forward SSH keys or an SSH agent to BuildKit image builds (#1128 - thanks to @hpcsc for the suggestion)

    This allows you to use SSH from within an image build (eg. to clone Git repositories) without SSH keys being baked into the image itself.

    See the documentation for build_ssh for more information and examples.

  • New: it is now possible to securely pass secrets to BuildKit image builds

    This allows you to use sensitive values while building images without these values being baked into the image itself.

    See the documentation for build_secrets for more information and examples.

  • Fixed: Batect would fail to start on GitHub-hosted Windows runners on GitHub Actions with an error like "The value 'master-dockerproject-2022-03-26' is not recognised as a valid version."

0.81.1

1 year ago
  • Fixed: Batect would fail to start if /tmp was mounted noexec (#1340 - thanks to @or1can for the bug report)

0.81.0

1 year ago
  • New: it is now possible to add labels to containers (#1152 - thanks to @pmioulet for the suggestion)

  • New: it is now possible to mount tmpfs filesystems into containers (#1241 - thanks to @sergiolpf for the suggestion)

0.80.1

1 year ago
  • Fixed: running a task with a prerequisite on a Linux host will no longer fail with read /dev/stdin: file already closed (thanks to @ineffyble for reporting this offline)

Thanks also to @sschuberth for a number of behind-the-scenes improvements to Batect's development setup.

0.80.0

1 year ago
  • New: Batect now supports Docker contexts, and will automatically use the active context to retrieve Docker daemon connection information.

    This means that Batect can now be used with tools like Colima and Rancher Desktop without needing to set the DOCKER_HOST environment variable.

  • New: Batect's Docker client has been rebuilt from the ground up, providing improved performance, reliability and parity with the docker CLI.

    The new client is also vastly easier to maintain, and this should make adding new features much easier.

    This should have no visible negative impact. If you encounter any problems, please open an issue.

  • Improved: the wrapper script will now automatically retry in the event of download failures, improving its resilience in the face of transient network issues.

Known issues

  • Batect fails to start when running on Alpine Linux (#1335): unfortunately this is the result of a bug in the Golang compiler (https://github.com/golang/go/issues/54805). For now, please either use an older version of Batect or switch to another Linux distribution that does not use musl libc, such as Ubuntu.

0.79.1

2 years ago
  • Fixed: Batect could fail with error messages like java.lang.NoSuchMethodError: 'java.util.List java.util.stream.Stream.toList()' when running on Java 15 or earlier.

0.79.0

2 years ago
  • New: checksums for the wrapper scripts will now be published for each release and attached to the GitHub release (see 'assets' below)

    These checksums can be used to easily verify the integrity of the wrapper scripts used in your project.

    For example, these checksums are used by the new batect-wrapper-validation-action action, which validates the integrity of the wrapper scripts as part of a GitHub Actions workflow.

  • Fixed: downloading update information and updated files and uploading telemetry data (if opted-in) would fail if your system connects to the internet via an encryption-terminating proxy that was not trusted by your Java installation.

    These features will now work correctly on macOS and Windows provided your operating system certificate settings are configured to trust the proxy's certificate, which matches the behaviour of browsers and other tools.

    :warning: If you use macOS, it's recommended you upgrade to one of the following Java versions to fix a security vulnerability related to this functionality:

    • JDK 8: 8u332 or later
    • JDK 11: 11.0.15 or later
    • JDK 17: 17.0.3 or later
    • JDK 18: 18.0.1 or later
    • All versions of JDK 19 or later

0.78.0

2 years ago
  • Changed: Batect will now use BuildKit for image builds by default if the Docker daemon reports that it supports BuildKit (#1156 - thanks to @sschuberth for the issue report)

    BuildKit improves the performance of image builds, as well as adding many new features. Not all of BuildKit's features are currently supported by Batect.

    Batect's BuildKit support has been in use for many months now and there are no known issues. If you encounter any issues as a result of this change, disable BuildKit by setting the DOCKER_BUILDKIT environment variable to 0 and report an issue.