github batect/batect 0.61.0

latest releases: 0.85.0, 0.84.0, 0.83.9...
3 years ago

Changes in this release:

  • New: it's now possible to modify the configuration of dependency containers on a per-task basis.

    For example, let's say you want to run integration tests for your service against a dependency that operates in two different modes. Previously, you would have had to have separate container definitions for each mode:

    containers:
      test-env:
        image: ...
    
      dependency-mode-a:
        image: ...
        environment:
          MODE: A
    
      dependency-mode-b:
        image: ...
        environment:
          MODE: B
    
    tasks:
      integration-test-mode-a:
        dependencies:
          - dependency-mode-a
        run:
          container: test-env
          command: ./integration-test
    
      integration-test-mode-b:
        dependencies:
          - dependency-mode-b
        run:
          container: test-env
          command: ./integration-test

    Now, you can use the same container definition for both tasks, reducing duplication and making your intention clearer:

    containers:
      test-env:
        image: ...
    
      dependency:
        image: ...
    
    tasks:
      integration-test-mode-a:
        dependencies:
          - dependency
        run:
          container: test-env
          command: ./integration-test
        customise:
          dependency:
            environment:
              MODE: A
    
      integration-test-mode-b:
        dependencies:
          - dependency
        run:
          container: test-env
          command: ./integration-test
        customise:
          dependency:
            environment:
              MODE: B

    Customisations support setting the working directory, exposing additional ports and adding or overriding environment variables.

    For more information, see the customisation section of the documentation.

Getting started

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

How to upgrade from previous versions

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

Don't miss a new batect release

NewReleases is sending notifications on new releases.