Skip to content

Conversation

aallbrig
Copy link
Contributor

Add instructions on how to set up a local development environment for contributing to agones unity sdk

What type of PR is this?

Uncomment only one /kind <> line, press enter to put that in a new line, and remove leading whitespace from that line:

/kind breaking
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind hotfix
/kind release

What this PR does / Why we need it:
This is documentation changes meant for those wanting to contribute to the agones unity sdk. I added a section to the Unity Game Server Client SDK called "Contributing" with instructions on how to set up a local development environment.

Screenshot 2024-06-29 at 3 05 43 PM

Which issue(s) this PR fixes:

Closes #

Special notes for your reviewer:

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: c2313418-82ed-468b-a606-f4a8c54598e1

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3886/head:pr_3886 && git checkout pr_3886
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-112fa36-amd64

Copy link
Collaborator

@markmandel markmandel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay on review!

@@ -226,3 +226,27 @@ The properties for the Unity Agones SDK can be found in the Inspector.
- Whether the server sends a health ping to the Agones sidecar. (default: `true`)
- Log Enabled
- Debug Logging Enabled. Debug logging for development of this Plugin. (default: `false`)

## Contributing
Copy link
Collaborator

@markmandel markmandel Jul 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooh thanks for this!

This is currently our development guide: https://github.com/googleforgames/agones/blob/main/build/README.md (which admittedly, is probably at a point where it should be split into multiple files). - we generally keep Agones development docs out of our user documentation (see https://github.com/googleforgames/agones?tab=readme-ov-file#development-and-contribution)

So I'm of two minds, and would love thoughts. Do we:

  1. Add a SDK Development section to build/README.md (which would be useful in general)
  2. Add a new .md file somewhere in build specifically for "Developing, Testing and Building SDKs" and link to it under https://github.com/googleforgames/agones?tab=readme-ov-file#development-and-contribution

I'm actually leaning towards No. 2 - what do other people think? @igooch you've also been doing SDK work for a bit, WDYT? (Not for this PR, but this could be a home for explaining how to generate grpc code, write unit tests, conformance tests, etc)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree that the build/README.md is getting to be rather unwieldy, so I'm also leaning towards option No. 2.

Copy link
Contributor Author

@aallbrig aallbrig Jul 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely, I'm happy to share my experiences on the subject to the project/agones community! It's not entirely intuitive to set up (at least I don't think so). Glad to possibly help anyone develop the agones unity sdk.

I'll complete these steps soon

  1. Move agones unity client sdk contributing guide into new .md file under build/
  2. Link to new .md file to "Development and Contribution" section of README.md

@@ -226,3 +226,27 @@ The properties for the Unity Agones SDK can be found in the Inspector.
- Whether the server sends a health ping to the Agones sidecar. (default: `true`)
- Log Enabled
- Debug Logging Enabled. Debug logging for development of this Plugin. (default: `false`)

## Contributing
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree that the build/README.md is getting to be rather unwieldy, so I'm also leaning towards option No. 2.

@aallbrig aallbrig force-pushed the agones-unity-sdk-add-contribution-instructions branch from eff5f95 to f08d90c Compare July 12, 2024 03:14
@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 64ecf409-f553-4ec6-8c30-aded3d027e83

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@aallbrig
Copy link
Contributor Author

@markmandel @igooch Please check out the latest version of the code.

As I was making the changes I realized there was an opportunity to standardize on having a README.md in each Agones client SDK directories. The opportunity exists because others have already created README.md files in respective directories.

I altered the plan in the following ways:

  1. I created a README.md file in sdks/unity/ directory which contains my explanation for doing Unity package development
  2. I linked to sdks/unity/README.md in sdks/README.md, a new file meant to serve as a springboard into each respective client SDK folder
  3. Linked to preexisting sdk/*/README.md files
  4. Have non-linked text for client SDKs that do not contain README.md, instead opting to tag them with (todo) text to encourage future development.

These changes are perhaps bigger than what was previously discussed. If we prefer a different approach please let me know and/or send commits!

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 7f868c2d-1daf-4523-a251-3e0c58ce05b8

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@aallbrig aallbrig force-pushed the agones-unity-sdk-add-contribution-instructions branch from b087bb4 to dcfb996 Compare July 16, 2024 14:11
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 387914ed-8ff1-471f-9dec-9bd7df670337

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3886/head:pr_3886 && git checkout pr_3886
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-dcfb996-amd64

@aallbrig
Copy link
Contributor Author

@igooch @markmandel & @ZeroParticle The build was previous failing but has now since passed. Please review this PR when any of you can!

I also tagged @ZeroParticle especially to review especially what is written in sdks/unity/README.md. I'm hoping they can prove out the written method of setting up a development environment for a Unity Package in Unity (thanks in advance!). I saw PR#3883 and see they're familiar with the subject so figured they'd be a good person to include in this discussion.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 54410082-2f31-484a-9ab3-1d64e8e56d6e

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3886/head:pr_3886 && git checkout pr_3886
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-c4b03e2-amd64

@aallbrig aallbrig force-pushed the agones-unity-sdk-add-contribution-instructions branch from c4b03e2 to 97b3c8c Compare July 18, 2024 17:27
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: c7f60be4-ca16-4333-80d7-c7de491bbdf4

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3886/head:pr_3886 && git checkout pr_3886
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.43.0-dev-97b3c8c-amd64

@aallbrig aallbrig force-pushed the agones-unity-sdk-add-contribution-instructions branch from 97b3c8c to efc34d3 Compare July 19, 2024 22:55
@aallbrig
Copy link
Contributor Author

Added these changes to #3887

@aallbrig aallbrig closed this Jul 19, 2024
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 890d9544-81f6-46bd-a9c5-c02ca56b0c9f

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3886/head:pr_3886 && git checkout pr_3886
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.43.0-dev-efc34d3-amd64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Documentation for Agones size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants