Prerequisite
- Install kubectl
- Install kustomize
v3.1.0+
- Outscale account with ak/sk Outscale Access Key and Secret Key
- A Kubernetes cluster:
- Container registry to store container image
- Registry secret registry-secret
Release
Versioning
Please use this semantic version:
- Pre-release:
v0.1.1-alpha.1
- Minor release:
v0.1.0
- Patch release:
v0.1.1
- Major release:
v1.0.0
Update metadata.yaml
You should have update metadata.yaml to included new release version for cluster-api contract-version. You don’t have to do it for patch/minor version. Add in metadata.yaml:
apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3
releaseSeries:
...
- major: 1
minor: 5
contract: v1beta1
Update config test
Please also update type: InfrastructureProvider
spec of config.
Create a tag
Create a new branch for release. :warning: Never use the main And create tag
For patch/major release:
git checkout release-1.x
git fetch upstream
git rebase upstream/release-1.x
Create tag with git:
export RELEASE_TAG=v1.2.3
git tag -s ${RELEASE_TAG} -m "${RELEASE_TAG}
git push upstream ${RELEASE_TAG}
This will trigger this github action release This github action will generate image, and will create the new release.
Test locally
If you want to test locally what is done by github action you can test you get changelog:
make release
make release-changelog