<commit_before>pr: none

schedules:
  - cron: "0 5 * * Mon-Fri"
    displayName: Mon-Fri at 7:00
    branches:
      include:
        - main
        - joao/web

trigger:
  branches:
    include: ["main", "release/*"]

parameters:
  - name: VSCODE_DISTRO_REF
    displayName: Distro Ref (Private build)
    type: string
    default: " "
  - name: VSCODE_QUALITY
    displayName: Quality
    type: string
    default: insider
    values:
      - exploration
      - insider
      - stable
  - name: NPM_REGISTRY
    displayName: "Custom NPM Registry"
    type: string
    default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
  - name: VSCODE_BUILD_WIN32
    displayName: "🎯 Windows x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WIN32_32BIT
    displayName: "🎯 Windows ia32"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WIN32_ARM64
    displayName: "🎯 Windows arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX
    displayName: "🎯 Linux x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ARM64
    displayName: "🎯 Linux arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ARMHF
    displayName: "🎯 Linux armhf"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ALPINE
    displayName: "🎯 Alpine Linux x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ALPINE_ARM64
    displayName: "🎯 Alpine Linux arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS
    displayName: "🎯 macOS x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS_ARM64
    displayName: "🎯 macOS arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS_UNIVERSAL
    displayName: "🎯 macOS universal"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WEB
    displayName: "🎯 Web"
    type: boolean
    default: true
  - name: VSCODE_BUILD_TUNNEL_CLI
    displayName: "Build Tunnel CLI"
    type: boolean
    default: true
  - name: VSCODE_PUBLISH
    displayName: "Publish to builds.code.visualstudio.com"
    type: boolean
    default: true
  - name: VSCODE_PUBLISH_TO_MOONCAKE
    displayName: "Publish to Azure China"
    type: boolean
    default: true
  - name: VSCODE_RELEASE
    displayName: "Release build if successful"
    type: boolean
    default: false
  - name: VSCODE_COMPILE_ONLY
    displayName: "Run Compile stage exclusively"
    type: boolean
    default: false
  - name: VSCODE_STEP_ON_IT
    displayName: "Skip tests"
    type: boolean
    default: false

variables:
  - name: VSCODE_DISTRO_REF
    value: ${{ parameters.VSCODE_DISTRO_REF }}
  - name: NPM_REGISTRY
    value: ${{ parameters.NPM_REGISTRY }}
  - name: VSCODE_QUALITY
    value: ${{ parameters.VSCODE_QUALITY }}
  - name: VSCODE_BUILD_STAGE_WINDOWS
    value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_LINUX
    value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_MACOS
    value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_WEB
    value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
  - name: VSCODE_CIBUILD
    value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
  - name: VSCODE_PUBLISH
    value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false)) }}
  - name: VSCODE_PUBLISH_TO_MOONCAKE
    value: ${{ eq(parameters.VSCODE_PUBLISH_TO_MOONCAKE, true) }}
  - name: VSCODE_SCHEDULEDBUILD
    value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
  - name: VSCODE_STEP_ON_IT
    value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
  - name: VSCODE_BUILD_MACOS_UNIVERSAL
    value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
  - name: AZURE_CDN_URL
    value: https://az764295.vo.msecnd.net
  - name: AZURE_DOCUMENTDB_ENDPOINT
    value: https://vscode.documents.azure.com:443/
  - name: MOONCAKE_CDN_URL
    value: https://vscode.cdn.azure.cn
  - name: VSCODE_MIXIN_REPO
    value: microsoft/vscode-distro
  - name: skipComponentGovernanceDetection
    value: true
  - name: Codeql.SkipTaskAutoInjection
    value: true

name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"

resources:
  containers:
    - container: vscode-bionic-x64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: vscode-arm64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: vscode-armhf
      image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: centos7-devtoolset8-x64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-x64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: snapcraft
      image: snapcore/snapcraft:stable

