mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 02:11:58 +08:00
Update vcpkg-tool to 2022-06-15 (#25226)
* Update vcpkg-tool to 2022-06-15. See https://github.com/microsoft/vcpkg-tool/releases/tag/2022-06-15 * Add `=pass` entries from https://github.com/microsoft/vcpkg-tool/pull/579 * Cherry pick XUnit output from https://github.com/microsoft/vcpkg/pull/23477 which hooks up https://github.com/microsoft/vcpkg-tool/pull/585 (Thanks again @dg0yt !) * Update release process document now that we can do the full tree rebuild to test the tool release before signing. Thank you: @autoantwort @christophe-calmejane @JackBoosY @benmcmorran @hmoffatt @klalumiere @Thomas1664 @Neumann-A @AenBleidd for your contributions! Fixes https://github.com/microsoft/vcpkg/issues/22686 . Fixes https://github.com/microsoft/vcpkg/issues/21800 . Fixes https://github.com/microsoft/vcpkg/issues/16216 . Fixes https://github.com/microsoft/vcpkg/issues/15836 . Full tree rebuild testing this update is: https://dev.azure.com/vcpkg/public/_build/results?buildId=73664&view=results
This commit is contained in:
parent
d2f3f30607
commit
0abb2b2d88
@ -6,38 +6,37 @@ such as https://github.com/microsoft/vcpkg/pull/23757
|
||||
1. Verify that all tests etc. are passing in the vcpkg-tool repo's `main` branch, and that the
|
||||
contents therein are acceptable for release. (Steps after this will sign code there, so this
|
||||
review is responsible gating what has access to code signing.)
|
||||
2. On your machine, in a prompt changed to the vcpkg-tool repo,
|
||||
`git fetch https://github.com/microsoft/vcpkg-tool main && git switch -d FETCH_HEAD`
|
||||
3. Check that the changes there are in fact the changes that we want in that release. (Be aware,
|
||||
2. Check that the changes there are in fact the changes that we want in that release. (Be aware,
|
||||
you are responsible for what is about to be signed with a Microsoft code signing certificate by
|
||||
proceeding)
|
||||
4. `git push https://devdiv.visualstudio.com/DevDiv/_git/vcpkg FETCH_HEAD:main`
|
||||
5. Monitor the resulting signed build at:
|
||||
3. Submit a new full tree rebuild by https://dev.azure.com/vcpkg/public/_build?definitionId=29
|
||||
(microsoft.vcpkg.ci as of this writing) and queue a new build with the vcpkg-tool SHA overridden
|
||||
to the one you wish to use. Example:
|
||||
https://dev.azure.com/vcpkg/public/_build/results?buildId=73664&view=results
|
||||
4. (Probably the next day) Check over the failures and ensure any differences with the most recent
|
||||
full rebuild using the previous tool version are understood.
|
||||
5. On your machine, in a prompt changed to the vcpkg-tool repo,
|
||||
`git fetch https://github.com/microsoft/vcpkg-tool main && git switch -d FETCH_HEAD`
|
||||
6. `git push https://devdiv.visualstudio.com/DevDiv/_git/vcpkg FETCH_HEAD:main`
|
||||
7. Monitor the resulting signed build at:
|
||||
https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_build?definitionId=13610
|
||||
and/or manually submit one. (The push is supposed to automatically submit a build but that
|
||||
has been somewhat unstable at the time of this writing.)
|
||||
6. The signed build will automatically create a draft GitHub release at
|
||||
8. The signed build will automatically create a draft GitHub release at
|
||||
https://github.com/microsoft/vcpkg-tool/releases . Erase the contents filled in there and press
|
||||
the "auto generate release notes" button. Manually remove any entries created by the automated
|
||||
localization tools which will start with `* LEGO: Pull request from juno/`.
|
||||
7. Publish that draft release as "pre-release".
|
||||
8. Smoke test the 'one liner' installer: (Where 2022-03-30 is replaced with the right release name)
|
||||
9. Publish that draft release as "pre-release".
|
||||
10. Smoke test the 'one liner' installer: (Where 2022-06-15 is replaced with the right release name)
|
||||
* Powershell:
|
||||
`iex (iwr https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.ps1)`
|
||||
`iex (iwr https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init.ps1)`
|
||||
* Batch:
|
||||
`curl -L -o vcpkg-init.cmd https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.ps1 && .\vcpkg-init.cmd`
|
||||
`curl -L -o vcpkg-init.cmd https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init.ps1 && .\vcpkg-init.cmd`
|
||||
* Bash:
|
||||
`. <(curl https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.sh -L)`
|
||||
9. In the vcpkg repo, draft a PR which updates `bootstrap-vcpkg.sh` and `boostrap-vcpkg.ps1`
|
||||
`. <(curl https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init -L)`
|
||||
11. In the vcpkg repo, draft a PR which updates `bootstrap-vcpkg.sh` and `boostrap-vcpkg.ps1`
|
||||
with the new release date, and update SHAs as appropriate in the .sh script. (For example, see
|
||||
https://github.com/microsoft/vcpkg/pull/23757)
|
||||
10. Submit a new full tree rebuild by https://dev.azure.com/vcpkg/public/_build?definitionId=29
|
||||
(microsoft.vcpkg.ci as of this writing) and queue a new build targeting branch
|
||||
`refs/pull/ The PR number created in the previous step /head` (for example
|
||||
`refs/pull/24131/head`
|
||||
https://dev.azure.com/vcpkg/public/_build/results?buildId=70703&view=results)
|
||||
11. (Probably the next day) Check over the failures and ensure any differences with the most recent
|
||||
full rebuild using the previous tool version are understood.
|
||||
12. Merge the tool update PR.
|
||||
13. Change the github release in vcpkg-tool from "prerelease" to "release". (This automatically
|
||||
updates the aka.ms links)
|
||||
|
@ -67,3 +67,12 @@ jobs:
|
||||
inputs:
|
||||
PathtoPublish: scripts/list_files
|
||||
ArtifactName: 'file lists for x64-linux'
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish Test Results'
|
||||
condition: ne(variables['XML_RESULTS_FILE'], '')
|
||||
inputs:
|
||||
testRunTitle: x64-linux
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: $(XML_RESULTS_FILE)
|
||||
platform: x64-linux
|
||||
configuration: static
|
||||
|
@ -70,3 +70,12 @@ jobs:
|
||||
inputs:
|
||||
PathtoPublish: scripts/list_files
|
||||
ArtifactName: 'file lists for x64-osx${{ variables.Postfix }}'
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish Test Results'
|
||||
condition: ne(variables['XML_RESULTS_FILE'], '')
|
||||
inputs:
|
||||
testRunTitle: x64-osx
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: $(XML_RESULTS_FILE)
|
||||
platform: x64-osx
|
||||
configuration: static
|
||||
|
@ -116,6 +116,7 @@ else {
|
||||
}
|
||||
|
||||
$failureLogs = Join-Path $ArtifactStagingDirectory 'failure-logs'
|
||||
$xunitFile = Join-Path $ArtifactStagingDirectory "$Triplet-results.xml"
|
||||
|
||||
if ($IsWindows)
|
||||
{
|
||||
@ -162,7 +163,7 @@ if (($BuildReason -eq 'PullRequest') -and -not $NoParentHashes)
|
||||
# but changes must trigger at least some testing.
|
||||
Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake"
|
||||
Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake-user"
|
||||
& "./vcpkg$executableExtension" ci "--triplet=$Triplet" --failure-logs=$failureLogs "--ci-baseline=$PSScriptRoot/../ci.baseline.txt" @commonArgs @cachingArgs @parentHashes @skipFailuresArg
|
||||
& "./vcpkg$executableExtension" ci "--triplet=$Triplet" --failure-logs=$failureLogs --x-xunit=$xunitFile "--ci-baseline=$PSScriptRoot/../ci.baseline.txt" @commonArgs @cachingArgs @parentHashes @skipFailuresArg
|
||||
|
||||
$failureLogsEmpty = (-Not (Test-Path $failureLogs) -Or ((Get-ChildItem $failureLogs).count -eq 0))
|
||||
Write-Host "##vso[task.setvariable variable=FAILURE_LOGS_EMPTY]$failureLogsEmpty"
|
||||
@ -171,3 +172,5 @@ if ($LASTEXITCODE -ne 0)
|
||||
{
|
||||
throw "vcpkg ci failed"
|
||||
}
|
||||
|
||||
Write-Host "##vso[task.setvariable variable=XML_RESULTS_FILE]$xunitFile"
|
||||
|
@ -96,3 +96,12 @@ jobs:
|
||||
inputs:
|
||||
PathtoPublish: scripts/list_files
|
||||
ArtifactName: 'file lists for ${{ parameters.triplet }}'
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish Test Results'
|
||||
condition: ne(variables['XML_RESULTS_FILE'], '')
|
||||
inputs:
|
||||
testRunTitle: ${{ parameters.triplet }}
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: $(XML_RESULTS_FILE)
|
||||
platform: ${{ parameters.triplet }}
|
||||
|
||||
|
@ -45,7 +45,7 @@ while (!($vcpkgRootDir -eq "") -and !(Test-Path "$vcpkgRootDir\.vcpkg-root"))
|
||||
|
||||
Write-Verbose "Examining $vcpkgRootDir for .vcpkg-root - Found"
|
||||
|
||||
$versionDate = '2022-05-05'
|
||||
$versionDate = '2022-06-15'
|
||||
if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64' -or $env:PROCESSOR_IDENTIFIER -match "ARMv[8,9] \(64-bit\)") {
|
||||
& "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg-arm64.exe" "$vcpkgRootDir\vcpkg.exe"
|
||||
} else {
|
||||
|
@ -126,23 +126,23 @@ fi
|
||||
|
||||
# Choose the vcpkg binary to download
|
||||
vcpkgDownloadTool="ON"
|
||||
vcpkgToolReleaseTag="2022-05-05"
|
||||
vcpkgToolReleaseTag="2022-06-15"
|
||||
if [ "$UNAME" = "Darwin" ]; then
|
||||
echo "Downloading vcpkg-macos..."
|
||||
vcpkgToolReleaseSha="d1bc1de6185892b90641256ac509aac88b6c23d5f4875038d071b4518f33d852d7519346a78d79913748991203a9474632d59645c788b1fe56f74938327bb90f"
|
||||
vcpkgToolReleaseSha="2062863a36ff4bce3b5cd85a69bf5963bb797daa8c26e192d370b6569475ae773941d6e36362d0eb8d8762332443db6414aeebadce4e209b4da6e6d9e2ba93b1"
|
||||
vcpkgToolName="vcpkg-macos"
|
||||
elif [ "$vcpkgUseMuslC" = "ON" ]; then
|
||||
echo "Downloading vcpkg-muslc..."
|
||||
vcpkgToolReleaseSha="d698b5c37438eb03846d3908a67a7b955242d4e73c069ac4668de3be5fee8c21bf7ff0d291f5b85c6415fae70ca8d3ff926a757eb5aeda8b5d112d24c6874133"
|
||||
vcpkgToolReleaseSha="759ad177784d2a3e8445279006ee642899d21eaed11d76f6889c5d8d5607dca67d0ae94784f6c9cc1240bc1dafe38a302fb5ee36a8407416e10434da7dda4f47"
|
||||
vcpkgToolName="vcpkg-muslc"
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
echo "Downloading vcpkg-glibc..."
|
||||
vcpkgToolReleaseSha="bd1c24f113acee53c458b204b2443bb3a2e129f0df7f2772c83876e97e7788e9151d0ab92248ed5ee7cecf1152569ccb1050f174e70a7a21d7da8a580c73c132"
|
||||
vcpkgToolReleaseSha="ddf0814eaa751bef6d5aaa104610ef2c59cda8d304f40679cc4542a8c7dee885d5363dee74567111b0d0a4a9929252370941f690b199e5c60eee3bc3e7c5490a"
|
||||
vcpkgToolName="vcpkg-glibc"
|
||||
else
|
||||
echo "Unable to determine a binary release of vcpkg; attempting to build from source."
|
||||
vcpkgDownloadTool="OFF"
|
||||
vcpkgToolReleaseSha="9968b2420c19ac88fd912aa0d3d230a4712d51c411a7f5023c4a5d96c5fcc963ce8fbb286594220b5dfc63e23bdbcf3439326b90262dd89ea5b63afa143ca699"
|
||||
vcpkgToolReleaseSha="cb0ec26f8aab601588b4505f9eeb3076562e22f3f955ef7b21396cd7b2a93940ef89c3f945a5816db6f73d42724a00a69588819b0421d79a122bcd3d63f81b2e"
|
||||
fi
|
||||
|
||||
# Do the download or build.
|
||||
@ -195,7 +195,9 @@ if [ "$vcpkgDownloadTool" = "ON" ]; then
|
||||
vcpkgDownloadFile "https://github.com/microsoft/vcpkg-tool/releases/download/$vcpkgToolReleaseTag/$vcpkgToolName" "$vcpkgRootDir/vcpkg" $vcpkgToolReleaseSha
|
||||
else
|
||||
if [ "x$CXX" = "x" ]; then
|
||||
if which g++-11 >/dev/null 2>&1; then
|
||||
if which g++-12 >/dev/null 2>&1; then
|
||||
CXX=g++-12
|
||||
elif which g++-11 >/dev/null 2>&1; then
|
||||
CXX=g++-11
|
||||
elif which g++-10 >/dev/null 2>&1; then
|
||||
CXX=g++-10
|
||||
|
@ -1278,3 +1278,43 @@ angle:x64-windows-static-md=fail
|
||||
angle:x64-uwp=fail
|
||||
angle:arm64-windows=fail
|
||||
angle:arm-uwp=fail
|
||||
|
||||
vcpkg-ci-boost:x64-linux=pass
|
||||
vcpkg-ci-boost:x64-windows-static-md=pass
|
||||
vcpkg-ci-boost:x64-windows-static=pass
|
||||
vcpkg-ci-boost:x64-windows=pass
|
||||
vcpkg-ci-boost:x86-windows=pass
|
||||
vcpkg-ci-ffmpeg:arm-uwp=pass
|
||||
vcpkg-ci-ffmpeg:arm64-windows=pass
|
||||
vcpkg-ci-ffmpeg:x64-linux=pass
|
||||
vcpkg-ci-ffmpeg:x64-uwp=pass
|
||||
vcpkg-ci-ffmpeg:x64-windows-static-md=pass
|
||||
vcpkg-ci-ffmpeg:x64-windows-static=pass
|
||||
vcpkg-ci-ffmpeg:x64-windows=pass
|
||||
vcpkg-ci-ffmpeg:x86-windows=pass
|
||||
vcpkg-ci-llvm:x64-linux=pass
|
||||
vcpkg-ci-llvm:x64-osx=pass
|
||||
vcpkg-ci-llvm:x64-windows-static-md=pass
|
||||
vcpkg-ci-llvm:x64-windows-static=pass
|
||||
vcpkg-ci-llvm:x64-windows=pass
|
||||
vcpkg-ci-llvm:x86-windows=pass
|
||||
vcpkg-ci-opencv:arm-uwp=pass
|
||||
vcpkg-ci-opencv:arm64-windows=pass
|
||||
vcpkg-ci-opencv:x64-linux=pass
|
||||
vcpkg-ci-opencv:x64-uwp=pass
|
||||
vcpkg-ci-opencv:x64-windows-static-md=pass
|
||||
vcpkg-ci-opencv:x64-windows-static=pass
|
||||
vcpkg-ci-opencv:x64-windows=pass
|
||||
vcpkg-ci-opencv:x86-windows=pass
|
||||
vcpkg-ci-paraview:x64-linux=pass
|
||||
vcpkg-ci-paraview:x64-osx=pass
|
||||
vcpkg-ci-paraview:x64-windows-static-md=pass
|
||||
vcpkg-ci-paraview:x64-windows-static=pass
|
||||
vcpkg-ci-paraview:x64-windows=pass
|
||||
vcpkg-ci-paraview:x86-windows=pass
|
||||
vcpkg-ci-wxwidgets:arm64-windows=pass
|
||||
vcpkg-ci-wxwidgets:x64-osx=pass
|
||||
vcpkg-ci-wxwidgets:x64-windows-static-md=pass
|
||||
vcpkg-ci-wxwidgets:x64-windows-static=pass
|
||||
vcpkg-ci-wxwidgets:x64-windows=pass
|
||||
vcpkg-ci-wxwidgets:x86-windows=pass
|
||||
|
Loading…
x
Reference in New Issue
Block a user