Skip to content

Fix CI/CD Release Skipping and Multi-Platform Packages#114

Merged
TECHNICANGEL merged 5 commits intomasterfrom
fix-ci-cd-release-skipping-platforms-123456789-9713375592589568478
Feb 23, 2026
Merged

Fix CI/CD Release Skipping and Multi-Platform Packages#114
TECHNICANGEL merged 5 commits intomasterfrom
fix-ci-cd-release-skipping-platforms-123456789-9713375592589568478

Conversation

@TECHNICANGEL
Copy link
Owner

Fixed CI/CD pipeline to ensure GitHub Releases and multi-platform packages (Windows, Linux, Android) are correctly published. Corrected restrictive triggers and conditional logic in the workflow, and updated the source code and build system for cross-platform Vulkan compatibility.


PR created automatically by Jules for task 9713375592589568478 started by @TECHNICANGEL

This commit addresses the issue where the CI/CD pipeline was skipping GitHub
Releases and not publishing packages.

Key changes:
1. Updated `.github/workflows/build.yml`:
   - Broadened tag trigger from 'v*' to '**' to catch all tags.
   - Added 'build-linux' and 'build-android' jobs to provide multi-platform packages.
   - Fixed 'release' job logic to run on tags and master/main branches (as 'latest').
   - Corrected artifact download paths for GitHub Actions v4 compatibility.
2. Source code modifications for cross-platform support:
   - Guarded GLFW includes with '#ifndef ANDROID' in 'src/main.cpp'.
   - Added platform-specific Vulkan external memory/semaphore extensions
     (Win32 for Windows, FD for Linux/Android).
   - Used platform-appropriate external memory handle types in 'src/VulkanRayTracing.cpp'.
3. Build system improvements:
   - Updated 'CMakeLists.txt' to support shared library builds for Android.
   - Cleaned up redundant linking logic in 'CMakeLists.txt'.
   - Added missing dependencies ('glslang-tools') to the Linux CI environment.

Co-authored-by: TECHNICANGEL <197574689+TECHNICANGEL@users.noreply.github.com>
@google-labs-jules
Copy link

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules bot and others added 4 commits February 23, 2026 16:13
This commit addresses the issue where the CI/CD pipeline was skipping GitHub
Releases and not publishing packages.

Key changes:
1. Updated `.github/workflows/build.yml`:
   - Broadened tag trigger from 'v*' to '**' to catch all tags.
   - Added 'build-linux' and 'build-android' jobs to provide multi-platform packages.
   - Fixed 'release' job logic to run on tags and master/main branches (as 'latest').
   - Corrected artifact download paths for GitHub Actions v4 compatibility.
2. Source code modifications for cross-platform support:
   - Guarded GLFW includes and function calls with '#ifndef ANDROID' in 'src/main.cpp', 'src/Camera.h', and 'src/Camera.cpp'.
   - Added platform-specific Vulkan external memory/semaphore extensions
     (Win32 for Windows, FD for Linux/Android).
   - Used platform-appropriate external memory handle types in 'src/VulkanRayTracing.cpp'.
3. Build system improvements:
   - Updated 'CMakeLists.txt' to support shared library builds for Android.
   - Cleaned up redundant linking logic in 'CMakeLists.txt'.
   - Added missing dependencies ('glslang-tools') to the Linux CI environment.

Co-authored-by: TECHNICANGEL <197574689+TECHNICANGEL@users.noreply.github.com>
This commit addresses the issue where the CI/CD pipeline was skipping GitHub
Releases and not publishing packages.

Key changes:
1. Updated `.github/workflows/build.yml`:
   - Broadened tag trigger from 'v*' to '**' to catch all tags.
   - Added 'build-linux' and 'build-android' jobs to provide multi-platform packages.
   - Fixed 'release' job logic to run on tags and master/main branches (as 'latest').
   - Corrected artifact download paths for GitHub Actions v4 compatibility.
   - Set 'ANDROID_PLATFORM' to 'android-29' to resolve Vulkan symbol errors.
2. Source code modifications for cross-platform support:
   - Guarded GLFW includes and function calls with '#ifndef ANDROID' in 'src/main.cpp', 'src/Camera.h', and 'src/Camera.cpp'.
   - Added platform-specific Vulkan external memory/semaphore extensions
     (Win32 for Windows, FD for Linux/Android).
   - Used platform-appropriate external memory handle types in 'src/VulkanRayTracing.cpp'.
3. Build system improvements:
   - Updated 'CMakeLists.txt' to support shared library builds for Android.
   - Cleaned up redundant linking logic in 'CMakeLists.txt'.
   - Added missing dependencies ('glslang-tools') to the Linux CI environment.

Co-authored-by: TECHNICANGEL <197574689+TECHNICANGEL@users.noreply.github.com>
This commit addresses the issue where the CI/CD pipeline was skipping GitHub
Releases and not publishing packages, while also fixing Android linker errors.

Key changes:
1. Updated '.github/workflows/build.yml':
   - Added 'workflow_dispatch' for manual triggers.
   - Broadened triggers to all branches to ensure verification on feature branches.
   - Updated 'release' job condition to allow creation on any push or manual trigger.
   - Enforced Android API level 29 for better Vulkan 1.1 support.
2. Source code modifications for Vulkan portability:
   - Updated 'VulkanRTPipeline' to load 'vkGetPhysicalDeviceProperties2' dynamically
     using 'vkGetInstanceProcAddr', resolving linker errors on Android.
   - Updated 'main.cpp' to pass the Vulkan instance to the RT pipeline.
   - Guarded the 'main' entry point with '#ifndef ANDROID' for shared library builds.
3. Cross-platform improvements:
   - Properly guarded GLFW includes and window management for mobile support.
   - Optimized Vulkan external memory handles for non-Windows platforms.

Co-authored-by: TECHNICANGEL <197574689+TECHNICANGEL@users.noreply.github.com>
This commit ensures that the CI/CD pipeline correctly publishes GitHub
Releases and packages, while also fixing Android linker errors and
improving cross-platform support.

Key changes:
1. Updated '.github/workflows/build.yml':
   - Simplified triggers and removed restrictive job-level 'if' to prevent skipping.
   - Added 'workflow_dispatch' for manual runs.
   - Broadened push triggers to all branches and tags.
   - Updated release job to run on any push that is not a pull request.
2. Fixed Android linker errors:
   - Modified 'VulkanRTPipeline' to load 'vkGetPhysicalDeviceProperties2'
     dynamically via 'vkGetInstanceProcAddr', avoiding unresolved symbols.
   - Updated engine initialization to pass the Vulkan instance to the RT pipeline.
3. Improved Cross-Platform Support:
   - Properly guarded GLFW and windowing logic for Android shared library builds.
   - Added necessary system packages and shader compiler to Linux build environment.
   - Optimized Vulkan external memory handles for non-Windows platforms.

Co-authored-by: TECHNICANGEL <197574689+TECHNICANGEL@users.noreply.github.com>
@TECHNICANGEL TECHNICANGEL merged commit 956988a into master Feb 23, 2026
4 checks passed
@TECHNICANGEL TECHNICANGEL deleted the fix-ci-cd-release-skipping-platforms-123456789-9713375592589568478 branch February 23, 2026 17:02
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