Repository navigation
Build and test on Ubuntu 26.04 and 24.04; default Docker builds to 26.04 - #4704
vvbandeira wants to merge 9 commits into
Conversation
The amd64 KLayout install stopped on Ubuntu 26.04 because no checksum was set for it. The checksum is the md5 of the Ubuntu-26 release package on klayout.org. The error text now lists 24.04 and 26.04 as supported. The 22.04 path stays, but it is not supported. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
DockerHelper.sh accepted only ubuntu22.04, so CI could not build images on newer Ubuntu releases. The default stays ubuntu22.04. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Ubuntu 22.04 is not supported now. The image publish and installer test jobs now use the two supported Ubuntu releases. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Ubuntu 22.04 is not supported now. The examples use Ubuntu 26.04, and the Docker guide lists the valid -os values. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
On Ubuntu 23.04 and later, _installPipSystem ran only when the option was both common and base, so only -all reached it. Dockerfile.dev runs -base and -common as two calls, so the 24.04 and 26.04 images had no pandas, numpy, click, or yaml. These packages come from apt, so install them with the other system packages in -base. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
The threads example now selects Ubuntu 26.04 like the main example. The prebuilt list goes back to the packages that the linked releases have. A blank line restores the break before the second WSL image. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Local Docker builds now use Ubuntu 26.04 by default, and Ubuntu 22.04 is no longer an option. The publish and installer-test workflows pass the OS for each matrix entry, and Jenkins builds its images without these scripts, so only local builds change. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
The prebuilt binaries page lists Ubuntu 22.04 packages only, so the container for that path must stay on Ubuntu 22.04. Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request updates the default base OS from Ubuntu 22.04 to Ubuntu 26.04 across build scripts, Dockerfiles, and documentation, while also introducing support for Ubuntu 24.04. Feedback is provided to simplify and remove redundancy in the list of supported configurations in the local build documentation.
| The `setup.sh` script installs all of the dependencies, including OpenROAD dependencies, if they are not already installed. | ||
|
|
||
| Supported configurations are: Ubuntu 22.04, Ubuntu 22.04(aarch64), RHEL 8, RockyLinux 9 and Debian 11. | ||
| Supported configurations are: Ubuntu 26.04, Ubuntu 24.04, Ubuntu 26.04 and 24.04 (aarch64), RHEL 8, RockyLinux 9 and Debian 11. |
There was a problem hiding this comment.
The list of supported configurations is redundant. It lists 'Ubuntu 26.04, Ubuntu 24.04' and then 'Ubuntu 26.04 and 24.04 (aarch64)'. Consider simplifying this to 'Supported configurations are: Ubuntu 26.04 (x86_64, aarch64), Ubuntu 24.04 (x86_64, aarch64), RHEL 8, RockyLinux 9 and Debian 11.'
| Supported configurations are: Ubuntu 26.04, Ubuntu 24.04, Ubuntu 26.04 and 24.04 (aarch64), RHEL 8, RockyLinux 9 and Debian 11. | |
| Supported configurations are: Ubuntu 26.04 (x86_64, aarch64), Ubuntu 24.04 (x86_64, aarch64), RHEL 8, RockyLinux 9 and Debian 11. |
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Commit 62 design(s) checked — 0 with regression(s), 0 without a comparable baseline. |
Build and test ORFS on Ubuntu 26.04 and 24.04, with 26.04 as the default for local Docker builds.
Ubuntu 22.04 leaves the Docker helper options, the image workflows, and the docs.
The 22.04 code in
etc/DependencyInstaller.shstays, so installs on 22.04 can still work, but CI no longer tests them.etc/DependencyInstaller.shUbuntu-26package from klayout.org)._installPipSystemran only when the option was bothcommonandbase, so only-allreached it.docker/Dockerfile.devruns-baseand-commonas two calls, so the 24.04 images had no pandas, numpy, click, or yaml. It now runs with-base.etc/DockerHelper.sh,build_openroad.sh,docker/Dockerfile.dev: acceptubuntu26.04(default) andubuntu24.04.docker/Dockerfile.builderanddocker/Dockerfile.claudekeepopenroad/flow-ubuntu22.04-dev:latestas their default until aflow-ubuntu26.04-devimage is published. Their callers passfromImage.Verification
On an amd64 Ubuntu host with podman,
docker/Dockerfile.devbuilt with-ci -yosys-ver=v0.68and the pinned OpenROAD installer:import pandas, numpy, yaml, clickubuntu:26.04before the pip fixubuntu:26.04after the pip fixyamlfixpresentubuntu:24.04after the pip fixyamlfixpresentThe published
openroad/flow-ubuntu24.04-dev:latestand-builder:latestimages also lack these modules today.KLayout in the 26.04 image reports
KLayout 0.30.12.With a stub
docker,DockerHelper.sh create -target=builderbuildsflow-ubuntu26.04-builderby default,flow-ubuntu24.04-builderwith-os=ubuntu24.04, and rejects-os=ubuntu22.04.