YosysHQ / oss-cad-suite-build

Multi-platform nightly builds of open source digital design and verification tools
ISC License
742 stars 67 forks source link

GitHub actions to remove outdated patches/revisions #101

Open sifferman opened 5 months ago

sifferman commented 5 months ago

Hello!

It is my opinion that this project is most helpful when it delivers as close to the latest unmodified version as possible. Many untracked patches/revision freezes will make that goal difficult.

https://github.com/YosysHQ/oss-cad-suite-build/pull/89 and https://github.com/YosysHQ/oss-cad-suite-build/pull/100 remove outdated patches for Verilator. I've noticed there are dozens of patches across many different tools, as well as many tool versions that are frozen at a specific revision. It seems fairly challenging to keep track of outdated patches/revision freezes.

Would it be possible to add some automatic testing on whether a patch/revision freeze is still necessary? I imagine this can be achieved with attaching a test to every patch:

  1. Every patched project should be built twice: once with the patch, and once without
  2. A test is run on both the patched and unpatched versions
Unpatched Passes Unpatched Fails
Patched Passes ALERT "Patch no longer needed" (no alert, patch working as intended)
Patched Fails ALERT "Patch breaks compatibility" ALERT "Patch insufficient"

I bring this up, because I see that Icarus' revision was just frozen https://github.com/YosysHQ/oss-cad-suite-build/commit/d22858db71119724d7a541c3ed677e7e6f52521f, although it gets frequent updates that are very helpful for users. I would like to see some automatic testing for when the revision can be unfrozen.

Thanks!