From f1c6d2384332bb2b9fefaa83c2935e06919ba859 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:34:54 -0700 Subject: [PATCH 1/9] Add the ability to do full rebuilds with updated copies of vcpkg-tool. --- scripts/azure-pipelines/azure-pipelines.yml | 6 ++++++ .../azure-pipelines/windows/azure-pipelines.yml | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index 4ef04aa9b3f414..d22d7785505ec9 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -6,6 +6,12 @@ variables: linux-pool: 'PrLin-2022-03-09-1' osx-pool: 'PrOsx-2022-02-04' +parameters: +- name: vcpkg-tool-sha + displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' + type: string + default: '' + jobs: - template: windows/azure-pipelines.yml parameters: diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index de254db6476d01..13e148eb90a95c 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -34,6 +34,20 @@ jobs: pwsh: true - script: .\bootstrap-vcpkg.bat displayName: 'Bootstrap vcpkg' + condition: eq('', ${{ parameters.vcpkg-tool-sha }}) + - task: CmdLine@2 + displayName: "Build vcpkg with CMake" + condition: ne('', ${{ parameters.vcpkg-tool-sha }}) + inputs: + script: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 + git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool + git -C switch -d ${{ parameters.vcpkg-tool-sha }} + rmdir /s /q build.x86.release > nul 2> nul + cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=OFF -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_BUILD_TLS12_DOWNLOADER=OFF -B build.x86.release -S vcpkg-tool + ninja.exe -C build.x86.release + move build.x86.release\vcpkg.exe vcpkg.exe + failOnStderr: true - script: | if exist ${{ variables.VCPKG_DOWNLOADS }} rmdir /S /Q ${{ variables.VCPKG_DOWNLOADS }} 2>&1 displayName: 'Clean downloads' From 41ca0c6b8c17764ed111467fbbbb12d86dd63321 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:37:15 -0700 Subject: [PATCH 2/9] wip --- scripts/azure-pipelines/azure-pipelines.yml | 2 +- scripts/azure-pipelines/windows/azure-pipelines.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index d22d7785505ec9..a6377d5f7a1b5e 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -7,7 +7,7 @@ variables: osx-pool: 'PrOsx-2022-02-04' parameters: -- name: vcpkg-tool-sha +- name: vcpkgToolSha displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' type: string default: '' diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 13e148eb90a95c..26ad220e000703 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -34,15 +34,15 @@ jobs: pwsh: true - script: .\bootstrap-vcpkg.bat displayName: 'Bootstrap vcpkg' - condition: eq('', ${{ parameters.vcpkg-tool-sha }}) + condition: eq('', ${{ parameters.vcpkgToolSha }}) - task: CmdLine@2 displayName: "Build vcpkg with CMake" - condition: ne('', ${{ parameters.vcpkg-tool-sha }}) + condition: ne('', ${{ parameters.vcpkgToolSha }}) inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool - git -C switch -d ${{ parameters.vcpkg-tool-sha }} + git -C switch -d ${{ parameters.vcpkgToolSha }} rmdir /s /q build.x86.release > nul 2> nul cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=OFF -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_BUILD_TLS12_DOWNLOADER=OFF -B build.x86.release -S vcpkg-tool ninja.exe -C build.x86.release From 191316e3177063b5640bd97fa469854ef799500e Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:37:57 -0700 Subject: [PATCH 3/9] wip --- scripts/azure-pipelines/windows/azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 26ad220e000703..d2bf3ec8572d66 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -34,10 +34,10 @@ jobs: pwsh: true - script: .\bootstrap-vcpkg.bat displayName: 'Bootstrap vcpkg' - condition: eq('', ${{ parameters.vcpkgToolSha }}) + condition: eq('', '${{ parameters.vcpkgToolSha }}') - task: CmdLine@2 displayName: "Build vcpkg with CMake" - condition: ne('', ${{ parameters.vcpkgToolSha }}) + condition: ne('', '${{ parameters.vcpkgToolSha }}') inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 From ed0d2a33846f106f05213746a52eeb64dc4793e3 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:41:25 -0700 Subject: [PATCH 4/9] wip --- scripts/azure-pipelines/azure-pipelines.yml | 2 +- scripts/azure-pipelines/windows/azure-pipelines.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index a6377d5f7a1b5e..987a23095bb179 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -10,7 +10,7 @@ parameters: - name: vcpkgToolSha displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' type: string - default: '' + default: 'use default' jobs: - template: windows/azure-pipelines.yml diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index d2bf3ec8572d66..cb2a42dbef7317 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -34,10 +34,10 @@ jobs: pwsh: true - script: .\bootstrap-vcpkg.bat displayName: 'Bootstrap vcpkg' - condition: eq('', '${{ parameters.vcpkgToolSha }}') + condition: eq('use default', '${{ parameters.vcpkgToolSha }}') - task: CmdLine@2 displayName: "Build vcpkg with CMake" - condition: ne('', '${{ parameters.vcpkgToolSha }}') + condition: ne('use default', '${{ parameters.vcpkgToolSha }}') inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 From df91f243bc59eb26dfac4eccf7c680dee4a1c625 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:50:17 -0700 Subject: [PATCH 5/9] wip --- scripts/azure-pipelines/windows/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index cb2a42dbef7317..f48b09e2fe6c6d 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -42,7 +42,7 @@ jobs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool - git -C switch -d ${{ parameters.vcpkgToolSha }} + git -C vcpkg-tool switch -d ${{ parameters.vcpkgToolSha }} rmdir /s /q build.x86.release > nul 2> nul cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=OFF -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_BUILD_TLS12_DOWNLOADER=OFF -B build.x86.release -S vcpkg-tool ninja.exe -C build.x86.release From bac80f404ce2d978c1a61e9f0b4eee3d5ba5e726 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:55:17 -0700 Subject: [PATCH 6/9] wip --- scripts/azure-pipelines/azure-pipelines.yml | 9 +++++++++ scripts/azure-pipelines/windows/azure-pipelines.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index 987a23095bb179..72b761c8cdcb61 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -18,47 +18,56 @@ jobs: triplet: x86-windows jobName: x86_windows poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: x64-windows jobName: x64_windows poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: x64-windows-static jobName: x64_windows_static poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: x64-windows-static-md jobName: x64_windows_static_md poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: x64-uwp jobName: x64_uwp poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: arm64-windows jobName: arm64_windows poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: windows/azure-pipelines.yml parameters: triplet: arm-uwp jobName: arm_uwp poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: osx/azure-pipelines.yml parameters: poolName: $(osx-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: linux/azure-pipelines.yml parameters: poolName: $(linux-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index f48b09e2fe6c6d..046e36c422d630 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -1,7 +1,6 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT # - jobs: - job: ${{ parameters.jobName }} pool: @@ -41,6 +40,7 @@ jobs: inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 + set C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%PATH% git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool git -C vcpkg-tool switch -d ${{ parameters.vcpkgToolSha }} rmdir /s /q build.x86.release > nul 2> nul From 42334b3f2fa341b40ff5f5ef05e162f17d2bf964 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:56:48 -0700 Subject: [PATCH 7/9] wip --- scripts/azure-pipelines/azure-pipelines.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index 72b761c8cdcb61..7b3fc507fc4155 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -65,9 +65,7 @@ jobs: - template: osx/azure-pipelines.yml parameters: poolName: $(osx-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: linux/azure-pipelines.yml parameters: poolName: $(linux-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} From 2ac4144256d7529a65428140d98aabf525ebcf13 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 14:59:37 -0700 Subject: [PATCH 8/9] wip --- scripts/azure-pipelines/windows/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 046e36c422d630..9bb69d9c4c2dbd 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -40,7 +40,7 @@ jobs: inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 - set C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%PATH% + set PATH=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%PATH% git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool git -C vcpkg-tool switch -d ${{ parameters.vcpkgToolSha }} rmdir /s /q build.x86.release > nul 2> nul From 8c5b108a7edd9ecf17eb5787ce76bcdd568d52fb Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Thu, 24 Mar 2022 15:14:35 -0700 Subject: [PATCH 9/9] wip --- scripts/azure-pipelines/windows/azure-pipelines.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 9bb69d9c4c2dbd..679854e347bdf0 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -40,6 +40,7 @@ jobs: inputs: script: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 + dir /s C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake set PATH=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%PATH% git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool git -C vcpkg-tool switch -d ${{ parameters.vcpkgToolSha }}