-
Notifications
You must be signed in to change notification settings - Fork 813
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
Create npm package for Node.js sdk #679
Comments
I'll put in a PR for this. I'd really like to use npm for my project. |
Actually it looks like all that's really needed is access to Google's npm account. I'd love to help out if I can. Ping me if that's the case. |
Could we / should we use https://github.blog/2019-05-10-introducing-github-package-registry/ ? Or should we have our own npm package? (I've no idea about this ecosystem) |
Interesting. That would definitely work, but in my mind it's more a question of how Google handles (or wants to handle) packages they maintain. I'm not sure if it matters to anyone at any level whether developers install agones via: $ npm install @github/agones vs. $ npm install @google/agones |
I think we could have an agones specific account - we don't necessarily need to have it tied to google itself. |
I'm agnostic about the approach. The github package registry is pretty neat but it is invite-only at the moment. If adding to the npm registry is as simple as someone creating an account, I don't mind managing that. Getting the project into either registry would make my life easier so let me know what I can do to help. |
@thisisnotapril what's the common practice for this kind of thing? (storing account credentials for external repositories, etc?) |
@markmandel @thisisnotapril any updates on this? i'm currently forking the repo so i can maintain my own registry through github with this as a package. I wouldn't mind taking ownership of pushing to the googleforgames registry whenever there are version updates, since I'm already doing that anyways for myself, but I think I would need some access credentials to the repo that maybe you don't want to give to a rando off the internet. I can also walk someone else through the process, or write something up etc. It's not terribly difficult but would make dev a little easier for my team. Currently we have to manually ensure we're all on the same version of agones locally before testing deployments. |
Hey! We should totally do this. Let's push it to this repository. What would be ideal for me 😄 is to have a Makefile target I can add to our release process. Then I don't even need to know how NPM works! 😄 The tricky bit would be you would need to use the npm sdk image - but there is a run-sdk-command-node target that should make this quite easy! I'm happy to do the part to integrate it into If you need to grab a Github token from the command line to authenticate, there is an example above as well. Let me know if you need any help navigating the build system, either here or on Slack! How does that sound? |
I'll ask this question, since it's probably worth asking, since I've no idea about the node ecosystem. Better to host the npm package on github or on npmjs? (Github is easier for us, as there is only 1 auth system to manage) |
That sounds perfect, I'll start on this right away. I personally feel that npm vs github doesn't matter. The only problem this is solving for is keeping version numbers consistent across the team in a unified way. |
Adds a publish script to send the node sdk to the github package registry. Related to: #679. Co-authored-by: Mark Mandel <mark.mandel@gmail.com>
@markmandel this can be closed now. |
Excellent point! Closed! |
I just wanted to integrate this but I have a couple of concerns. My Plan was to publish a module for an existing game that other developers, that modify that game as well, can use. The npm registry works without authentication and no need for manual settings. Please consider publishing this into the NPM registry |
Agreed. I admit that when we started working on this, I had only published packages to github that were intended to be private. When it came to this project, I expected that authentication would not be required because this repo is public. Now that the package is live I'm also experiencing the same sort of issue. @markmandel I know this was just released, and I told you npm vs github didn't matter for the registry, but would this be something we could explore? There would be a couple of changes to what we just did but the overall build process would be the same. |
That makes a lot of sense - sounds like I should setup a npm account for Agones? Probably setup an Agones org, yes? |
You would want an NPM account and I would recommend to create an Org with that account to publish packages under that org. |
@thisisnotapril should we do an Agones org, or a GoogleforGames org? |
We have a Google org already; let's explore using that one. |
That makes sense - likely @google-cloud/, such as https://www.npmjs.com/package/@google-cloud/vision |
Also realised that https://github.com/googleforgames/agones/tree/master/examples/nodejs-simple is now broken, because it can't grab the package 😕 |
Is this fixed? Seems like there is a package now published under: https://www.npmjs.com/package/@googleforgames/agones |
This is not fixed yet. I need to navigate our internal tooling. I'm most of the way there. I'll make sure to round this out before the next release. |
That is not an official release. @thisisnotapril we might want to look into this. |
Just noticed the documentation is actually wrong: We don't mention the package is on Github, not npm |
https://www.npmjs.com/package/@google-cloud/agones-sdk Check it out! Wanted to make sure this was in place for 1.4.0 RC release on Tuesday. Updating the docs and example image 👍 |
Made sense to do these two parts together, since they were intertwined. 1. Closed googleforgames#679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
Made sense to do these two parts together, since they were intertwined. 1. Closed googleforgames#679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. (Node image update for googleforgames#1261) 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
Made sense to do these two parts together, since they were intertwined. 1. Closed #679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. (Node image update for #1261) 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
Nice to see |
Made sense to do these two parts together, since they were intertwined. 1. Closed #679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. (Node image update for #1261) 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
Made sense to do these two parts together, since they were intertwined. 1. Closed #679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. (Node image update for #1261) 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
Adds a publish script to send the node sdk to the github package registry. Related to: googleforgames#679. Co-authored-by: Mark Mandel <mark.mandel@gmail.com>
Made sense to do these two parts together, since they were intertwined. 1. Closed googleforgames#679 - create an interactive shell, so we can publish to @google-cloud/agones-sdk, since it requires some internal tools to make it happen. 2. Also update the Node version to 12.x, since 11.x is deprecated 3. Updated the image to use the new NPM package, and also while in there updated Node to 12.x and the Debian base to Buster. (Node image update for googleforgames#1261) 4. Updated the release checklist to use the interactive shell, rather than the `publish` command, which has now been removed.
No description provided.
The text was updated successfully, but these errors were encountered: