A script enables developers to more easily run agones unity sdk tests
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: To allow contributors to more easily run the Agones Unity SDK tests.
Which issue(s) this PR fixes:
Closes #
Special notes for your reviewer:
I've run into some issues getting these tests able to be run from inside a container image (see https://github.com/googleforgames/agones/issues/3926). In that initial issue I suggested maybe a bash script to afford the same "easier to run tests" quality. Since I've had so much trouble getting it running, here's a draft of a script that calls the Unity Editor app directly.
Build Succeeded :partying_face:
Build Id: a45f7f52-33de-47c4-86b4-adafa5d49bf1
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.43.0-dev-c672209
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.43.0-dev-c672209
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.43.0-dev-c672209-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.43.0-dev-c672209
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.43.0-dev-c672209
- Linux C++ SDK (build): agonessdk-1.43.0-dev-c672209-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.43.0-dev-c672209.zip
A preview of the website (the last 30 builds are retained):
- https://c672209-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/3931/head:pr_3931 && git checkout pr_3931
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-c672209
It looks like the script works for me, however a few notes:
- The output is just a bunch of xml. Probably not very friendly to understand what happened. Maybe a log line at the end with a pass/fail display would be better?
- This script assumes you already have the editor and correct editor version, which is a pretty big assumption and I don't see any handling for that.
- The integration tests I wrote in #3883 specify that you need to run a local SDK server. This script would likely need to handle that either by skipping those tests or running it's own local sdk server.
- I'm not sure a top level scripts folder is the best place for this. Perhaps with the test project would be better?
Apologizes to everyone. The experience with trying to containerize these Unity tests (see attached issue) was discouraging enough to push me into just fully giving up on Unity. There's a mix of life, isolation, and consistent frustration with hobbyist time ambitions causing me to not be as resilient. Normally I can push through.
This is not fair to everyone who has spent finite open source time on this. I want to recognize and apologize.
@ZeroParticle feel free to take over this code/PR. I'm going to close it this PR. I suspect we can leverage Unity test categories or filters to optionally run some tests such as the ones you added that require the local Agones server.
Apologizes to everyone. The experience with trying to containerize these Unity tests (see attached issue) was discouraging enough to push me into just fully giving up on Unity. There's a mix of life, isolation, and consistent frustration with hobbyist time ambitions causing me to not be as resilient. Normally I can push through.
This is not fair to everyone who has spent finite open source time on this. I want to recognize and apologize.
@ZeroParticle feel free to take over this code/PR. I'm going to close it this PR. I suspect we can leverage Unity test categories or filters to optionally run some tests such as the ones you added that require the local Agones server.
Hey! It's all good! Sometimes life takes us in different directions.
Appreciate your time and effort on this. Unfortunately you also hit the team at at a time when we're super busy and our PR backlog got overwhelming so we couldn't give you the attention you probably deserved.
Thanks for your efforts!