version: "3"

services:

  runtime-setup:
    image: netty:default
    build:
      context: .
      dockerfile: Dockerfile.centos

  common: &common
    image: netty:default
    depends_on: [runtime-setup]
    volumes:
      - ~/.ssh:/root/.ssh:delegated
      - ~/.gnupg:/root/.gnupg:delegated
      - ..:/code:delegated
    working_dir: /code

  test-leak:
    <<: *common
    command: /bin/bash -cl "./mvnw -Pleak clean install -Dio.netty.testsuite.badHost=netty.io"

  test:
    <<: *common
    command: /bin/bash -cl "./mvnw clean install -Dio.netty.testsuite.badHost=netty.io"

  test-boringssl-static:
    <<: *common
    command: /bin/bash -cl "./mvnw -P boringssl clean install -Dio.netty.testsuite.badHost=netty.io -Dxml.skip=true"

  shell:
    <<: *common
    environment:
      - SANOTYPE_USER
      - SANOTYPE_PASSWORD
    volumes:
      - ~/.ssh:/root/.ssh:delegated
      - ~/.gnupg:/root/.gnupg:delegated
      - ..:/code:delegated
      - ~/.m2:/root/.m2:delegated
    entrypoint: /bin/bash