# 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-docsite-definitions: &shared-docsite-definitions
  <<: *build-common-definitions
  build:
    context: ./docker/docsite
    dockerfile: Dockerfile
    args:
      - USER=root
      - UID=2000
      - GID=2000
  environment:
    <<: *shared-build-env

x-shared-unittest-definitions: &shared-unittest-definitions
  stdin_open: true
  tty: true
  build:
    context: ./docker/linux
    dockerfile: unittest/Dockerfile
  image: cobalt-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}
    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}
    image: build-base-bionic
    depends_on:
      - base-bionic
    scale: 0

  docsite:
    <<: *shared-docsite-definitions
    image: cobalt-build-docsite
    ports:
      # The docsite webapp runs on port 4000.
      - "4000:4000"

  docsite-deploy:
    <<: *shared-docsite-definitions
    image: cobalt-build-docsite-deploy
    entrypoint: ["/code/third_party/repo-publishing-toolkit-local/preview-site.sh", "deploy"]

  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}

  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}

  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}
    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}
    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}

  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}

  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}

  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}

  # 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}

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

  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}

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

  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}

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

  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}

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

  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}

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

  # 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-sbversion12-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-sbversion-12
      CONFIG: ${CONFIG:-debug}
      SB_API_VERSION: 12

  # 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 TARGET=all docker-compose run unittest
  unittest:
    <<: *shared-unittest-definitions

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

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

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

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

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