Add GitHub Actions CI workflow and build status badge#132
Merged
Conversation
Builds on windows-latest (VS 2022) and ubuntu-24.04 using Qt 6.7.0 via jurplel/install-qt-action@v4. No test targets exist in this repo, so only Release builds of radeon_gpu_analyzer_cli and radeon_gpu_analyzer_gui are run. LFS checkout enabled for binary externals tracked via Git LFS. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
find_package(Vulkan REQUIRED) in source/utils/vulkan/backend/CMakeLists.txt needs both the header and library stub, which libvulkan-dev provides. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
jakoch/install-vulkan-sdk-action sets VULKAN_SDK and exposes the headers and vulkan-1.lib that find_package(Vulkan REQUIRED) needs in source/utils/vulkan/backend/CMakeLists.txt. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
linuxdeployqt is not in the dependency map and is not available on the runner. --no-qt passes -DBUILD_CLI_ONLY=ON to cmake, sidestepping the deploy_qt_install_hook fatal error. The GUI is still built on Windows where windeployqt is available via the Qt install. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Downloads the continuous AppImage, extracts it without FUSE via --appimage-extract, and places a wrapper script at external/linuxdeployqt/linuxdeployqt where find_program expects it. The wrapper calls squashfs-root/AppRun so linuxdeployqt's own Qt dependencies are found at runtime. Reverts --no-qt so the GUI is compiled and validated on Ubuntu as well as Windows. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
linuxdeployqt performs a hard glibc version check at startup and refuses to run on Ubuntu 24.04 (glibc 2.39). Ubuntu 22.04 ships glibc 2.35, which is exactly the maximum version linuxdeployqt supports. 22.04 is supported until April 2027. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
cd /tmp persists for the rest of the run block, so mkdir and the wrapper write were landing in /tmp/external/ instead of the repo root. Use GITHUB_WORKSPACE explicitly for paths after the directory change. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
PROJECT_SOURCE_DIR in devtools_qt_helper.cmake resolves to the GUI subdirectory, not the repo root, so the HINTS path we were targeting was wrong. Installing to /usr/local/bin puts it on PATH, which find_program searches as a fallback regardless of HINTS. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Required by be_isa_parser.cpp (boost/regex.hpp); listed as a prerequisite in the repo's Linux build instructions. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
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
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.
Builds on windows-latest (VS 2022) and ubuntu-24.04 using Qt 6.7.0 via jurplel/install-qt-action@v4. No test targets exist in this repo, so only Release builds of radeon_gpu_analyzer_cli and radeon_gpu_analyzer_gui are run. LFS checkout enabled for binary externals tracked via Git LFS.