stages:
  - stage: Compile
    jobs:
      - job: Compile
        pool: vscode-1es-linux
        variables:
          VSCODE_ARCH: x64
        steps:
          - template: product-compile.yml
            parameters:
              VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}

  - ${{ if eq(parameters.VSCODE_BUILD_TUNNEL_CLI, true) }}:
    - stage: CompileCLI
      dependsOn: []
      jobs:
        - ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true)) }}:
          - job: LinuxX64
            pool: vscode-1es-linux
            steps:
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX: ${{ parameters.VSCODE_BUILD_LINUX }}
                  VSCODE_BUILD_LINUX_ALPINE: ${{ parameters.VSCODE_BUILD_LINUX_ALPINE }}

        - ${{ if or(eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
          - job: LinuxGnuARM
            pool: vscode-1es-linux
            steps:
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX_ARMHF: ${{ parameters.VSCODE_BUILD_LINUX_ARMHF }}
                  VSCODE_BUILD_LINUX_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true) }}:
          - job: LinuxAlpineARM64
            pool: vscode-1es-linux-20.04-arm64
            steps:
              - task: NodeTool@0
                displayName: Install Node.js
                inputs:
                  versionSpec: 16.x
              - script: |
                  set -e
                  npm install -g yarn
                displayName: Install yarn
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX_ALPINE_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
          - job: MacOSX64
            pool:
              vmImage: macOS-11
            steps:
              - template: ./darwin/cli-build-darwin.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}

        - ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}:
          - job: MacOSARM64
            pool:
              vmImage: macOS-11
            steps:
              - template: ./darwin/cli-build-darwin.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
          - job: WindowsX64
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}

        - ${{ if eq(parameters.VSCODE_BUILD_WIN32_ARM64, true) }}:
          - job: WindowsARM64
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_WIN32_32BIT, true) }}:
          - job: WindowsX86
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32_32BIT: ${{ parameters.VSCODE_BUILD_WIN32_32BIT }}

  - ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
      - stage: Windows
        dependsOn:
          - Compile
          - ${{ if eq(parameters.VSCODE_BUILD_TUNNEL_CLI, true) }}:
            - CompileCLI
        pool: vscode-1es-windows
        jobs:
          - ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
              - job: WindowsUnitTests
                displayName: Unit Tests
                timeoutInMinutes: 60
                variables:
                  VSCODE_ARCH: x64
                steps:
                  - template: win32/product-build-win32.yml
                    parameters:
                      VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
                      VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                      VSCODE_BUILD_TUNNEL_CLI: false
                      VSCODE_RUN_UNIT_TESTS: true
                      VSCODE_RUN_INTEGRATION_TESTS: false<commit_msg>cli: only build common platforms in ci<commit_after>pr: none

schedules:
  - cron: "0 5 * * Mon-Fri"
    displayName: Mon-Fri at 7:00
    branches:
      include:
        - main
        - joao/web

trigger:
  branches:
    include: ["main", "release/*"]

parameters:
  - name: VSCODE_DISTRO_REF
    displayName: Distro Ref (Private build)
    type: string
    default: " "
  - name: VSCODE_QUALITY
    displayName: Quality
    type: string
    default: insider
    values:
      - exploration
      - insider
      - stable
  - name: NPM_REGISTRY
    displayName: "Custom NPM Registry"
    type: string
    default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
  - name: VSCODE_BUILD_WIN32
    displayName: "🎯 Windows x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WIN32_32BIT
    displayName: "🎯 Windows ia32"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WIN32_ARM64
    displayName: "🎯 Windows arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX
    displayName: "🎯 Linux x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ARM64
    displayName: "🎯 Linux arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ARMHF
    displayName: "🎯 Linux armhf"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ALPINE
    displayName: "🎯 Alpine Linux x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_LINUX_ALPINE_ARM64
    displayName: "🎯 Alpine Linux arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS
    displayName: "🎯 macOS x64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS_ARM64
    displayName: "🎯 macOS arm64"
    type: boolean
    default: true
  - name: VSCODE_BUILD_MACOS_UNIVERSAL
    displayName: "🎯 macOS universal"
    type: boolean
    default: true
  - name: VSCODE_BUILD_WEB
    displayName: "🎯 Web"
    type: boolean
    default: true
  - name: VSCODE_BUILD_TUNNEL_CLI
    displayName: "Build Tunnel CLI"
    type: boolean
    default: true
  - name: VSCODE_PUBLISH
    displayName: "Publish to builds.code.visualstudio.com"
    type: boolean
    default: true
  - name: VSCODE_PUBLISH_TO_MOONCAKE
    displayName: "Publish to Azure China"
    type: boolean
    default: true
  - name: VSCODE_RELEASE
    displayName: "Release build if successful"
    type: boolean
    default: false
  - name: VSCODE_COMPILE_ONLY
    displayName: "Run Compile stage exclusively"
    type: boolean
    default: false
  - name: VSCODE_STEP_ON_IT
    displayName: "Skip tests"
    type: boolean
    default: false

