# 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:
  container-starboard-toolchains:

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
    - ${STARBOARD_TOOLCHAINS_DIR:-container-starboard-toolchains}:/root/starboard-toolchains

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}

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}

#### 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
    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
    image: build-base-bionic
    depends_on:
      - base-bionic
    scale: 0

  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}

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

  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}

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

  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

  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

  linux-x64x11-clang-3-9-prebuilt:
    <<: *common-definitions
    <<: *build-volumes
    image: gcr.io/cobalt-tools/build-cobalt-linux-x64x11-clang-3-9:1.4
    environment:
      <<: *shared-build-env
      PLATFORM: linux-x64x11-clang-3-9
      CONFIG: ${CONFIG:-debug}
      USE_CCACHE: ${USE_CCACHE:-1}

  # 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
      IS_DOCKER: 1
      PLATFORM: android-x86
      CONFIG: ${CONFIG:-debug}

  android-x86-gn:
    <<: *build-common-definitions
    image: cobalt-build-android-gn
    depends_on: [ android-x86 ]
    build:
      context: ./docker/linux/android
      dockerfile: ./gn/Dockerfile
    environment:
      <<: *shared-build-env
      IS_DOCKER: 1
      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
      IS_DOCKER: 1
      PLATFORM: android-arm
      CONFIG: ${CONFIG:-debug}

  android-arm-gn:
    <<: *build-common-definitions
    image: cobalt-build-android-gn
    depends_on: [ android-arm ]
    build:
      context: ./docker/linux/android
      dockerfile: ./gn/Dockerfile
    environment:
      <<: *shared-build-env
      IS_DOCKER: 1
      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
      IS_DOCKER: 1
      PLATFORM: android-arm64
      CONFIG: ${CONFIG:-debug}

  android-arm64-gn:
    <<: *build-common-definitions
    image: cobalt-build-android-gn
    depends_on: [ android-arm64 ]
    build:
      context: ./docker/linux/android
      dockerfile: ./gn/Dockerfile
    environment:
      <<: *shared-build-env
      IS_DOCKER: 1
      PLATFORM: android-arm64
      CONFIG: ${CONFIG:-debug}
      TARGET_CPU: ${TARGET_CPU:-arm64}

  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}

  raspi-gn:
    <<: *build-common-definitions
    build:
      context: ./docker/linux/raspi
      dockerfile: ./gn/Dockerfile
    image: cobalt-build-raspi-gn
    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
    environment:
      <<: *shared-build-env

  evergreen-x64:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-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

  evergreen-x86:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-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

  evergreen-arm64:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-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

  evergreen-arm-hardfp:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-arm-hardfp

  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

  evergreen-arm-softfp:
    <<: *build-common-definitions
    image: cobalt-build-evergreen
    depends_on: [ build-evergreen ]
    environment:
      <<: *shared-build-env
      PLATFORM: evergreen-arm-softfp

  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

  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}

  # 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:
    <<: *common-definitions
    build:
      context: ./docker/linux
      dockerfile: unittest/Dockerfile
    image: cobalt-unittest
    environment:
      - PLATFORM=${PLATFORM:-linux-x64x11}
      - CONFIG=${CONFIG:-debug}
    volumes:
      - ${COBALT_SRC:-.}/out/${PLATFORM:-linux-x64x11}_${CONFIG:-debug}:/out
    # TODO: Get NPLB unittests to run with IPv6 without using the host network.
    network_mode: "host"
    depends_on: [ base ]
