| # 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 |
| 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} |
| SCCACHE: 1 |
| SCCACHE_DIR: c:/root/sccache |
| SCCACHE_CACHE_SIZE: "30G" |
| |
| services: |
| |
| # ---------------------------------------- |
| # Base images for Visual Studio dependency |
| # ---------------------------------------- |
| |
| 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 |
| |
| visual-studio-2022-base: |
| build: |
| context: ./docker/windows/base/visualstudio2022 |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2019 |
| image: visual-studio-2022-base |
| scale: 0 |
| |
| 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 |
| |
| visual-studio-2022-win32-base: |
| build: |
| context: ./docker/windows/base/visualstudio2022 |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=mcr.microsoft.com/windows:1809 |
| image: visual-studio-2022-win32-base |
| scale: 0 |
| |
| # ----------------------------------------------- |
| # Cobalt-Build images for windows-based platforms |
| # ----------------------------------------------- |
| |
| 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 |
| |
| cobalt-build-vs2022-win-base: |
| build: |
| context: ./docker/windows/base/build |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=visual-studio-2022-base |
| image: cobalt-build-vs2022-win-base |
| scale: 0 |
| depends_on: |
| - visual-studio-2022-base |
| |
| 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 |
| |
| cobalt-build-vs2022-win32-base: |
| build: |
| context: ./docker/windows/base/build |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=visual-studio-2022-win32-base |
| depends_on: |
| - visual-studio-2022-win32-base |
| image: cobalt-build-vs2022-win32-base |
| scale: 0 |
| |
| build-win-win32: |
| <<: *common-definitions |
| build: |
| context: ./docker/windows/win32 |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=cobalt-build-win32-base |
| depends_on: |
| - cobalt-build-win32-base |
| image: cobalt-build-win-win32 |
| |
| # ----------------------------------------- |
| # Win32 Platform Images for Building Cobalt |
| # ----------------------------------------- |
| |
| win-win32: |
| <<: *common-definitions |
| build: |
| context: ./docker/windows/win32 |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=cobalt-build-win32-base |
| depends_on: |
| - cobalt-build-win32-base |
| environment: |
| <<: *shared-build-env |
| PLATFORM: win-win32 |
| image: cobalt-build-win32 |
| |
| win-win32-vs2022: |
| <<: *common-definitions |
| build: |
| context: ./docker/windows/win32 |
| dockerfile: ./Dockerfile |
| args: |
| - FROM_IMAGE=cobalt-build-vs2022-win32-base |
| depends_on: |
| - cobalt-build-vs2022-win32-base |
| environment: |
| <<: *shared-build-env |
| PLATFORM: win-win32 |
| image: cobalt-build-win32-vs2022 |
| |
| 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 |