-
Notifications
You must be signed in to change notification settings - Fork 1
Update GitHub Actions to latest versions #15
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
Open
PazerOP
wants to merge
24
commits into
vibe
Choose a base branch
from
claude/fix-pr-checks-7sDk2
base: vibe
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- actions/checkout: v2.3.4 → v4 - lukka/run-vcpkg: v7 → v11 (removed deprecated setupOnly parameter) - actions/upload-artifact: v2 → v4 - seanmiddleditch/gha-setup-ninja: v3 → v5 - ilammy/msvc-dev-cmd: v1.5.0 → v1 These updates fix deprecation warnings and should resolve the Windows build failure by using the latest stable action versions.
The http/client.cpp uses libcurl but it wasn't listed as a dependency. This caused the Windows build with MH_STUFF_COMPILE_LIBRARY=true to fail. - Add curl to vcpkg.json dependencies - Add find_package(CURL) and link CURL::libcurl in CMakeLists.txt
The nuget CLI is not available on Linux GitHub runners, causing all Linux builds to fail with exit code 127 (command not found). run-vcpkg@v11 automatically uses GitHub Actions cache for binary caching when VCPKG_BINARY_SOURCES is not set, which works on all platforms without requiring additional setup. - Remove VCPKG_BINARY_SOURCES and X_VCPKG_NUGET_ID_PREFIX env vars - Remove PazerOP/gha-setup-nuget@HEAD step from Linux and Windows builds
The vcpkg fork (commit from June 2021) is incompatible with run-vcpkg@v11. Removing the custom vcpkg URL/commit allows run-vcpkg to use the official Microsoft vcpkg with latest updates. The custom mh-cmake-common package is still available via vcpkg-registry configured in vcpkg-configuration.json.
run-vcpkg@v11 requires vcpkgGitCommitId to know which version of vcpkg to fetch. Without it, the action fails as there's no vcpkg submodule. Using latest commit from official Microsoft vcpkg (2025-12-21).
The old LLVM repository URLs (apt.llvm.org/focal) are for Ubuntu 20.04. ubuntu-latest is now Ubuntu 22.04+ where these repos don't work. Using ubuntu-20.04 explicitly to ensure old compiler versions (clang-7 through clang-11, g++-8 through g++-10) are available.
vcpkg needs a default registry baseline to resolve versions for packages from the official registry (catch2, curl, fmt). Using the same baseline as VCPKG_COMMIT in the workflow.
Replace outdated compiler matrix (clang-7 to clang-11, g++-8 to g++-10) with modern compilers available on ubuntu-latest: - g++-12, g++-13 - clang++-14, clang++-15 This eliminates the need for custom LLVM apt repos and ensures runners are available (ubuntu-20.04 runners were not starting).
- format.hpp: Use fmt::runtime() for non-consteval format strings - task.hpp: Add template keyword for dependent template name - process.inl, dispatcher.inl: Fix not_implemented_error constructor calls - process_manager.inl: Suppress nodiscard warning with (void) cast - mutex_debug.hpp: Guard native_handle for MSVC compatibility - native_handle.hpp: Guard unistd.h include with __unix__ - CMakeLists.txt: Add /utf-8 flag for MSVC builds
- CMakeLists.txt: Include CheckCXXCompilerFlag module before use - fd_source.inl, fd_sink.inl: Guard Unix headers with __unix__ - dispatcher.inl: Remove unused winsock includes on Windows - stack_info.inl, coroutine_task_test.cpp: Add WIN32_LEAN_AND_MEAN - uint128.hpp: Fix bit_cast to use std::bit_cast when available
- text_filebuf_test.cpp: Guard tests with __unix__ (fmemopen is POSIX-only) - coroutine_task_test.cpp: Suppress nodiscard warning for intentionally discarded task
- source.hpp, sink.hpp, fd_source.hpp, fd_sink.hpp: Guard with __unix__ - future.hpp: Add template keyword for dependent template names
- generator.hpp: Add #include <utility> for std::exchange - nested_exception.hpp: Add #include <utility> for std::forward - lazy.hpp: Add template keyword for dependent template emplace
- exception_details.inl: Add <utility> for std::exchange - variant.hpp: Add <cstddef> for size_t - charconv_helper.hpp: Add <cstdint> for uint8_t - scope_exit.hpp: Add <utility> for std::forward
Required for uint8_t, uint16_t, and uint32_t types.
- Fix typo in getopt.hpp: uinstd.h -> unistd.h - Use C++ header <cstring> instead of C header <string.h> in memstream.hpp - Replace POSIX off_t with std::streamsize in memstream.hpp
The variable_pusher class was missing a semicolon after its closing brace, causing syntax errors.
libc++ requires explicit includes for std::move and std::forward, while libstdc++ may provide them transitively through other headers.
Add [[fallthrough]] attribute after std::rethrow_exception to silence compiler warning about missing return/break.
libc++ requires explicit includes that libstdc++ provides transitively. Added cstddef to all files using size_t.
- Set -stdlib=libc++ before CPMAddPackage to ensure Catch2 is built with the same stdlib as the main project on clang - Add Catch::StringMaker<std::byte> specialization to fix Windows linker error when using CAPTURE with std::byte values
Catch2 v3.4.0 already provides StringMaker<std::byte> specialization.
Catch2 v3.4.0 declares StringMaker<std::byte> but doesn't implement it. Use a helper function to convert std::byte to unsigned for CAPTURE.
Catch2 v3.4.0 declares but doesn't implement StringMaker<std::string_view>, causing linker errors on MSVC. Add to_str() helper to convert string_view to std::string before comparisons in REQUIRE/CHECK macros.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These updates fix deprecation warnings and should resolve the Windows build failure by using the latest stable action versions.