Skip to content
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

Dev: Build, Push and Test Agones Integrations #549

Merged
merged 3 commits into from
Jul 21, 2022

Conversation

markmandel
Copy link
Contributor

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

What this PR does / Why we need it:

This builds out the build/Makefile tooling such that you can build, push and test the Quilkin Agones integration against either Minikube or a hosted Kubernetes cluster (tested against GKE + Artifact Registry) in one operation.

Also includes:

  • Refactoring such that variable naming across cargo test and make targets all lined to up to be consistent.
  • If IMAGE_TAG is not present in cargo test, panic.
  • Upgrade Agones version in Terraform script.
  • Update release cloudbuild.yaml - include an update to changelog generator, as I found a bug in the version we were using.
  • More aggressive .dockerignore. Got the build context down from >3GB to ~900M, which was a big improvement in image creation speed.

Which issue(s) this PR fixes:

Work on #510

Special notes for your reviewer:

Once this is merged, I can work on integrating it with our CI builds.

This builds out the `build/Makefile` tooling such that you can build,
push and test the Quilkin Agones integration against either Minikube or
a hosted Kubernetes cluster (tested against GKE + Artifact Registry) in
one operation.

Also includes:

* Refactoring such that variable naming across `cargo test` and
`make` targets all lined to up to be consistent.
* If `IMAGE_TAG` is not present in `cargo test`, panic.
* Upgrade Agones version in Terraform script.
* Update release cloudbuild.yaml - include an update to changelog
generator, as I found a bug in the version we were using.
* More aggressive .dockerignore. Got the build context down from >3GB to
 ~900M, which was a big improvement in image creation speed.

Work on googleforgames#510
@markmandel markmandel added kind/feature New feature or request area/build-tools Development tooling. labels Jul 21, 2022
#### Minikube

This target assumes that you have a [working minikube cluster](#creating-an-agones-minikube-cluster),
under the profile `quilkin`, with Agones installed, and the local `.kube` configuration is currently
Copy link
Contributor Author

Choose a reason for hiding this comment

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

In the Agones minikube documentation, it directs you to use a profile named agones.

I went in the direction to push people to keep the Quilkin testing separate from other things, so picked a different default profile for these targets -- but what do you think, should it be agones ?

Can also change it later if it starts to annoy people.

Copy link
Collaborator

@XAMPPRocky XAMPPRocky left a comment

Choose a reason for hiding this comment

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

LGTM, I obviously haven't tested it locally but I think it's better to give that feedback as its own PR or issue.

@quilkin-bot
Copy link
Collaborator

Build Succeeded 🥳

Build Id: 2002649c-ebb5-45c2-b7a9-61df74c9bc4f

To build this version:

git fetch [email protected]:googleforgames/quilkin.git pull/549/head:pr_549 && git checkout pr_549
cargo build

@markmandel markmandel merged commit 8145aa0 into googleforgames:main Jul 21, 2022
@markmandel markmandel deleted the wip/build-push-test branch July 21, 2022 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build-tools Development tooling. kind/feature New feature or request size/m
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants