-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Bintray will be gone at the end of April #10626
Comments
Alternatives are Launchpad and Open Build Service. |
Unfortunately, the sunset of Bintray cought us at a really bad time, while being busy with the big 1.0 release and leadership changes. And we had even just completed migrating to bintray a couple of monts ago 😞 So unfortunately, I don't think there has been any work on a replacement yet. But obviously, this requires attention now. @j8r Launchpad is for Ubuntu/APT only, right? So it wouldn't be a replacement for the RPM repository? Open Build Service seems more versatile. |
OBS is fine despite maybe not the most intuitive thing to use, at least when I tried a couple of years ago. However integrating distribution and building might not be a big must here. I would consider building a solution that can generate repositories using Github Actions (or perhaps Circle), maybe something that can run in a docker container to be pretty independent. Then we can upload those repositories just to any CDN solution. This should give some flexibility and independence for exchanging either the build service or the CDN service. |
Definitely. I've taken a look at it a couple of weeks ago. Documentation is plenty, but there's a lot to grasp. And documentation is mostly focused on RPM packages, so while others are still supported, it's not always easy to spot the specific differences.
I think we essentially have this already in distribution-scripts as it was used before bintray. A generalized solution would be better. And dedicated repo hosting is also better than plain file hosting service because then we'd need to do the management ourselves. |
What exactly is "the management" here? Both RPM and APT repositories are designed to be plain file structures, historically so to allow easy FTP mirroring. Note that I'm talking about repository generation above, "building" might have been a misleading term :) |
Repository management. Configuring package metadata etc. So I guess that's what you include in building? I assumed building would be just packaging the |
Yeah, I realize as much. Sorry I wasn't very clear indeed. So yes, my point is that if we make repository generation/maintenance a distinct step we can just use any CDN/filehost to host the generated repository. |
|
Crystal Bintray channel looks dead right now.
|
I suppose an alternative would be to stop providing our own distribution packages. With the 1.0 release I'd expect we should be able to get Crystal into the official repositories of the respective package managers. The biggest problem with this approach is the time contraint. We need a replacement soon. And adding crystal packages to official repositories might not be done quickly enough. That's just a wild guess, I don't have any experience with the process. |
We certainly have no way of getting it into the current Debian stable release for example. I can't imagine the story is any different with RHEL. For just two major examples. |
Yeah, that's what I fear as well. As an unrelated intermediary step, we could maybe set up a redirect proxy for our package repositories on crystal-lang.org. So that |
This might be another option for self-building: https://github.com/pacur/pacur |
I'd like to conditionally offer my service, Balto Repo, for consideration. It supports Debian and will add RPM soon. You wouldn't have to worry about either the repository metadata or the hosting. The condition would be- do you have a ballpark idea of the monthly network transfer Crystal uses at Bintray right now? I just wouldn't want to offer something and not be able to deliver if it turns out you do 50 TB/month, for example. Alternatively you could subscribe to a paid plan, of course. |
@mattfox You could charge additional fees per additional GB, like some cloud providers do. |
@mattfox Thanks for your proposal. I haven't seen that before. The time frame of "RPM soon" would be particularly interesting. Can it realistically be expected before May 1st? |
Yes, RPM is expected before May 1st. And improved documentation after that... For an example, Balto hosts the Debian repo for Helm, the package manager for Kubernetes- https://helm.baltorepo.com/ . And here's all you do to upload your package- just a You're correct about what Balto offers. It's for hosting the repositories, not for helping build the .deb and other packages. It's aimed at Bintray and not OBS. From the comments above it sounds like you need a simpler solution soon, not a better solution later. ;) |
Certainly that's how it works for paid subscriptions. For an open source project with 16k GitHub stars I want to be more careful about offering an exception to the normal open source transfer max of 10 GB. But actually I see Crystal has sponsors and commercial backing so a paid plan would be reasonable and make the transfer a non-issue. |
@mattfox if my calculations are correct 10GB/month should be more than enough for some while. What's the space limit you offer for an OS project? |
"Reasonable". 😀 Storage is so inexpensive that unless your package is huge, or you're adding new builds very frequently, it just doesn't matter. |
Just one comment on that part here:
I just used the generic download for linux thingy and it worked. I think you don't need |
We did some more in-depth evaluation of the available options and decided to go with Open Build Service. It helps to reduce our internal tooling for packaging and promises to add more value in the long run. The new home for Crystal's deb and rpm packages is now at: https://build.opensuse.org/project/show/devel:languages:crystal Installation instructions are available at: https://software.opensuse.org//download.html?project=devel%3Alanguages%3Acrystal&package=crystal If you want to help, please check the new packages and report any issues. I'll update the instructions at https://crystal-lang.org/install and the installer script next. Currently, only the most recent release With OBS we can easily split a separate |
I'll give it a shot. Any chance you can turn on aarch64 builds? |
Thanks! Sorry, we still need to boostrap aarch64 in the dist pipeline. But once that's done, it should be a piece of cake to distribute packages with OBS. |
I tried it, it seems to work pretty much effortlessly and as I would have expected. Let me (well, everyone I guess) know when you are going to commit to the new repo so I can ship the change more permanently. Will keep you posted if anything out of the ordinary appears. |
The new installation instructions and installer script are online: https://crystal-lang.org/2021/04/30/new-apt-and-rpm-repositories.html Let's hope the transition goes smoothly 🤞 Please try the new repositories and report any issues you encounter. |
@straight-shoota broken link in the post, https://build.opensuse.org/package/show/devel:languages:crystal doesn't exist. But other links work. |
For me, running the script failed since it seemed to call
I worked around this by deleting |
The script runs |
It seems like the instructions for openSuse haven't been updated yet. |
There's a PR pending to fix this: crystal-lang/crystal-website#139 |
With #10684 merged, packages for nightly builds are back. Builds for CentOS and RHEL nightly packages are currently broken because of a weird segfault when executing the packaged crystal binary. Users of these distributions should be able to use any other RPM package (for example from one of the Fedora repositories). The build instructions are identical, but something breaks with CentOS and RHEL 🤷 |
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
crystal-lang install.sh still relies on bintray, so I suppose it should be fixed as soon as possible.
I think some of you already started working on it, but I don't see any trackers of it.
(sorry if the category is wrong, but it could be considered as install.sh's issue...)
The text was updated successfully, but these errors were encountered: