-
Notifications
You must be signed in to change notification settings - Fork 826
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
Release Automation: Add cloud build target for release builds #2460
Comments
We may be able to take some inspiration from the Quilkin release process, since they do release builds using cloud build. |
As a thought - You can see an example of us doing this in the Quilkin project: |
Reopen, since not complete. |
@Kalaiselvi84 last time you ran a release, did you have to wait an hour before seeing the release via |
If I remember correctly, I didn't wait for an hour. The post-release was completed in less than 30 minutes. |
Wondering if you could add the
🤔 not sure how easy it is to do this, since the only place you could run it is on the e2e cluster -- which we could do. What are your thoughts? Is it easier to do the test locally / on a dev cluster? |
I will ensure the following checks are completed before proceeding with the "helm repo update" task,
After
This will take few minutes but not an hour👍🏻 |
The only thing here that might be tricky, is that you will need to authenticate against one of the e2e cluster (since I can't think of a better place to run these tests during the release on the Agones project) - as the release process is running in the Agones project, not your own, and there isn't a developer test cluster in that project. @gongmax do you have any thoughts here? |
So far, I haven't utilized |
So I think for this ticket we skip automating this step -- otherwise we might have to provision test infra etc, and that seems like too much of a investment that could be solved through installing on a local dev cluster. TL;DR - close the ticket at the level of completion we have now. |
Based on my understanding, it would be suitable to update this step manually. We need to ensure that the namespace is created or reinstalled if it was deleted, along with conducting a smoke test. However, I am open to any suggestions... |
Yeah, I agree. In which case, I'm making the decision to close this issue as complete! |
Is your feature request related to a problem? Please describe.
We currently do release builds on a local machine. This means that the releaser must configure their local environment very specifically to ensure that the builds are successful.
Moving the builds to cloud build will significantly reduce the amount of work necessary to create a build and reduce a number of steps that are prone to human error.
We can also move the release note generation into the cloud build target as part of the release process.
The step to check that all example images are properly published can be part of the release target as well.
The release build needs to be installed and smoke tested. We should determine whether we run the full e2e suite (which can at times be flaky) or a subset of it or maybe even a single test.
Finally, part of the
make do-release
target pushes a new github branch. This may be tricky from cloud build, so we could move to using github actions to create a new branch each time we create a release tag.Right now there are a number of steps in the release process related to building the release locally:
make shell
and rungcloud config configurations activate agones-images
.git checkout main && git pull --rebase upstream main
make gen-changelog
to generate the CHANGELOG.md (if release candidatemake gen-changelog RELEASE_VERSION={version}-rc
). You will need yourGithub Personal Access Token for this.
make test-examples-on-gcr
to ensure all example images exist on gcr.io/agones-images-upstream
points atgit@github.com:googleforgames/agones.git
git remote update && git checkout main && git reset --hard upstream/main
to ensure your code is in linewith upstream (unless this is a hotfix, then do the same, but for the release branch)
make do-release
. (if release candidate:make do-release RELEASE_VERSION={version}-rc
) to create and push the docker images and helm chart.helm repo add agones https://agones.dev/chart/stable
/helm repo update
and verify that the newversion is available via the command
helm search repo agones --versions --devel
.helm install --namespace=agones-system agones agones/agones
(
helm install --namespace=agones-system agones agones/agones --version={version}-rc
if release candidate) and a smoke test to confirm everything is working.and two relate pre-requisites:
gcloud config configurations
configuration calledagones-images
that points to the same project.Describe the solution you'd like
Move the manual release builds into cloud build.
The text was updated successfully, but these errors were encountered: