Update: At WWDC 2019, GitHub added support for Swift packages to GitHub Package Registry. Swift packages make it easy to share your libraries and source code across projects and with the Swift community.
Last Friday, GitHub announced a new package management service to allow developers and organizations to easily generate “packages” from their code. Called the GitHub Package Registry, this service allows developers to publish public or private packages next to their source code.
Yesterday we (surprise) launched GitHub Package Registry 🎁
It’s your code, your packages, and one login.
— GitHub (@github) May 11, 2019
“GitHub Package Registry is compatible with common package management clients, so you can publish packages with your choice of tools,” Simina Pasat, director of Product Management at GitHub, explains in the official announcement.
Developers can also publish multiple packages of different types for more complex repositories. They can also customize publishing and post-publishing workflows using webhooks and GitHub Actions.
GitHub Package Registry has unified identity and permissions meaning packages on GitHub inherit the visibility and permissions associated with the repository. This means, organizations no longer need to maintain a separate package registry and mirror permissions across systems. They can use a single set of credentials across different systems for code and packages, and manage access permissions with the same tools.
Developers are generally enthusiastic about the new GitHub Venture. Here are some positive comments from a thread on Hacker News.
“This is really outstanding. GitHub Package Registry separates the registry from the artifact storage, which is the right way to do it. The registry should be quick to update because it’s only a pointer. The artifact storage will be under my control. Credentials and security should be easier to deal with. I really hope this works out.”
“This is pretty interesting. Github really is becoming the social network that MS never seemed to be able to create. We already use it as our portfolio of work for potential employers. We collaborate with fellow enthusiasts and maybe even make new friends. We host our websites from it. Abuse it to store binaries, too. And now, alongside, source code we can use it as a CDN of sorts to serve packages, for free, sounds pretty great.”
“It’s a really nice project overall, having a GitHub Package Registry that supports many different projects and run by a company that today is good, is always nice.”