edlf / DDR5SPDEditor

DDR5 SPD Editor in QT
GNU General Public License v3.0
9 stars 2 forks source link

Github Actions CI for automated builds #3

Closed N-Storm closed 2 months ago

N-Storm commented 2 months ago

Hello, I've noticed you have "Provide binaries" item on your TODO list. I've created a Github Actions workflow which builds this project for Windows & Linux x86_64 targets on every commit with on the Github Action Runners. It can also make & upload release on the version tag match (currently it's a tag matching "v[0-9]+.[0-9]+.[0-9]+" regex). For a Windows build I've tried to configure CMake to link statically where possible to avoid having a lot of dll dependencies. Currently it yields up a binary, which has 3 Qt6 DLLs dynamically linked. So I've configured action runner to bundle them along with binary into a 7z archive. You can see it in action on my fork: https://github.com/N-Storm/DDR5SPDEditor/tree/ci-test (ci-test branch, Actions and Releases page). If you are interested in adding it to you repo, I'll gladly submit a PR. But before doing so, I can adjust it to suit your preferences (like build flags, release file names, version format & release trigger tag template, etc) if you aren't familiar with GH Actions. Anyways, feel free to ask me anything related.

PS: Your software already helps. My DDR5 SPD EEPROMs got messed up by MB. Even while not yet complete, I've used it to to figure out some of the bitfields in question. And saved me from guessing how is the CRC calculated. Thanks! We definitely need some open source tools to edit SPD EEPROMs. Especially with all that mess coming from MB vendors and RGB software started to happen much more often with DDR5.

edlf commented 2 months ago

Hi! Indeed it has been on the back burner for a while, I was still fighting with Qt/MSYS to create a static build that didn't have any dependencies. I think your solution is great! I don't really have any versioning strategy so I can use what you already did.

I'm more than happy to merge this and have it in, it will help me and whoever bumps into this repo, many thanks for all the work!

Glad to have helped, I've also struggled with some vendors not providing proper JEDEC timings for both DDR 4 and 5 and motherboards corrupting SPDs even without RGB. With SPD-Reader-Writer by 1a2m3 you can lock SPD regions even without a hardware programmer (although to unlock them again you will need a hw programmer). This will prevent your SPD getting corrupted due to bad SW.

N-Storm commented 2 months ago

Submitted PR #4