Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sdk\core\azure-core\test\libcurl-stress-test pulls the incorrect vcpkg version. #4370

Closed
LarryOsterman opened this issue Feb 17, 2023 · 2 comments · Fixed by #4375
Closed
Assignees
Labels
Stress This issue is related to stress testing, part of our reliability pillar.

Comments

@LarryOsterman
Copy link
Member

LarryOsterman commented Feb 17, 2023

Describe the bug
The dockerfile in libcurl-stress-test\Dockerfile has the following code:

RUN wget -O vcpkg.tar.gz https://github.com/microsoft/vcpkg/archive/master.tar.gz
RUN mkdir /opt/vcpkg
RUN tar xf vcpkg.tar.gz --strip-components=1 -C /opt/vcpkg
RUN /opt/vcpkg/bootstrap-vcpkg.sh
RUN ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg

This code pulls what is in the current vcpkg release. But the Azure SDK is built and tested with a specific vcpkg commit (currently 94ce0dab56f4d8ba6bd631ba59ed682b02d45c46). By pulling the current baseline instead of the commit against which the packages are built, the SDK built for the Dockerfile is being built against an untested set of downstream dependencies.

Expected behavior

The dockerfile should pull the vcpkg repository at the vcpkg commit which was used to test the Azure SDK - we have had challenges when we build and test against newer vcpkg binaries.

@RickWinter RickWinter added the Stress This issue is related to stress testing, part of our reliability pillar. label Feb 17, 2023
@gearama
Copy link
Member

gearama commented Feb 17, 2023

VCPKG here runs in Manifest mode, thus the version of the packages that vcpkg will use will be at that glorious SHA. E.G. when building(in the pipelines, or full build local) the build logs:
....
Vcpkg integrate step.
CMAKE_TOOLCHAIN_FILE is not defined. Define it for the user.
AZURE_SDK_DISABLE_AUTO_VCPKG is not defined. Fetch a local copy of vcpkg.
Vcpkg commit string used: 94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
-- Bootstrapping vcpkg before install
.....

This happens at line 20 in AzureVcpkg.cmake https://github.com/gearama/azure-sdk-for-cpp/blob/466c82a361f45aafe959fe2274507c5a265c4245/cmake-modules/AzureVcpkg.cmake#L20

a few lines after that :
FetchContent_Declare(
vcpkg
GIT_REPOSITORY https://github.com/microsoft/vcpkg.git
GIT_TAG ${VCPKG_COMMIT_STRING}
)

where it syncs the vcpkg copy to the glorious SHA

The message with the SHA is at line 25 in the cmake file mentioned prior.

@gearama gearama closed this as completed Feb 17, 2023
@gearama
Copy link
Member

gearama commented Feb 21, 2023

reope to use for PR update

@gearama gearama reopened this Feb 21, 2023
@gearama gearama mentioned this issue Feb 21, 2023
14 tasks
@github-actions github-actions bot locked and limited conversation to collaborators May 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Stress This issue is related to stress testing, part of our reliability pillar.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants