From e46b47e4b428cb5ee5a4342b1641b06331d63602 Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Thu, 11 Jul 2024 09:36:00 +0200 Subject: [PATCH] Build windows container in CI --- .gitlab/ci-images.yml | 78 +++++++++++++++++++++++ dockerfiles/ci/windows/docker-compose.yml | 30 +++++++++ 2 files changed, 108 insertions(+) diff --git a/.gitlab/ci-images.yml b/.gitlab/ci-images.yml index 706d1e9c3bc..af38fec846b 100644 --- a/.gitlab/ci-images.yml +++ b/.gitlab/ci-images.yml @@ -115,3 +115,81 @@ Ubuntu Buster: - cd dockerfiles/ci/buster - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY - docker buildx bake --no-cache --pull --push $PHP_VERSION + +Windows: + stage: ci-build + rules: + - when: manual + needs: [] + tags: ["runner:windows-docker", "windowsversion:1809"] + timeout: 1h + parallel: + matrix: + - BUILD_NAME: "vc14-base" + IMAGE_TAG: "datadog/dd-trace-ci:windows-base-vc14" + DOCKERFILE: "vc14.Dockerfile" + - BUILD_NAME: "vc15-base" + IMAGE_TAG: "datadog/dd-trace-ci:windows-base-vc15" + DOCKERFILE: "vc15.Dockerfile" + - BUILD_NAME: "vs16-base" + IMAGE_TAG: "datadog/dd-trace-ci:windows-base-vs16" + DOCKERFILE: "vs16.Dockerfile" + - BUILD_NAME: "vc14" + IMAGE_TAG: "datadog/dd-trace-ci:windows-vc14" + DOCKERFILE: "basetools.Dockerfile" + ARGS: "--build-arg vsVersion=vc14 --build-arg sdkVersion=2.1.10" + - BUILD_NAME: "vc15" + IMAGE_TAG: "datadog/dd-trace-ci:windows-vc15" + DOCKERFILE: "basetools.Dockerfile" + ARGS: "--build-arg vsVersion=vc15 --build-arg sdkVersion=2.2.0" + - BUILD_NAME: "vs16" + IMAGE_TAG: "datadog/dd-trace-ci:windows-vs16" + DOCKERFILE: "basetools.Dockerfile" + ARGS: "--build-arg vsVersion=vs16 --build-arg sdkVersion=2.2.0" + - BUILD_NAME: "php-8.3" + IMAGE_TAG: "datadog/dd-trace-ci:php-8.3_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=8.3.9 --build-arg vsVersion=vs16 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-8.3.9.tar.gz --build-arg phpSha256Hash=f484dec6ee005c83f899af02fc021e1bc3b1d7b3f143ca062ef66b0fcee96566" + - BUILD_NAME: "php-8.2" + IMAGE_TAG: "datadog/dd-trace-ci:php-8.2_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=8.2.21 --build-arg vsVersion=vs16 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-8.2.21.tar.gz --build-arg phpSha256Hash=0c6323699309a4d2e71057f01bc071b199f240973c349287b667a3ab36a496c6" + - BUILD_NAME: "php-8.1" + IMAGE_TAG: "datadog/dd-trace-ci:php-8.1_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=8.1.29 --build-arg vsVersion=vs16 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-8.1.29.tar.gz --build-arg phpSha256Hash=8b2609bf1d3173aa38269a9af21532c65f730aadd3051f9aae011eea9e246de5" + - BUILD_NAME: "php-8.0" + IMAGE_TAG: "datadog/dd-trace-ci:php-8.0_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=8.0.28 --build-arg vsVersion=vs16 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-8.0.28.tar.gz --build-arg phpSha256Hash=7432184eae01e4e8e39f03f80e8ec0ca2c8bfebc56e9a7b983541ca8805df22f" + - BUILD_NAME: "php-7.4" + IMAGE_TAG: "datadog/dd-trace-ci:php-7.4_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=7.4.33 --build-arg vsVersion=vc15 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-7.4.33.tar.gz --build-arg phpSha256Hash=5a2337996f07c8a097e03d46263b5c98d2c8e355227756351421003bea8f463e" + - BUILD_NAME: "php-7.3" + IMAGE_TAG: "datadog/dd-trace-ci:php-7.3_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=7.3.33 --build-arg vsVersion=vc15 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-7.3.33.tar.gz --build-arg phpSha256Hash=9a369c32c6f52036b0a890f290327f148a1904ee66aa56e2c9a7546da6525ec8" + - BUILD_NAME: "php-7.2" + IMAGE_TAG: "datadog/dd-trace-ci:php-7.2_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=7.2.34 --build-arg vsVersion=vc15 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-7.2.34.tar.gz --build-arg phpSha256Hash=8b2777c741e83f188d3ca6d8e98ece7264acafee86787298fae57e05d0dddc78" + - BUILD_NAME: "php-7.1" + IMAGE_TAG: "datadog/dd-trace-ci:php-7.1_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=7.1.33 --build-arg vsVersion=vc14 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-7.1.33.tar.gz --build-arg phpSha256Hash=0055f368ffefe51d5a4483755bd17475e88e74302c08b727952831c5b2682ea2" + - BUILD_NAME: "php-7.0" + IMAGE_TAG: "datadog/dd-trace-ci:php-7.0_windows" + DOCKERFILE: "Dockerfile" + ARGS: "--build-arg phpVersion=7.0.33 --build-arg vsVersion=vc14 --build-arg phpTarGzUrl=https://www.php.net/distributions/php-7.0.33.tar.gz --build-arg phpSha256Hash=d71a6ecb6b13dc53fed7532a7f8f949c4044806f067502f8fb6f9facbb40452a" + hooks: + pre_get_sources_script: + - docker build --help + - git config --system core.longpaths true + - echo "{}" > C:\\Windows\\system32\\config\\systemprofile\\.docker\\config.json + - type C:\\Windows\\system32\\config\\systemprofile\\.docker\\config.json + script: + - | + cd dockerfiles/ci/windows + docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY + docker build --platform windows/amd64 -t $IMAGE_TAG -f $DOCKERFILE $ARGS . diff --git a/dockerfiles/ci/windows/docker-compose.yml b/dockerfiles/ci/windows/docker-compose.yml index 90dca78aa89..337cc390bce 100644 --- a/dockerfiles/ci/windows/docker-compose.yml +++ b/dockerfiles/ci/windows/docker-compose.yml @@ -5,24 +5,32 @@ services: vc14-base: image: datadog/dd-trace-ci:windows-base-vc14 build: + platforms: + - windows/amd64 context: . dockerfile: vc14.Dockerfile vc15-base: image: datadog/dd-trace-ci:windows-base-vc15 build: + platforms: + - windows/amd64 context: . dockerfile: vc15.Dockerfile vs16-base: image: datadog/dd-trace-ci:windows-base-vs16 build: + platforms: + - windows/amd64 context: . dockerfile: vs16.Dockerfile vc14: image: datadog/dd-trace-ci:windows-vc14 build: + platforms: + - windows/amd64 context: . dockerfile: basetools.Dockerfile args: @@ -32,6 +40,8 @@ services: vc15: image: datadog/dd-trace-ci:windows-vc15 build: + platforms: + - windows/amd64 context: . dockerfile: basetools.Dockerfile args: @@ -41,6 +51,8 @@ services: vs16: image: datadog/dd-trace-ci:windows-vs16 build: + platforms: + - windows/amd64 context: . dockerfile: basetools.Dockerfile args: @@ -50,6 +62,8 @@ services: php-8.3: image: datadog/dd-trace-ci:php-8.3_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "8.3.9" @@ -60,6 +74,8 @@ services: php-8.2: image: datadog/dd-trace-ci:php-8.2_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "8.2.21" @@ -70,6 +86,8 @@ services: php-8.1: image: datadog/dd-trace-ci:php-8.1_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "8.1.29" @@ -80,6 +98,8 @@ services: php-8.0: image: datadog/dd-trace-ci:php-8.0_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "8.0.28" @@ -90,6 +110,8 @@ services: php-7.4: image: datadog/dd-trace-ci:php-7.4_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "7.4.33" @@ -100,6 +122,8 @@ services: php-7.3: image: datadog/dd-trace-ci:php-7.3_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "7.3.33" @@ -110,6 +134,8 @@ services: php-7.2: image: datadog/dd-trace-ci:php-7.2_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "7.2.34" @@ -120,6 +146,8 @@ services: php-7.1: image: datadog/dd-trace-ci:php-7.1_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "7.1.33" @@ -130,6 +158,8 @@ services: php-7.0: image: datadog/dd-trace-ci:php-7.0_windows build: + platforms: + - windows/amd64 context: . args: phpVersion: "7.0.33"