Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
anchor

GitHub Action

Docker Compose with Tests Action

v1.1.0

Docker Compose with Tests Action

anchor

Docker Compose with Tests Action

Run your docker-compose file and excute tests inside one of the containers

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Docker Compose with Tests Action

uses: adambirds/[email protected]

Learn more about this action in adambirds/docker-compose-action

Choose a version

Docker Compose Action

This action runs your docker-compose file, allows you to run tests and cleans up before action finished.

Inputs

compose-file

Optional The name of the compose file. Default "./docker-compose.yml".

It can be a list of files:

compose-file: |
  docker-compose.yml
  docker-compose.ci.yml

services

Optional Just perform docker-compose up to one service instead of all of them

up-flags

Optional Used to specify flags to pass to the docker-compose up. Default is none. Can be used to pass the --build flag, for example, if you want persistent volumes to be deleted as well during cleanup. A full list of flags can be found in the docker-compose up documentation.

down-flags

Optional Used to specify flags to pass to the docker-compose down command during cleanup. Default is none. Can be used to pass the --volumes flag, for example, if you want persistent volumes to be deleted as well during cleanup. A full list of flags can be found in the docker-compose down documentation.

compose-flags

Optional Used to specify flags to pass to the docker-compose command. Default is none. A full list of flags can be found in the docker-compose documentation.

test-container

Optional Used to specify the container to run the tests in. Default is none. If not specified, no tests will be run.

test-command

Optional Used to specify the command to run the tests with. Default is none. If not specified, no tests will be run.

Example usage

steps:
  # need checkout before using docker-compose-action
  - uses: actions/checkout@v3
  - uses: adambirds/[email protected]
    with:
      compose-file: "./docker/docker-compose.yml"
      down-flags: "--volumes"
      services: |
        helloworld2
        helloworld3
      test-container: helloworld
      test-command: "npm test"

Using environment variables

steps:
  - uses: actions/checkout@v3
  - uses: adambirds/[email protected]
    with:
      compose-file: "./docker/docker-compose.yml"
    env:
      CUSTOM_VARIABLE: "test"