-
-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the possibily to install master from a specific commit hash #23
Comments
Hey @guidoschmidt ! This is something I've been working on for the past few months. Unfortunately, it's been a bit more of a commitment than I expected. I'd have to save every hash released by the Zig team (multiple a week) and reliably fetch them. Now, that doesn't mean It's not going to happen. Far from it (I'm thinking v0.3.0), but there are some more QOL things I'd like to get out of the way first on v0.2.* before I fully solve this issue. That being said, I also really like your syntax suggestion. I might just implement it with that exact syntax. |
Thanks @tristanisham for your awesome work! if this is hard to implement right now, could it support install a dev version like 'zvm install 0.12.0-dev.163+6780a6bbf' |
Hey! Thank you so much. This is definitely going to be the next big
feature of ZVM. I’m actively working on it now. The only challenge is
finding a way to store Zig’s daily builds in a sustainable matter. It’s
very important to me that ZVM is the most portable and reliable version
manager for Zig, so I want whatever hosting solution to be stable and
(as just one guy) cost effective in the long run.
As for syntax, I’m thinking of allowing a few different syntaxes.
* zvm install ***@***.***+62a0fbdae
This would be to position ZVM to potentially allow you to install other
tools like ZLS along with Zig. The current version-based strings would
continue to work as is.
zvm install ***@***.***+62a0fbdae
Or just:
0.12.0-dev.706+62a0fbdae
Let me know what you guys think.
|
Hmm, tbh I do not think that having all the builds available as a list is as important as having ability to install some particular version of choice. The feature is major for current state of Zig when some projects (mach) require some specific version and it's important to develop against master at the same time. So, I would propose adding ability to run |
Does the Build CI stores specific hashes of master? I'm getting a 403 error fetching the page anyway. Right now I have a few releases being automatically stored on a personal server I plan to migrate to a public object store and use with ZVM. I'm just wrapping up a class for grad school (and had a death in the family) so I've been unable to dedicate the time to write high-quality software for ZVM. I'll be returning to the project next week. |
As there is no way of figuring list of versions, I will try to implement an algorithm:
|
There is. |
I know. But sometimes you need really specific version. But maybe there is a way of creating a list based on git history of this file https://github.com/ziglang/www.ziglang.org/commits/master/data/releases.json |
I can try to make a script to generate version map from history |
I have an archive of daily zig versions covering the past few months. I just need to sit down and build the server for it. |
I suggest introducing --force(maybe some better name) flag to install command which would bypass versionmap and download directly from https://ziglang.org/builds/ |
Could you expand on good that would work? The version map is how ZVM finds the correct build URL? Regardless of who created the version map? |
My idea works like this:
|
I also have a janky script to generate the full version map of all zig master versions using git: |
Why do you need an archive of versions, when you can just see if the one you're asking for exists? |
It has been a while, but I believe the versions on ziglang.org expire after some time, so building a VMU based on that would provide a bunch of dead versions. It is one of the reasons why zig nominated zersions hosts seperately. The idea of just going for it I think might be a reasonable approach. |
I've been using zvm for a few months now and it is really helpful, thanks for the effort you've put into it 🙏🏽. As I've started to use the master branch zig version more frequently, I sometimes would have needed the possibility to have multiple "master versions" installed from different commit hashes.
sth. like
Would install the latest commit from the zig master branch, and then
Would install the given commit hash from the master branch.
I'm not sure if that can be easily done, looks like this feature would need to pull the zig git repository and build the given version then 🤔.
The text was updated successfully, but these errors were encountered: