Skip to content

Conversation

@aatle
Copy link
Member

@aatle aatle commented Nov 10, 2025

Attempt to fix SDL3 build / build (ubuntu-24.04) CI.
Use documented dependencies.

@aatle aatle added CI Issue with the Continuous Integration (CI), the actions/bots that test things sdl3 labels Nov 10, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 10, 2025

📝 Walkthrough

Walkthrough

Updates GitHub Actions workflow to install SDL3 dependencies instead of SDL2 for Linux. The step name and comment are updated to reference SDL3, and the apt-get package list is replaced with an expanded set of SDL3-specific development tools and libraries.

Changes

Cohort / File(s) Change Summary
SDL3 Dependency Update
.github/workflows/build-sdl3.yml
Step name changed from "Install SDL deps (linux)" to "Install SDL3 deps (linux)". Comment updated to reference SDL3 documentation. apt-get install command expanded with comprehensive SDL3-specific development tools (build-essential, git, make, cmake, ninja-build) and extensive lib*-dev packages (libdrm-dev, libgbm-dev, libgl1-mesa-dev, libgles2-mesa-dev, libegl1-mesa-dev, libdbus-1-dev, libibus-1.0-dev, libudev-dev, libpipewire-0.3-dev, libwayland-dev, libdecor-0-dev, liburing-dev, and others). Previous SDL2-derived dependency set removed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify the SDL3 package list is complete and accurate for the build environment
  • Confirm no critical development dependencies were omitted in the transition from SDL2 to SDL3

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Fix SDL3 build workflow' directly relates to the main change: updating the SDL3 build workflow in .github/workflows/build-sdl3.yml with corrected dependencies.
Description check ✅ Passed The description 'Attempt to fix SDL3 build / build (ubuntu-24.04) CI. Use documented dependencies.' clearly relates to the changeset which updates SDL3 dependencies in the build workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4b7f812 and ec55b77.

📒 Files selected for processing (1)
  • .github/workflows/build-sdl3.yml (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Starbuck5
Repo: pygame-community/pygame-ce PR: 3573
File: src_c/_pygame.h:108-133
Timestamp: 2025-09-01T20:18:57.500Z
Learning: In pygame-ce PR #3573, PG_SURF_BitsPerPixel was changed from a simple macro to a static inline function to handle SDL2/SDL3 differences. SDL2's BitsPerPixel includes padding bits (e.g., RGBX => 32) while SDL3's SDL_BITSPERPIXEL excludes padding (e.g., RGBX => 24). The new implementation bridges this gap rather than removing the helper entirely.
📚 Learning: 2025-08-30T21:11:00.240Z
Learnt from: Starbuck5
Repo: pygame-community/pygame-ce PR: 3573
File: src_c/_camera.c:129-131
Timestamp: 2025-08-30T21:11:00.240Z
Learning: When doing SDL2 to SDL3 compatibility changes, Starbuck5 prefers to maintain exact existing behaviors even when other improvements could be made, focusing solely on the compatibility aspect rather than mixing in behavioral fixes.

Applied to files:

  • .github/workflows/build-sdl3.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: x86_64
  • GitHub Check: AMD64
🔇 Additional comments (1)
.github/workflows/build-sdl3.yml (1)

70-80: Correctly updated to use official SDL3 dependencies.

The change properly replaces the SDL2 dependencies with a comprehensive SDL3-specific package set sourced from the official SDL3 documentation. The expanded list appropriately supports building SDL3 and its libraries (SDL3_image, SDL3_ttf) as required by the subsequent workflow steps.

To ensure the package list remains current and necessary, please verify that this dependency set matches the latest SDL3 documentation at https://wiki.libsdl.org/SDL3/README-linux#build-dependencies. Given the extensive list (20+ packages), you may want to confirm whether all packages are required or if any have become optional/redundant in recent SDL3 releases.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@aatle aatle marked this pull request as ready for review November 10, 2025 21:35
@aatle aatle requested a review from a team as a code owner November 10, 2025 21:35
@aatle aatle requested a review from ankith26 November 10, 2025 21:42
Copy link
Member

@Starbuck5 Starbuck5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense, thanks. I would force merge but I want to give Ankith a chance to weigh in if he'd like.

Copy link
Member

@ankith26 ankith26 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! 🎉

@ankith26 ankith26 merged commit 6a4fdda into pygame-community:main Nov 11, 2025
15 checks passed
@ankith26 ankith26 added this to the 2.5.7 milestone Nov 11, 2025
@aatle aatle deleted the sdl3-deps branch November 11, 2025 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Issue with the Continuous Integration (CI), the actions/bots that test things sdl3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants