# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version: '2.4'

volumes:
  android-debug-keystore:
  container-ccache:

x-common-definitions: &common-definitions
  stdin_open: true
  tty: true

x-build-volumes: &build-volumes
  volumes:
    - ${COBALT_SRC:-.}:/code/
    - android-debug-keystore:/root/.android/
    - ${CCACHE_DIR:-container-ccache}:/root/ccache

x-build-common-definitions: &build-common-definitions
  <<:
    - *common-definitions
    - *build-volumes
  depends_on:
    - build-base

x-shared-build-env: &shared-build-env
  NINJA_PARALLEL: ${NINJA_PARALLEL:-32}
  IS_CI: ${IS_CI:-0}
  IS_DOCKER: 1
  PYTHONPATH: /code

x-shared-unittest-definitions: &shared-unittest-definitions
  stdin_open: true
  tty: true
  build:
    context: ./docker/linux
    dockerfile: unittest/Dockerfile
    args:
      - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8}
      - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3}
  image: cobalt-linux-x64x11-unittest
  environment:
    - PLATFORM=${PLATFORM:-linux-x64x11}
    - CONFIG=${CONFIG:-devel}
  volumes:
    - ${COBALT_SRC:-.}/out/${PLATFORM:-linux-x64x11}_${CONFIG:-devel}:/out
    - ${COBALT_SRC:-.}/out/${PLATFORM:-linux-x64x11}_${CONFIG:-devel}/testoutput:/tmp/testoutput
  # TODO: Get NPLB unittests to run with IPv6 without using the host network.
  network_mode: "host"
  depends_on: [ base ]

services:
#### Tools
  pre-commit:
    build:
      context: ./docker/precommit_hooks
      dockerfile: Dockerfile
    image: pre-commit
    volumes:
    - ${COBALT_SRC:-.}:/code/
    environment:
      FROM_REF: ${FROM_REF:-HEAD^1}
      TO_REF: ${TO_REF:-HEAD}

  pytest:
    build:
      context: ./docker/pytest
      dockerfile: Dockerfile
    image: cobalt-build-pytest
    volumes:
    - ${COBALT_SRC:-.}:/code/
    depends_on:
      - base

