googleforgames / open-match

Flexible, extensible, and scalable video game matchmaking.
http://open-match.dev
Apache License 2.0
3.19k stars 333 forks source link

Proposal: Migrate Build Automation to k8s prow. #107

Closed jeremyje closed 3 years ago

jeremyje commented 5 years ago

Proposal Document: https://docs.google.com/document/d/1BOhIKP3N9TjOEUSn28jZvLSTFWrE7DKg66LANNerLdg Agones Issue: https://github.com/GoogleCloudPlatform/agones/issues/649

calebatwd commented 5 years ago

Tabled indefinitely (target future release). Kinda following the agones investigation for results

yfei1 commented 5 years ago

Made Prow with its default Kubernetes agent works in my personal repo https://github.com/yufan-org/open-match/pull/9, yet identified several issues when doing the migration:

  1. Prow with its native Kubernetes agent does not support having jobs running in pipeline. An workaround to it is having a shell script that executes everything step by step but the log will stay in one file without any formatting - which looks hairy.
  2. Open Match's CI pipeline need to build and push its Docker images to an registry and do the deployment. This requires setting up a DinD (Docker in Docker) environment. There is a workaround with it (and it works) and it seems like Kubernetes is also using such settings [1], [2] yet I'm not sure if it is a good practice.
  3. IAM permission in Prow environment. Prow agent will need the corresponding permissions to deploy release/upload artifacts to GCS container, and we have to reflect the changes in our terraform files accordingly.
  4. Prow is going to support tekton pipeline agent which fits our need but the integration is not mature.

kubernetes/test-infra#13874 tektoncd/pipeline#1187

sawagh commented 4 years ago

This is not in scope for Open Match v1.0

thisisnotapril commented 3 years ago

Closing - not going to move to prow