Skip to content

Commit 8e47721

Browse files
authored
Merge pull request #2662 from camilamacedo86/update-release
📖 update RELEASE doc to provide the info about how the releases are done
2 parents f6814e7 + 9927f38 commit 8e47721

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

RELEASE.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,70 @@ The binaries releases for HEAD are available here:
2121
- [kubebuilder-release-master-head-darwin-amd64.tar.gz](https://storage.googleapis.com/kubebuilder-release/kubebuilder-release-master-head-darwin-amd64.tar.gz)
2222
- [kubebuilder-release-master-head-linux-amd64.tar.gz](https://storage.googleapis.com/kubebuilder-release/kubebuilder-release-master-head-linux-amd64.tar.gz)
2323

24+
## How the releases are configured
25+
26+
The releases occur in an account in the Google Cloud (See [here](https://console.cloud.google.com/cloud-build/builds?project=kubebuilder)) using Cloud Build.
27+
28+
### To build the Kubebuilder CLI binaries:
29+
30+
A trigger `build-kb-release` is configured to call [build/cloudbuild.yaml](build/cloudbuild.yaml).
31+
This trigger will be executed when any new tag be published.
32+
The tags must be built from the release branch (Currently, `release-3`).
33+
34+
Also, we have a trigger to generate snapshots builds from the master branch.
35+
This trigger will call [build/cloudbuild_snapshot.yaml](build/cloudbuild_snapshot.yaml)
36+
when any change needs to be performed on master.
37+
38+
### To build the Kubebuilder-tools: (Artifacts required to use ENV TEST)
39+
40+
Kubebuilder projects requires artifacts which are used to do test with ENV TEST (when we call `make test` target)
41+
These artifacts can be checked in the service page: https://storage.googleapis.com/kubebuilder-tools
42+
43+
The build is made from the branch [tools-releases](https://github.com/kubernetes-sigs/kubebuilder/tree/tools-releases) and the trigger will call the `build/cloudbuild_tools.yaml` passing
44+
as argument the architecture and the SO that should be used, e.g:
45+
46+
<img width="553" alt="Screenshot 2022-04-30 at 10 15 41" src="https://user-images.githubusercontent.com/7708031/166099666-ae9cd2df-73fe-47f6-a987-464f63df9a19.png">
47+
48+
For further information see the [README](https://github.com/kubernetes-sigs/kubebuilder/blob/tools-releases/README.md).
49+
50+
### To build the `kube-rbac-proxy` images:
51+
52+
These images are built from the project [brancz/kube-rbac-proxy](https://github.com/brancz/kube-rbac-proxy).
53+
The projects built with Kubebuilder creates a side container with `kube-rbac-proxy` to protect the Manager.
54+
55+
These images are can be checked in the consolse, see [here](https://console.cloud.google.com/gcr/images/kubebuilder/GLOBAL/kube-rbac-proxy).
56+
57+
The project `kube-rbac-proxy` is in the process to be donated to the k8s org. However, it is going on for a long time and then,
58+
we have no ETA for that to occur. When that occurs we can automate this process. But until there we need to generate these images
59+
by bumping the versions/tags released by `kube-rbac-proxy` on the branch
60+
[kube-rbac-proxy-releases](https://github.com/kubernetes-sigs/kubebuilder/tree/kube-rbac-proxy-releases)
61+
then the `build/cloudbuild_kube-rbac-proxy.yaml` will generate the images.
62+
63+
To check an example, see the pull request [#2578](https://github.com/kubernetes-sigs/kubebuilder/pull/2578).
64+
65+
**Note**: we cannot use the images produced by the project `kube-rbac-proxy` because we need to ensure
66+
to Kubebuilder users that these images will be available.
67+
68+
### To build the `gcr.io/kubebuilder/pr-verifier` images:
69+
70+
These images are used to verify the PR title and description. They are built from [kubernetes-sigs/kubebuilder-release-tools](https://github.com/kubernetes-sigs/kubebuilder-release-tools/).
71+
In Kubebuilder, we have been using this project via the GitHub action [.github/workflows/verify.yml](.github/workflows/verify.yml)
72+
and not the image, see:
73+
74+
```yaml
75+
verify:
76+
name: Verify PR contents
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Verifier action
80+
id: verifier
81+
uses: kubernetes-sigs/[email protected]
82+
with:
83+
github_token: ${{ secrets.GITHUB_TOKEN }}
84+
```
85+
86+
However, the image should still be built and maintained since other projects under the org might be using them.
87+
2488
[kubebuilder-release-tools]: https://github.com/kubernetes-sigs/kubebuilder-release-tools
2589
[release-notes-generation]: https://github.com/kubernetes-sigs/kubebuilder-release-tools/blob/master/README.md#release-notes-generation
2690
[release-process]: https://github.com/kubernetes-sigs/kubebuilder/blob/master/VERSIONING.md#releasing

0 commit comments

Comments
 (0)