-
Notifications
You must be signed in to change notification settings - Fork 504
Test vcpkg test failure #6706
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
base: master
Are you sure you want to change the base?
Test vcpkg test failure #6706
Conversation
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR pins vcpkg to a specific commit (9aee6e968f51e15ee93606f064691d8f6d228190) in response to a test failure. The change adds a git checkout command to lock vcpkg to a known working version for the Linux build job.
Key Changes:
- Adds vcpkg commit pinning to the Linux job's vcpkg setup step
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/vcpkg_test.yml
Outdated
| - name: Set up vcpkg | ||
| run: | | ||
| git clone https://github.com/microsoft/vcpkg.git | ||
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vcpkg commit is pinned only for the Linux job. This creates inconsistency across different build jobs (android, macos, mingw, windows), which will use different versions of vcpkg. If this commit is needed to fix a test failure, it should be applied to all jobs that set up vcpkg (lines 86-89, 330-333, 388-391, and 447-450) to ensure consistent behavior across all platforms.
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 | |
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 | |
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 | |
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 | |
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 | |
| git -C vcpkg checkout 9aee6e968f51e15ee93606f064691d8f6d228190 |
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/vcpkg_test.yml
Outdated
| - name: Set up vcpkg | ||
| run: | | ||
| git clone https://github.com/microsoft/vcpkg.git | ||
| git -C vcpkg checkout c70c929e4854f1add688dab6abd5e0f466864767 |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vcpkg revision is only pinned in the Linux job, but other jobs (android, macos, mingw, windows) still clone vcpkg without pinning to this specific revision. This creates inconsistency where different jobs may use different vcpkg versions. If the goal is to reproduce a test failure or ensure deterministic builds, all jobs should pin to the same vcpkg revision.
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/vcpkg_test.yml
Outdated
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y g++-multilib gcc-multilib | ||
| sudo apt-get install -y crossbuild-essential-i386 |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package crossbuild-essential-i386 is designed for cross-compilation from amd64 to i386, but the x86 build configuration (line 286) uses gcc -m32 and g++ -m32 instead of cross-compilation toolchain commands like i686-linux-gnu-gcc. This is inconsistent with the ARM builds which install cross-compilation packages and use triplet-prefixed compilers.
If multilib compilation is the intent (using -m32 flags), consider using gcc-multilib g++-multilib as done in .github/workflows/linux.yml:400. If cross-compilation is the intent, update the build configuration to use i686-linux-gnu-gcc and i686-linux-gnu-g++.
| sudo apt-get install -y crossbuild-essential-i386 | |
| sudo apt-get install -y gcc-multilib g++-multilib |
.github/workflows/vcpkg_test.yml
Outdated
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y g++-multilib gcc-multilib | ||
| sudo apt-get install -y crossbuild-essential-i386 |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR description mentions "Pin vcpkg to a specific revision in the CI workflow to reproduce and isolate the vcpkg test failure" but the actual change replaces x86 dependency packages. The description doesn't match the code change. Please update the PR description to accurately reflect that this changes x86 build dependencies.
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/vcpkg_test.yml
Outdated
| sudo sed -i 's|priority:1|priority:100|' /etc/apt/apt-mirrors.txt | ||
| sudo apt-get update | ||
| sudo apt-get install -y g++-multilib gcc-multilib | ||
| sudo apt-get install -y g++-multilib gcc-multilib g++-i686-linux-gnu |
Copilot
AI
Dec 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR description mentions installing gcc-i686-linux-gnu and binutils-i686-linux-gnu to "enforce 32-bit builds," but the actual code only adds g++-i686-linux-gnu. The gcc-i686-linux-gnu and binutils-i686-linux-gnu packages mentioned in the PR description are missing.
For consistency with the arm and arm64 dependency installations (lines 237 and 243), which install all three components (g++, gcc, and binutils), consider adding the missing packages:
sudo apt-get install -y g++-multilib gcc-multilib g++-i686-linux-gnu gcc-i686-linux-gnu binutils-i686-linux-gnu| sudo apt-get install -y g++-multilib gcc-multilib g++-i686-linux-gnu | |
| sudo apt-get install -y g++-multilib gcc-multilib g++-i686-linux-gnu gcc-i686-linux-gnu binutils-i686-linux-gnu |
Signed-off-by: Vitalii Koshura <[email protected]>
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/vcpkg_test.yml
Outdated
| sudo apt-add-repository main | ||
| sudo apt-add-repository restricted | ||
| sudo apt-add-repository multiverse |
Copilot
AI
Dec 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Adding main, restricted, and multiverse repositories individually is unusual. These Ubuntu repository components are typically already available in the default sources.list. Based on the pattern used in other workflow files (android.yml lines 52, 206), only the universe component typically needs to be added explicitly. Consider simplifying this to just sudo add-apt-repository universe unless there's a specific need for the other components.
| sudo apt-add-repository main | |
| sudo apt-add-repository restricted | |
| sudo apt-add-repository multiverse |
.github/workflows/vcpkg_test.yml
Outdated
| sudo apt-add-repository universe | ||
| sudo apt-add-repository main | ||
| sudo apt-add-repository restricted | ||
| sudo apt-add-repository multiverse |
Copilot
AI
Dec 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent command usage: apt-add-repository should be add-apt-repository to match the standard Ubuntu command and the pattern used elsewhere in this file (line 234) and other workflow files (e.g., android.yml lines 52, 206). The correct command is add-apt-repository.
| sudo apt-add-repository universe | |
| sudo apt-add-repository main | |
| sudo apt-add-repository restricted | |
| sudo apt-add-repository multiverse | |
| sudo add-apt-repository universe | |
| sudo add-apt-repository main | |
| sudo add-apt-repository restricted | |
| sudo add-apt-repository multiverse |
Signed-off-by: Vitalii Koshura <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Vitalii Koshura <[email protected]>
4ce2a0f to
dfb9c7e
Compare
Summary by cubic
Update the x86-linux job to bump apt mirror priority, enable Ubuntu repositories (main, universe, restricted, multiverse), add the Ubuntu Toolchain PPA, add Debian bookworm main, and install g++-i686-linux-gnu along with g++-multilib and gcc-multilib to enforce 32-bit builds during vcpkg test configuration. Also clone vcpkg from AenBleidd/vcpkg and checkout vko_fix_x86-linux_build to test the fix and consistently reproduce the vcpkg test failure.
Written for commit dfb9c7e. Summary will update automatically on new commits.