glew icon indicating copy to clipboard operation
glew copied to clipboard

Pin the Registry commits to stabilize the build

Open geffrak opened this issue 1 year ago • 8 comments

https://github.com/KhronosGroup/OpenGL-Registry/pull/591 introduced changes that are not properly parsed by the "auto" step.

This pull request is pinning the commit being used while building so we can have a stable and predictable build.

Fixes #399

geffrak avatar Nov 09 '23 19:11 geffrak

Reluctant to pin these.

Will take a look at resolving the problem. This happens from time to time.

nigels-com avatar Nov 09 '23 22:11 nigels-com

I can make a last-known-good snapshot available, if that's useful.

nigels-com avatar Nov 09 '23 22:11 nigels-com

Fixed via #401, can you confirm this isn't needed? And thanks for raising the alarm!

nigels-com avatar Nov 09 '23 22:11 nigels-com

We could have an automation that updates the commis if they can build. It would be great to have a deterministic build per commit.

geffrak avatar Nov 10 '23 00:11 geffrak

I agree in principle that we could trigger builds when upstream changes. But I do have a reservation that this could prove costly. In practice, humans raise the alarm fairly prompty!

nigels-com avatar Nov 10 '23 00:11 nigels-com

I'll see if I can trigger a build every few days, at least.

nigels-com avatar Nov 10 '23 01:11 nigels-com

I'm really sorry to argue with you since you are the main maintainer, but not having the Registry pinned to a commit makes the build random. In our project, we pin the all the third parties commits, and now all the commits before your fix are un-buildable, so all the commits of the project I work on are unbuildable. Ideally, I would like to make sure that this situation doesn't happen anymore.

You can see how we consume glew here: https://github.com/AcademySoftwareFoundation/OpenRV/blob/main/cmake/dependencies/glew.cmake#L14-L24

geffrak avatar Nov 10 '23 14:11 geffrak

@geffrak Yes indeed, we do much the same at my workplace too.

GLEW is a bit of an oddball project though. It's supposed to move forward over time, and nearly all the time that it successful. The thing that has changed over the years is that people want to consume GLEW directly via git, rather than (as intended) via the official releases. But this repo is more about the scripts for generating the sources, than it is about the sources themselves.

The alternative that I'd recommend would be to pin to Perlmint/glew-cmake which has the advantage of completely skipping the further dependency of the upstream specification repos.

nigels-com avatar Nov 11 '23 00:11 nigels-com