#### Cobalt build containers
  base:
    build:
      args:
        - BASE_OS
      context: ./docker/linux
      dockerfile: base/Dockerfile
    image: cobalt-base
    scale: 0

  base-bionic:
    build:
      args:
        - BASE_OS=gcr.io/cloud-marketplace-containers/google/ubuntu1804
        - BASE_OS_TAG=latest
      context: ./docker/linux
      dockerfile: base/Dockerfile
    image: base-bionic
    scale: 0

  # Define common build container for Linux
  build-base:
    build:
      context: ./docker/linux
      dockerfile: base/build/Dockerfile
      args:
        # Should match version pinned by Starboard
        - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8}
        - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3}
    image: cobalt-build-base
    depends_on:
      - base
    scale: 0

  build-base-bionic:
    build:
      context: ./docker/linux
      dockerfile: base/build/Dockerfile
      args:
        - FROM_IMAGE=base-bionic
        - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8}
        - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3}
    image: build-base-bionic
    depends_on:
      - base-bionic
    scale: 0

  build-linux-stub:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: stub/Dockerfile
    image: cobalt-build-linux-stub
    depends_on: [ build-base ]
    environment:
      <<: *shared-build-env

  stub:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: stub/Dockerfile
    image: cobalt-build-linux-stub
    depends_on: [ build-base ]
    environment:
      <<: *shared-build-env
      PLATFORM: stub
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: ${SB_API_VERSION}

  build-linux:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: linux-x64x11/Dockerfile
    image: cobalt-build-linux
    depends_on: [ build-base ]
    environment:
      <<: *shared-build-env

  linux-x64x11:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: linux-x64x11/Dockerfile
    image: cobalt-build-linux
    depends_on: [ build-base ]
    environment:
      <<: *shared-build-env
      PLATFORM: linux-x64x11
      CONFIG: ${CONFIG:-debug}
      TARGET: ${TARGET:-cobalt_install}
      SB_API_VERSION: ${SB_API_VERSION}

  linux-x64x11-bionic:
    <<:
      - *common-definitions
      - *build-volumes
    build:
      context: ./docker/linux
      dockerfile: linux-x64x11/Dockerfile
      args:
        - FROM_IMAGE=build-base-bionic
    image: linux-x64x11-bionic
    depends_on:
      - build-base-bionic
    scale: 0

  linux-x64x11-gcc:
    <<:
      - *common-definitions
      - *build-volumes
    build:
      context: ./docker/linux
      dockerfile: gcc-6-3/Dockerfile
    image: cobalt-build-linux-gcc
    environment:
      <<: *shared-build-env
      PLATFORM: linux-x64x11-gcc-6-3
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: ${SB_API_VERSION}
    depends_on:
      - linux-x64x11-bionic

  build-linux-gcc:
    <<:
      - *common-definitions
      - *build-volumes
    build:
      context: ./docker/linux
      dockerfile: gcc-6-3/Dockerfile
    image: cobalt-build-linux-gcc
    depends_on:
      - linux-x64x11-bionic

  linux-x64x11-clang-3-9:
    <<:
      - *common-definitions
      - *build-volumes
    build:
      context: ./docker/linux/
      dockerfile: clang-3-9/Dockerfile
    image: cobalt-build-linux-clang-3-9
    environment:
      <<: *shared-build-env
      PLATFORM: linux-x64x11-clang-3-9
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: ${SB_API_VERSION}
    depends_on:
      - linux-x64x11-bionic

  build-linux-clang-3-9:
    <<:
      - *common-definitions
      - *build-volumes
    build:
      context: ./docker/linux/
      dockerfile: clang-3-9/Dockerfile
    image: cobalt-build-linux-clang-3-9
    depends_on:
      - linux-x64x11-bionic

  # Define common build container for Android
  build-android:
    <<: *build-common-definitions
    build:
      context: ./docker/linux/android
      dockerfile: ./Dockerfile
    image: cobalt-build-android
    scale: 0

  android-x86:
    <<: *build-common-definitions
    image: cobalt-build-android
    depends_on: [ build-android ]
    environment:
      <<: *shared-build-env
      PLATFORM: android-x86
      CONFIG: ${CONFIG:-debug}
      TARGET_CPU: ${TARGET_CPU:-x86}
      SB_API_VERSION: ${SB_API_VERSION}

  android-arm:
    <<: *build-common-definitions
    image: cobalt-build-android
    depends_on: [ build-android ]
    environment:
      <<: *shared-build-env
      PLATFORM: android-arm
      CONFIG: ${CONFIG:-debug}
      TARGET_CPU: ${TARGET_CPU:-arm}
      SB_API_VERSION: ${SB_API_VERSION}

  android-arm64:
    <<: *build-common-definitions
    image: cobalt-build-android
    depends_on: [ build-android ]
    environment:
      <<: *shared-build-env
      PLATFORM: android-arm64
      CONFIG: ${CONFIG:-debug}
      TARGET_CPU: ${TARGET_CPU:-arm64}
      SB_API_VERSION: ${SB_API_VERSION}

  build-raspi:
    <<: *build-common-definitions
    build:
      context: ./docker/linux/raspi
      dockerfile: ./Dockerfile
    image: cobalt-build-raspi
    environment:
      <<: *shared-build-env

  raspi:
    <<: *build-common-definitions
    build:
      context: ./docker/linux/raspi
      dockerfile: ./Dockerfile
    image: cobalt-build-raspi
    environment:
      <<: *shared-build-env
      PLATFORM: ${PLATFORM:-raspi-2}
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: ${SB_API_VERSION}

  # Define common build container for Evergreen
  build-evergreen:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: evergreen/Dockerfile
    image: cobalt-build-evergreen
    depends_on: [ build-base ]
    environment:
      <<: *shared-build-env

  evergreen-x64:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-x64
      TARGET_CPU: ${TARGET_CPU:-x64}
      SB_API_VERSION: ${SB_API_VERSION}

  evergreen-x86:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-x86
      TARGET_CPU: ${TARGET_CPU:-x86}
      SB_API_VERSION: ${SB_API_VERSION}

  evergreen-arm64:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-arm64
      TARGET_CPU: ${TARGET_CPU:-arm64}
      SB_API_VERSION: ${SB_API_VERSION}

  evergreen-arm-hardfp:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-arm-hardfp
      TARGET_CPU: ${TARGET_CPU:-arm}
      SB_API_VERSION: ${SB_API_VERSION}

  evergreen-arm-softfp:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-arm-softfp
      TARGET_CPU: ${TARGET_CPU:-arm}
      SB_API_VERSION: ${SB_API_VERSION}

  # Defined common build image for linux-evergreen
  build-linux-evergreen:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: linux-x64x11/Dockerfile
      args:
        - FROM_IMAGE=cobalt-build-evergreen
    image: cobalt-build-linux-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env

  linux-x64x11-evergreen:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: linux-x64x11/Dockerfile
      args:
        - FROM_IMAGE=cobalt-build-evergreen
    image: cobalt-build-linux-x64x11-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: linux-x64x11
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: ${SB_API_VERSION}

  # Defined common build image for android-evergreen
  build-android-evergreen:
    <<: *build-common-definitions
    build:
      context: ./docker/linux
      dockerfile: android/Dockerfile
      args:
        - FROM_IMAGE=cobalt-build-evergreen
    image: cobalt-build-android-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env

  # Example usage of unittest:
  # 1. Build the containers for which you want to unittest
  # docker compose up --build --no-start linux-x64x11-unittest
  # 2. Build the 'all' target for the platform you want to test
  # PLATFORM=linux-x64x11 CONFIG=devel TARGET=all docker compose run linux-x64x11
  # 3. Run the unittests for that target.
  # PLATFORM=linux-x64x11 CONFIG=devel docker compose run linux-x64x11-unittest
  linux-x64x11-unittest:
    <<: *shared-unittest-definitions

  # Stub container that launches all shard containers in parallel.
  linux-x64x11-unittest-parallel:
    image: cobalt-base
    entrypoint: ["/bin/sh", "-c", "echo", "done"]
    depends_on:
      - linux-x64x11-unittest-parallel-0
      - linux-x64x11-unittest-parallel-1
      - linux-x64x11-unittest-parallel-2
      - linux-x64x11-unittest-parallel-3

  linux-x64x11-unittest-parallel-0:
    <<: *shared-unittest-definitions
    entrypoint: ["python3", "/unittest_docker_launcher.py", "0"]

  linux-x64x11-unittest-parallel-1:
    <<: *shared-unittest-definitions
    entrypoint: ["python3", "/unittest_docker_launcher.py", "1"]

  linux-x64x11-unittest-parallel-2:
    <<: *shared-unittest-definitions
    entrypoint: ["python3", "/unittest_docker_launcher.py", "2"]

  linux-x64x11-unittest-parallel-3:
    <<: *shared-unittest-definitions
    entrypoint: ["python3", "/unittest_docker_launcher.py", "3"]

  xvfb:
    image: cobalt-xvfb
    ports:
      - "99:99"
    build:
      context: ./docker/linux/
      dockerfile: xvfb/Dockerfile
    depends_on: [ linux-x64x11-unittest ]

  linux-x64x11-integration-test:
    <<: *build-common-definitions
    image: cobalt-integration-test
    build:
      context: ./docker/linux/
      dockerfile: integration_test/Dockerfile
    depends_on: [ xvfb ]
    working_dir: /code
    environment:
      - DISPLAY=xvfb:99
      - IPV6_AVAILABLE=0
      - PYTHONPATH=/code
      - PLATFORM=${PLATFORM:-linux-x64x11}
      - CONFIG=${CONFIG:-devel}
