# 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:
  container-sccache:

x-common-definitions: &common-definitions
  stdin_open: true
  environment:
    - SCCACHE_DIR=c:/root/sccache
    - SCCACHE_CACHE_SIZE="30G"
  tty: true
  volumes:
    - ${COBALT_SRC:-.}:c:/code/
    - ${SCCACHE_DIR:-container-sccache}:c:/root/sccache/
  cpus: ${DOCKER_CPUS:-12}
  mem_limit: ${DOCKER_MEMLIMIT:-100000M}

x-shared-build-env: &shared-build-env
  IS_CI: ${IS_CI:-0}
  IS_DOCKER: 1
  PYTHONPATH: c:/code/
  CONFIG: ${CONFIG:-devel}
  TARGET: ${TARGET:-cobalt_install}
  NINJA_FLAGS: ${NINJA_FLAGS}

services:
  visual-studio-base:
    build:
      context: ./docker/windows/base/visualstudio2017
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2019
    image: visual-studio-base
    scale: 0

  cobalt-build-win-base:
    build:
      context: ./docker/windows/base/build
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=visual-studio-base
    image: cobalt-build-win-base
    scale: 0
    depends_on:
      - visual-studio-base

  visual-studio-win32-base:
    build:
      context: ./docker/windows/base/visualstudio2017
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=mcr.microsoft.com/windows:1809
    image: visual-studio-win32-base
    scale: 0

  cobalt-build-win32-base:
    build:
      context: ./docker/windows/base/build
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=visual-studio-win32-base
    image: cobalt-build-win32-base
    scale: 0
    depends_on:
      - visual-studio-win32-base

  build-win-win32:
    <<: *common-definitions
    build:
      context: ./docker/windows/win32
      dockerfile: ./Dockerfile
    depends_on:
      - cobalt-build-win32-base
    image: cobalt-build-win-win32

  win-win32:
    <<: *common-definitions
    build:
      context: ./docker/windows/win32
      dockerfile: ./Dockerfile
    depends_on:
      - cobalt-build-win32-base
    environment:
      <<: *shared-build-env
      PLATFORM: win-win32
    image: cobalt-build-win32

  runner-win-win32:
    <<: *common-definitions
    build:
      context: ./docker/windows/runner
      dockerfile: ./Dockerfile
      args:
        - RUNNER_VERSION=2.294.0
    depends_on:
      - cobalt-build-win32-base
    image: cobalt-runner-win-win32
