Skip to content

feat(devops): add Rocky Linux 10 sandbox support / dynamic OS selection - #1913

Closed
Konstantin-Glukhov wants to merge 1 commit into
apache:mainfrom
Konstantin-Glukhov:feature/sandbox-rockylinux10
Closed

feat(devops): add Rocky Linux 10 sandbox support / dynamic OS selection#1913
Konstantin-Glukhov wants to merge 1 commit into
apache:mainfrom
Konstantin-Glukhov:feature/sandbox-rockylinux10

Conversation

@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor

What does this PR do?

Introduce support for Rocky Linux 10 sandbox builds while improving the flexibility and safety of the sandbox orchestration script.

Changes include:

  • Add a new -o option flag to run.sh to allow users to explicitly specify the target OS version.
  • Implement a validation guard preventing users from building older release versions on Rocky Linux 10 due to modern toolchain incompatibilities.
  • Move the CODEBASE_VERSION validation earlier in the execution path to catch errors before OS mapping occurs.
  • Add missing libicu-devel dependency to the Rocky Linux 9 Dockerfile to fix localized build issues.

Type of Change

  • New feature (non-breaking change)

Test Plan

  • Passed ./run.sh -c main -m -o rockylinux10
  • Passed ./run.sh -c main -m
  • Passed ./run.sh -c 2.1.0 -m

Impact

Dependencies:

Optional rockylinux10

Checklist

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hi, @Konstantin-Glukhov welcome!🎊 Thanks for taking the effort to make our project better! 🙌 Keep making such awesome contributions!

@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor Author

Hi everyone! I've added Rocky Linux 10 sandbox support for the main branch and introduced a validation safeguard in run.sh to prevent incompatible release builds on Rocky 10.

Ready for review from the @apache/cloudberry-committers team. Thank you!

Comment thread devops/sandbox/README.md Outdated

