-
Notifications
You must be signed in to change notification settings - Fork 223
Upgrade images from Debian 12 (bookworm) to 13 (trixie) and LLVM 12 to 20 #834
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR upgrades the Docker base images and build toolchain to support newer versions: Debian 12 (bookworm) to Debian 13 (trixie), Ubuntu 22.04 to 24.04, and LLVM/Clang from version 12 to 20. The changes align with stellar-core's move to support only Ubuntu 24.04 and LLVM 20.
Key changes:
- Updated all base Docker images (rust, golang, node) from bookworm to trixie variants
- Upgraded Ubuntu from 22.04 to 24.04 for core builder and quickstart stages
- Updated Clang and libc++ libraries from version 12 to version 20
- Replaced deprecated packages (netcat → netcat-openbsd, sqlite → sqlite3)
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Dockerfile | Updates base image tags for all builder stages (rust, golang, node, ubuntu) and updates LLVM/Clang compiler versions from 12 to 20, along with corresponding libc++ library versions |
| dependencies | Updates runtime dependencies to use netcat-openbsd instead of netcat, sqlite3 instead of sqlite, and libc++ libraries version 20 instead of version 12 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
I might have caused some confusion. stellar-core would support both 24.04 and 22.04. Jammy 22.04 is not at end of life for standard support for another 1.5 years, so we will support it till then. |
Co-authored-by: Copilot <[email protected]>
No worries. If core is moving to do supercluster test runs on 24.04 would still prefer to target 24.04. Although it doesn't really matter. Overall this change should still be okay and it means quickstart's final image is using a newer version of ubuntu. |
|
I also had to update postgres to v16, although we could install v14 from another apt repo. Horizon is tested with v16 so I think that's okay. However, this will be presumably disruptive to anyone running long running quickstart images to get a new versions of postgres. So maybe we need to think about announcing this and delaying merging. Or we could discard this change as a whole and pick it up in 1.5 years per @anupsdf's comment. |
|
I've pushed a change to revert the upgrade of postgres, so it's staying on v14. It can be upgraded at whatever moment there is a need for that. |
In Debian 13 (Trixie), /var/log/README is a symlink to ../../usr/share/doc/systemd/README.logs which doesn't exist in the container since systemd docs aren't installed. This causes 'docker cp' to fail with "invalid symlink" error in CI tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Move the fix for the broken /var/log/README symlink from the dependencies script to the test workflow. The symlink is removed via docker exec before running docker cp.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What
Upgrade all base Docker images from Debian 12 (bookworm) to Debian 13 (trixie). Update Ubuntu from 22.04 to 24.04, Rust from bookworm to trixie variant, Golang from 1.24-bookworm to 1.24-trixie, and Node from 22-bookworm to 22-trixie. Update Clang from version 12 to 20 and corresponding libc++ libraries. Replace deprecated netcat with netcat-openbsd and update sqlite to sqlite3.
Why
Stellar-core is moving to support only Ubuntu 24.04 and LLVM 20. All the software versions already included in all images defined in images.json should already be compatible with building on and with these tools, so upgrading now should be a-ok.