Expand CI matrix to 5 distros - #5
Merged
Merged
Conversation
…ocky 9, Fedora 40) Match the RyuSim release matrix by testing on all supported distros. Non-Ubuntu distros run in official Docker containers on ubuntu-latest runners. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rocky 9: ninja-build is in CRB repo, not base. Enable CRB after EPEL. Fedora 40 & Rocky 9: RyuSim binary links against librtmp.so.1 at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The librtmp.so.1 dependency is a RyuSim build-side issue, not something the validation repo should paper over. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove curl from Rocky 9/Fedora 40 (curl-minimal already in image) - Remove librtmp and verilator from container distros (not needed) - Only install what RyuSim actually requires: python3, cmake, clang, git Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Re-add verilator to all container distros (needed for benchmarks/VCD comparison) - Use per-distro pip_flags matrix variable instead of blanket container check - Rocky 9 (Python 3.9) doesn't support --break-system-packages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cocotb's C++ extensions link with -static-libstdc++ which requires libstdc++-static on Rocky 9. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cocotb's pip build compiles C extensions that need Python.h headers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Since bundled libraries were removed from the RyuSim tarball, each distro needs development packages installed for the generated simulation code to link successfully. Fixes: - Rocky 9: add zlib-devel, openssl-devel (linker cannot find -lz) - Fedora 40: add python3-devel, libstdc++-devel, zlib-devel, openssl-devel (cocotb build fails: cannot find -lstdc++) - Debian 12: add python3-dev, zlib1g-dev, libssl-dev - Ubuntu 22.04: add PPA for libstdc++-13-dev (GLIBCXX_3.4.31/32 not found), plus zlib1g-dev, libssl-dev Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… for Fedora - Move native Ubuntu system deps step before Install RyuSim so libstdc++-13-dev is available when the installer verifies the binary (Ubuntu 22.04 needs GLIBCXX_3.4.31/32) - Add libstdc++-static to Fedora 40 packages (cocotb's g++ link needs -lstdc++ which requires the static lib on Fedora) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Increased timeout for C910 compilation on CI runners.
Vortex failed on Debian 12 and Ubuntu 22.04 because the system Clang 14 was used to compile RyuSim-generated C++, while RyuSim itself was built with Clang 18. Install Clang 18 from apt.llvm.org on both platforms to match the build environment. Also remove push/PR triggers from benchmarks and sv-tests workflows, keeping only workflow_dispatch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…into feat/expand-distro-matrix # Conflicts: # .github/workflows/benchmarks.yml
Default 900s timeout is too tight for Debian 12 container runners. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ubuntu-latestrunnersTest plan
🤖 Generated with Claude Code