Skip to content

Restore rotted bits: update vcpkg caching and pyktx to latest Python#1033

Merged
MarkCallow merged 90 commits intomainfrom
fix_vcpkg_caching
Jun 21, 2025
Merged

Restore rotted bits: update vcpkg caching and pyktx to latest Python#1033
MarkCallow merged 90 commits intomainfrom
fix_vcpkg_caching

Conversation

@MarkCallow
Copy link
Collaborator

@MarkCallow MarkCallow commented Jun 15, 2025

The previously recommended way of caching vcpkg packages has been withdrawn thanks to GitHub replacing the API it was using with an API that does not provide the previous functionality. This PR updates the CI runs to use the new recommended way, which is via NuGet. It also changes the Linux CI to use vcpkg.

Some older versions of Python will soon be removed from the CI runners so this PR updates the builds to use the latest which is Python 3.13. Making this work necessitated updating the version of CFFI, which is a dependency for building pyktx, to 1.17.1.

Changes the Default and Clang jobs in the Linux CI to use ubuntu-latest (24.04) so that gets some testing. Release packages are still built using 22.04 runners. Making 24.04 builds work required changing the packages need for libgl to drop a removed package.

Exposes the PY_USE_VENV build option in the .yml files so it can be set should the runner's Python require it. Only the macOS runner has it ON.

While working on this, the VS 2022 MSVC compiler was updated to 14.44 which introduces a new incompatible operands warning when different enums are the operands of, e.g, an OR. In order to get a green build prior to merge it was necessary to fix the 3 lines of code in lib/texture2.c that were doing this and include the fix here.

Fixes a poorly formatted error message that was seen in texturetests.cc while fixing the enum issue.

Grep installed package list for these before install.
@MarkCallow
Copy link
Collaborator Author

Closing for now as the overhead of cancelling everything when debugging a single job is too much.

@MarkCallow MarkCallow closed this Jun 20, 2025
@MarkCallow MarkCallow reopened this Jun 20, 2025
@MarkCallow MarkCallow merged commit f753fca into main Jun 21, 2025
37 checks passed
@MarkCallow MarkCallow deleted the fix_vcpkg_caching branch June 21, 2025 02:42
richgel999 pushed a commit to BinomialLLC/KTX-Software-Binomial-Fork that referenced this pull request Mar 9, 2026
…hronosGroup#1033)

The previously recommended way of caching vcpkg packages has been
withdrawn thanks to GitHub replacing the API vcpkg was using with an API
that does not provide the previous functionality. This PR updates the CI
runs to use the new recommended way, which is via NuGet. It also changes
the Linux CI to use vcpkg for dependencies.

Some older versions of Python will soon be removed from the CI runners
so this PR updates the builds to use the latest which is Python 3.13.
Making this work necessitated updating the version of CFFI, which is a
dependency for building pyktx, to 1.17.1.

Changes the Default and Clang jobs in the Linux CI to use
`ubuntu-latest` (24.04) so that gets some testing. Release packages are
still built using 22.04 runners. Making 24.04 builds work required
changing the packages need for libgl to drop a removed package.

Exposes the PY_USE_VENV build option in the .yml files so it can be set
should the runner's Python require it. Only the macOS runner has it ON.

While working on this, the VS 2022 MSVC compiler was updated to 14.44
which introduces an incompatible operands warning when different
enums are the operands of, e.g, an OR. In order to get a green build
prior to merge it was necessary to fix the 3 lines of code in
`lib/texture2.c` that were doing this and include the fix here.

Fixes a poorly formatted error message that was seen in
`texturetests.cc` while fixing the enum issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant