-
Notifications
You must be signed in to change notification settings - Fork 579
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor release process for Github and Staging
Replace use of sed with gojq to modify templates, by copying manifests to _artifacts and outputting to out/*-components.yaml, preventing source files being modified in place. Switch to using Docker build cache to speed up builds, should reduce CloudBuild times significantly. CloudBuild modified such that manifests will be generated and uploaded to GCS on execution. This will allow advanced users to be able to test manifests directly from staging for testing prior to release. Finally, targets are added to create a release in Github using the Github CLI. Signed-off-by: Naadir Jeewa <[email protected]>
- Loading branch information
Naadir Jeewa
committed
Jan 15, 2021
1 parent
d23cc4e
commit bebdfec
Showing
13 changed files
with
362 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,25 +4,24 @@ | |
|
||
1. Make sure your repo is clean by git's standards | ||
2. If this is a new minor release, create a new release branch and push to github, otherwise switch to it, for example `release-0.2` | ||
3. Run `make release-notes` to gather changes since the last revision. If you need to specify a specific tag to look for changes | ||
since, use `make release-notes ARGS="--from <tag>"` Pay close attention to the `## :question: Sort these by hand` section, as it contains items that need to be manually sorted. | ||
4. Tag the repository and push the tag `git tag -s -m $VERSION $VERSION` | ||
5. Create a draft release in github and associate it with the tag that was just created, copying the generated release notes into | ||
the draft. | ||
6. Checkout the tag you've just created and make sure git is in a clean state | ||
7. Run `make release` | ||
8. Attach the files to the drafted release: | ||
3. Tag the repository and push the tag `git tag -s -m $VERSION $VERSION` | ||
4. Set an environment variable PREVIOUS_VERSION to the last release tag. | ||
5. Checkout the tag you've just created and make sure git is in a clean state | ||
6. Run `make release` | ||
7. Run `make create-gh-release` to create a draft release on Github, copying the generated release notes from out/CHANGELOG.md into the draft. | ||
8. Run `make upload-gh-artifacts` to upload artifacts, however you may run into API limit errors, so verify artifacts at next step | ||
9. Attach the files to the drafted release: | ||
1. `./out/clusterawsadm-darwin-amd64` | ||
2. `./out/clusterawsadm-linux-amd64` | ||
3. `./out/infrastructure-components.yaml` | ||
4. `./out/cluster-template.yaml` | ||
5. `./out/cluster-template-machinepool.yaml` | ||
6. `./out/cluster-template-eks.yaml` | ||
7. `./out/cluster-template-eks-managedmachinepool.yaml` | ||
9. Perform the [image promotion process](https://github.com/kubernetes/k8s.io/tree/master/k8s.gcr.io#image-promoter). | ||
10. Perform the [image promotion process](https://github.com/kubernetes/k8s.io/tree/master/k8s.gcr.io#image-promoter). | ||
The staging repository is at https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api-aws/GLOBAL. Be | ||
sure to choose the top level `cluster-api-aws-controller`, which will provide the multi-arch manifest, rather than one for a specific architecture. | ||
10. Finalise the release notes | ||
11. Publish release. Use the pre-release option for release | ||
11. Finalise the release notes | ||
12. Publish release. Use the pre-release option for release | ||
candidate versions of Cluster API Provider AWS. | ||
12. Email `[email protected]` to announce the release | ||
13. Email `[email protected]` to announce the release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
apiVersion: kustomize.config.k8s.io/v1beta1 | ||
images: | ||
- name: "" | ||
newName: "" | ||
newTag: "" | ||
kind: Kustomization | ||
patchesJson6902: | ||
- path: pull-policy-patch.yaml | ||
target: | ||
group: apps | ||
kind: Deployment | ||
name: controller-name | ||
namespace: namespace | ||
version: v1 | ||
- path: pull-policy-patch.yaml | ||
target: | ||
group: apps | ||
kind: Deployment | ||
name: controller-name | ||
namespace: capi-webhook-system | ||
version: v1 | ||
resources: | ||
- source-manifest.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
- op: replace | ||
path: /spec/template/spec/containers/0/imagePullPolicy | ||
value: Always |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.