Skip to content

Feat: implement rust sdk (counter and list)#4247

Merged
markmandel merged 18 commits intoagones-dev:mainfrom
lacroixthomas:features/implement-sdk-rust
Sep 10, 2025
Merged

Feat: implement rust sdk (counter and list)#4247
markmandel merged 18 commits intoagones-dev:mainfrom
lacroixthomas:features/implement-sdk-rust

Conversation

@lacroixthomas
Copy link
Copy Markdown
Collaborator

@lacroixthomas lacroixthomas commented Aug 13, 2025

What type of PR is this?
/kind feature

What this PR does / Why we need it:

  • Add unit test on the rust sdk (code + Makefile)
  • Integrate the beta for the rust sdk
  • Add conformance test for counter and list (beta)

Which issue(s) this PR fixes:

Closes #3644

Special notes for your reviewer:
I'm new to rust, this will need a proper review 😄

@github-actions github-actions bot added kind/feature New features for Agones size/L labels Aug 13, 2025
@lacroixthomas lacroixthomas marked this pull request as ready for review August 13, 2025 23:19
@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

@Jake-Shadle @MiniaczQ
Sorry about that, I've seen that you were tagged on the ticket and that you have rust experiences ?
If you have some time for review, I'm new to rust, so don't hesitate if you see anything wrong 😄

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: 22c397bf-174e-441e-8a13-c04c1bf43021

Status: TIMEOUT

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

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: a6f71218-b5cc-4b89-9130-fdd23b6c44aa

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-2447197

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: a6b6abc8-f2e4-42e8-85a0-840d7b4b61e3

Status: FAILURE

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

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 1a429709-cec1-48c4-b8f8-b63c20b85c5b

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-ac1da39

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 8620f7b4-b29a-4871-aaf2-42c7a2497ea3

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-47905c7

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: b77f2050-fce7-4757-82d5-1f1783dba06b

Status: FAILURE

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

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

Gonna double check the logs in GCP, but might be the issue fixed by this PR: #4224

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: fefdd5ad-177b-4c5e-ac06-15a86ffe2410

Status: FAILURE

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

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: ecf81ab0-ed5b-476d-92f8-e1b01482e12a

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-71a1568

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: 61f96e87-14d9-4932-b6c7-055b0f1627a8

Status: FAILURE

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

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

And now the unit tests are failing on metrics randomely 😭

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 4a16bd5f-da93-47fd-a555-51ca7dd672e6

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-71a1568

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: 1403ae8d-b6fc-4c9d-b201-e7498e4720a1

Status: FAILURE

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

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: 229320ac-a5c9-48f8-b23e-4cca5f312405

Status: FAILURE

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

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: a9f03fe8-6177-4939-a0f7-029c663994c2

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-7ca7c61

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: bb2932d9-463a-4d61-a1e0-e84c2b93d9ad

Status: FAILURE

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

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

docker: Error response from daemon: pull access denied for agones-build-sdk-node, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 7679e8c2-2a2f-426e-a305-9b7f1443ef0f

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-4bdb0cf

Copy link
Copy Markdown
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.

This looks great! Only thing I would add is that we need to update https://agones.dev/site/docs/guides/client-sdks/rust/ (and don't forget to feature code the new pieces)


// MockAlpha simulates Alpha's async methods for unit testing
struct MockAlpha {
capacity: i64,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is player tracking yeah? We don't have to remove it, but it'll eventually be deleted.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yep, it's for the payer tracking

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 5468fd97-7d20-4103-9486-0dbd23b27daa

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-a6f8361

Copy link
Copy Markdown
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.

Noice.

@markmandel markmandel enabled auto-merge (squash) September 9, 2025 02:37
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: 2fcdaaaa-f1de-4fee-aa4a-a9ee15eba4c5

Status: FAILURE

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

@markmandel
Copy link
Copy Markdown
Collaborator

Release "agones" does not exist. Installing it now.
I0909 02:55:00.097134      91 warnings.go:110] "Warning: autopilot-default-resources-mutator:Autopilot updated Deployment agones-system/agones-controller: defaulted unspecified 'cpu' resource for containers [agones-controller] (see http://g.co/gke/autopilot-defaults)."
I0909 02:55:00.198221      91 warnings.go:110] "Warning: autopilot-default-resources-mutator:Autopilot updated Deployment agones-system/agones-extensions: defaulted unspecified 'cpu' resource for containers [agones-extensions] (see http://g.co/gke/autopilot-defaults)."
I0909 02:55:00.319209      91 warnings.go:110] "Warning: autopilot-default-resources-mutator:Autopilot updated Deployment agones-system/agones-ping: defaulted unspecified 'cpu' resource for containers [agones-ping] (see http://g.co/gke/autopilot-defaults)."
I0909 02:55:00.477539      91 warnings.go:110] "Warning: autopilot-default-resources-mutator:Autopilot updated Deployment agones-system/agones-allocator: defaulted unspecified 'cpu' resource for containers [agones-allocator] (see http://g.co/gke/autopilot-defaults)."
I0909 02:55:00.694848      91 warnings.go:110] "Warning: AdmissionWebhookController: mutated namespaceselector of the webhooks to enforce GKE Autopilot policies."
I0909 02:55:00.775038      91 warnings.go:110] "Warning: AdmissionWebhookController: mutated namespaceselector of the webhooks to enforce GKE Autopilot policies."
I0909 02:55:10.553870      91 warnings.go:110] "Warning: autopilot-default-resources-mutator:Autopilot updated Job agones-system/agones-delete-agones-resources: defaulted unspecified 'cpu' resource for containers [pre-delete-delete-agones-resources] (see http://g.co/gke/autopilot-defaults)."
Error: release agones failed, and has been uninstalled due to atomic being set: services "agones-allocator" not found
make: *** [Makefile:444: install] Error 1

@markmandel
Copy link
Copy Markdown
Collaborator

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: e605996e-f5ec-4a64-8e10-888080f02c25

Status: FAILURE

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

@lacroixthomas
Copy link
Copy Markdown
Collaborator Author

/gcbrun

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: f1fb2721-3596-45f8-bbc0-4bfa3f29dccb

Status: FAILURE

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

@markmandel
Copy link
Copy Markdown
Collaborator

Looks like the link to Terraform hates us now. May need to escape checking it.

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 27fea6d5-0f88-4da3-a76d-6cbdec5a1414

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/4247/head:pr_4247 && git checkout pr_4247
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.52.0-dev-54afcd6

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 0facb7ad-57f0-499a-8a22-d7d1ca158931

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/4247/head:pr_4247 && git checkout pr_4247
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.53.0-dev-f0a7a64

@markmandel markmandel merged commit 3d8def0 into agones-dev:main Sep 10, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature New features for Agones size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rust CountsAndLists SDK implementation and conformance tests

3 participants