variables:
  - name: VSCODE_DISTRO_REF
    value: ${{ parameters.VSCODE_DISTRO_REF }}
  - name: NPM_REGISTRY
    value: ${{ parameters.NPM_REGISTRY }}
  - name: VSCODE_QUALITY
    value: ${{ parameters.VSCODE_QUALITY }}
  - name: VSCODE_BUILD_STAGE_WINDOWS
    value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_LINUX
    value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_MACOS
    value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
  - name: VSCODE_BUILD_STAGE_WEB
    value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
  - name: VSCODE_CIBUILD
    value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
  - name: VSCODE_PUBLISH
    value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false)) }}
  - name: VSCODE_PUBLISH_TO_MOONCAKE
    value: ${{ eq(parameters.VSCODE_PUBLISH_TO_MOONCAKE, true) }}
  - name: VSCODE_SCHEDULEDBUILD
    value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
  - name: VSCODE_STEP_ON_IT
    value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
  - name: VSCODE_BUILD_MACOS_UNIVERSAL
    value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
  - name: AZURE_CDN_URL
    value: https://az764295.vo.msecnd.net
  - name: AZURE_DOCUMENTDB_ENDPOINT
    value: https://vscode.documents.azure.com:443/
  - name: MOONCAKE_CDN_URL
    value: https://vscode.cdn.azure.cn
  - name: VSCODE_MIXIN_REPO
    value: microsoft/vscode-distro
  - name: skipComponentGovernanceDetection
    value: true
  - name: Codeql.SkipTaskAutoInjection
    value: true

name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"

resources:
  containers:
    - container: vscode-bionic-x64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: vscode-arm64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: vscode-armhf
      image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: centos7-devtoolset8-x64
      image: vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-x64
      endpoint: VSCodeHub
      options: --user 0:0 --cap-add SYS_ADMIN
    - container: snapcraft
      image: snapcore/snapcraft:stable

stages:
  - stage: Compile
    jobs:
      - job: Compile
        pool: vscode-1es-linux
        variables:
          VSCODE_ARCH: x64
        steps:
          - template: product-compile.yml
            parameters:
              VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}

  - ${{ if eq(parameters.VSCODE_BUILD_TUNNEL_CLI, true) }}:
    - stage: CompileCLI
      dependsOn: []
      jobs:
        - ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true)) }}:
          - job: LinuxX64
            pool: vscode-1es-linux
            steps:
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX: ${{ parameters.VSCODE_BUILD_LINUX }}
                  VSCODE_BUILD_LINUX_ALPINE: ${{ parameters.VSCODE_BUILD_LINUX_ALPINE }}

        - ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true))) }}:
          - job: LinuxGnuARM
            pool: vscode-1es-linux
            steps:
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX_ARMHF: ${{ parameters.VSCODE_BUILD_LINUX_ARMHF }}
                  VSCODE_BUILD_LINUX_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ARM64 }}

        - ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}:
          - job: LinuxAlpineARM64
            pool: vscode-1es-linux-20.04-arm64
            steps:
              - task: NodeTool@0
                displayName: Install Node.js
                inputs:
                  versionSpec: 16.x
              - script: |
                  set -e
                  npm install -g yarn
                displayName: Install yarn
              - template: ./linux/cli-build-linux.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_LINUX_ALPINE_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
          - job: MacOSX64
            pool:
              vmImage: macOS-11
            steps:
              - template: ./darwin/cli-build-darwin.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}

        - ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
          - job: MacOSARM64
            pool:
              vmImage: macOS-11
            steps:
              - template: ./darwin/cli-build-darwin.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}

        - ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
          - job: WindowsX64
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}

        - ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
          - job: WindowsARM64
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}

        - ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true)) }}:
          - job: WindowsX86
            pool: vscode-1es-windows
            steps:
              - template: ./win32/cli-build-win32.yml
                parameters:
                  VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                  VSCODE_BUILD_WIN32_32BIT: ${{ parameters.VSCODE_BUILD_WIN32_32BIT }}

  - ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
      - stage: Windows
        dependsOn:
          - Compile
          - ${{ if eq(parameters.VSCODE_BUILD_TUNNEL_CLI, true) }}:
            - CompileCLI
        pool: vscode-1es-windows
        jobs:
          - ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
              - job: WindowsUnitTests
                displayName: Unit Tests
                timeoutInMinutes: 60
                variables:
                  VSCODE_ARCH: x64
                steps:
                  - template: win32/product-build-win32.yml
                    parameters:
                      VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
                      VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
                      VSCODE_BUILD_TUNNEL_CLI: false
                      VSCODE_RUN_UNIT_TESTS: true
                      VSCODE_RUN_INTEGRATION_TESTS: false
{'fraction_non_alphanumeric': 0.10391990975747321, 'fraction_numerical': 0.01833051325437112, 'mean_word_length': 2.333385555381482, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7306096', 'n_tokens_mistral': 7616, 'n_tokens_neox': 7425, 'n_words': 1239}