Is there some way I can see the nightly builds from each day?

Hello, I am trying to use a library that has no specific zig version mentioned and had its last commit a month ago. The is also no minimum_zig_version field. Does anyone by chance know how the compiler from ~a month ago is named or how I can find out how it is so I can download it via zigup?

Basically I need a compiler where std.mem.Alignment.of(...) exists and std.io is not yet std.Io

Have you tried doing a git bisect? I don’t believe the zig team keeps artifacts from each nightly build.

I have no idea what a git bisect is

Do you mean just git checkout the commit and compile the compiler myself?

Btw I think they do, although Im not 100% sure. If the compiler isnt too old my experience tells me that you can still zigup <some odd compiler version>. I might be wrong though.

This File indicates that zig only keeps track of the latest master build:
https://ziglang.org/download/index.json

A Git Bisect is a command available on git that allows you to do a binary search for when code changed. You run git bisect by identifying “good” and “bad” states. Then git will automatically jump commits and ask you to check if the state is “good” or “bad”. This will allow you to identify when a change was made.

Usually this would be done to identify the exact commit a bug was introduced. Here you might have to do two bisects, one for where std.mem.Alignment.of(...) is a thing and one where std.io was changed to std.Io. That would give you the range of valid commits to build the compiler off of.

Alternatively you could fork the underlying library and update it to work with zig master

2 Likes

For this kind of breakage it’s probably easier to just fork the project, fix all places where something changed and use your fork temporarily while you wait for the upstream project to get up to speed.

For bonus points you can PR the changes to help speed up that process :^)

For more serious breakages (eg a project stuck to Zig 0.5.0), maybe this might not be the shortest path, so you need to guesstimate the effort correctly, but for a 1 month lag, it should be fine usually.

4 Likes

Thats what I did, and even when I did the library really didnt work. I appreciate the help though!