-
Notifications
You must be signed in to change notification settings - Fork 6
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
Deployment and repo updates #15
Conversation
It's generally discouraged to vendor libraries like that. Have you considered tagging a specific commit for each dependency in shard.yml instead? |
I did briefly look into doing that. The issue that I ran into though (this happened to the OSS community many times in the past.. cough nodejs... npm.. cough) is where an upstream repo is fully deleted. So for example, we have runtime dependency on
This is a highly opinionated dependency management approach and its something a lot of folks in the Ruby community follow religiously. Its also something that I try my best to follow as well because of the whole who owns your availability... you... concept. I have also been chatting quite a bit with some of the maintainers of crystal about the best way to vendor shards and they did suggest doing exactly this as the "best way" to vendor shards in crystal's current state. That being said, if you don't think vendoring shards in the Let me know what you think! |
Gotcha. I'm not wholly opposed to it, but it definitely makes commits like this harder to parse. It might be worth looking into removing halite as a dependency entirely, since it's actually quite a bit slower than the built in HTTP client. When I added it I did so just because I liked halite's API, but I ended up having issues with it in another project so I haven't been using it anymore. Another option outside of vendoring, and something I tend to do myself more often would be to just fork the projects into this org and reference that fork in shard.yml. For now I'll go ahead and merge this though, and that's something we can look at in the future. |
This pull request layers all my changes that I made in my own fork into this project.
Most of the changes here is related to me vendoring shards into the
lib/
directory. This helps to maintain repeatable builds in CI. Also, I rancrystal docs
. Between these two things, it made the PR diff massive so for that I do apologizeThis PR also adds support for
deployments.cr
as well 🚀