```shell
cd cloudberry/devops/sandbox
./run.sh -c main -m -o rockylinux9

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
./run.sh -c main -m -o rockylinux9
./run.sh -c main -m -o rockylinux10

@Konstantin-Glukhov Konstantin-Glukhov Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Sorry it was a typo, I addressed it.

@tuhaihe

tuhaihe commented Aug 20, 2026

Copy link
Copy Markdown
Member

Hi everyone! I've added Rocky Linux 10 sandbox support for the main branch and introduced a validation safeguard in run.sh to prevent incompatible release builds on Rocky 10.

Ready for review from the @apache/cloudberry-committers team. Thank you!

Hi @Konstantin-Glukhov Thanks for your great work! I'll take a look at the PR later.

@tuhaihe

tuhaihe commented Aug 20, 2026

Copy link
Copy Markdown
Member

BTW, @Konstantin-Glukhov Would you like to help with creating a sandbox workflow? We can verify changes automatically. I have done some draft work here: tuhaihe@18d3667 . If you are available, please take over. :)

@Konstantin-Glukhov
Konstantin-Glukhov force-pushed the feature/sandbox-rockylinux10 branch from 7d37bc0 to 0810b0a Compare August 20, 2026 08:20
@tuhaihe

tuhaihe commented Aug 25, 2026

Copy link
Copy Markdown
Member

Thanks for the work, @Konstantin-Glukhov! Could you please split the libicu-devel fix into a separate PR? This is an unrelated bug that all three build images already have, but the sandbox didn't. I'd love to merge it right away, but I'm holding off on the Rocky 10 version because the sandbox is only for testing and not production. Let's keep things simple.

…tion

Introduce support for Rocky Linux 10 sandbox builds while improving the
flexibility and safety of the sandbox orchestration script.

Changes include:
- Add a new `-o` option flag to `run.sh` to allow users to explicitly
  specify the target OS version.
- Implement a validation guard preventing users from building older
  release versions on Rocky Linux 10 due to modern toolchain
  incompatibilities.
- Move the `CODEBASE_VERSION` validation earlier in the execution path
  to catch errors before OS mapping occurs.
- Add missing `libicu-devel` dependency to the Rocky Linux 9 Dockerfile
  to fix localized build issues.
@Konstantin-Glukhov
Konstantin-Glukhov force-pushed the feature/sandbox-rockylinux10 branch from 0810b0a to 4aa980a Compare August 26, 2026 01:25
@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor Author

Thanks for the work, @Konstantin-Glukhov! Could you please split the libicu-devel fix into a separate PR? This is an unrelated bug that all three build images already have, but the sandbox didn't. I'd love to merge it right away, but I'm holding off on the Rocky 10 version because the sandbox is only for testing and not production. Let's keep things simple.

I did.

@leborchuk leborchuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@tuhaihe

tuhaihe commented Aug 31, 2026

Copy link
Copy Markdown
Member

Hi, since #1927 was merged, we plan to close this PR. As explained above, it is better to keep the sandbox as simple as possible.

@tuhaihe tuhaihe closed this Aug 31, 2026
@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor Author

Hi, since #1927 was merged, we plan to close this PR. As explained above, it is better to keep the sandbox as simple as possible.

I don't understand how this PR relates to the other. This is completely a new feature to provide support for Rocky 10. So, you don't want Rocky 10 functionality at all?

@tuhaihe

tuhaihe commented Aug 31, 2026

Copy link
Copy Markdown
Member

Hi, since #1927 was merged, we plan to close this PR. As explained above, it is better to keep the sandbox as simple as possible.

I don't understand how this PR relates to the other. This is completely a new feature to provide support for Rocky 10. So, you don't want Rocky 10 functionality at all?

Hi, from my understanding, a sandbox is used by users to try and experience the basic features of Apache Cloudberry. So, no matter what operating system the sandbox is built on, users will have a similar experience. For Rocky Linux 10, the files are nearly the same as those in Rocky Linux 9. I want the sandbox to be kept simple.

@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor Author

Hi, since #1927 was merged, we plan to close this PR. As explained above, it is better to keep the sandbox as simple as possible.

I don't understand how this PR relates to the other. This is completely a new feature to provide support for Rocky 10. So, you don't want Rocky 10 functionality at all?

Hi, from my understanding, a sandbox is used by users to try and experience the basic features of Apache Cloudberry. So, no matter what operating system the sandbox is built on, users will have a similar experience. For Rocky Linux 10, the files are nearly the same as those in Rocky Linux 9. I want the sandbox to be kept simple.

Sandbox is also used to test functionality with a new OS. Adding two new files does not make it any more complicated, it just provides options.

@tuhaihe

tuhaihe commented Aug 31, 2026

Copy link
Copy Markdown
Member

Understood, and that's a fair point — the sandbox does get used to try a new OS, not
just to demo features.

Let me ask the other way round: do you have a concrete need for a Rocky 10 sandbox on
your side — a user, a deployment, something you're blocked on? That would help a lot.
I haven't seen this come up from other users yet, and that's really what I'm weighing.

On OS coverage itself, I think we're already served: our CI workflows build and test on
five platforms — rocky8, rocky9, rocky10, ubuntu22.04 and ubuntu24.04 — and we ship
convenience binaries for them. So Rocky 10 is exercised in the daily development
workflow already; the sandbox is a narrower thing, and I'd rather it stay minimal until
there's real demand pulling it the other way.

So my suggestion: let's park this for now and pick it up the moment there's real pull
for it — users asking, or a concrete need like the one I asked about above. When that
happens I'll reopen this and get it merged. Does that work for you?

@Konstantin-Glukhov

Copy link
Copy Markdown
Contributor Author

Two additional Dockerfile/config files for Rocky 10 don't add real complexity — they're isolated, self-contained additions that don't touch the Rocky 8/9 paths at all. Maintenance burden stays flat.

Also worth noting: "sandbox," by etymology, means a play area for experimenting safely. Testing a new OS in it isn't a departure from its purpose — it's exactly what it's for.

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.

3 participants