Fix CI/CD Release Skipping and Multi-Platform Packages#114
Conversation
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>
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
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>
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