glew
glew copied to clipboard
Pin the Registry commits to stabilize the build
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
Reluctant to pin these.
Will take a look at resolving the problem. This happens from time to time.
I can make a last-known-good snapshot available, if that's useful.
Fixed via #401, can you confirm this isn't needed? And thanks for raising the alarm!
We could have an automation that updates the commis if they can build. It would be great to have a deterministic build per commit.
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!
I'll see if I can trigger a build every few days, at least.
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 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.