Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions .github/ISSUE_TEMPLATE/new_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,42 @@ title: Tasks for v<release-tag> release cycle
Tasks for a new release `vX.Y.Z` of the Cluster API Provider OpenStack.
For details, see [RELEASE.md](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/RELEASE.md).

- [ ] [When bumping `X` or `Y`] Create a new release branch called `release-X.Y`.
- [ ] [When bumping `X` or `Y`] Add a new entry of new release branch to [depandabot.yml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/.github/dependabot.yml).
- [ ] [When bumping `X` or `Y`] Add a new entry of new release branch to [security-scan.yaml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/.github/workflows/security-scan.yaml).
### Pre-release tasks

These tasks must be completed for alpha/beta releases.

- [ ] [When bumping `X` or `Y`] Add a new entry to [metadata.yaml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/metadata.yaml)
as [described in the CAPI book](https://cluster-api.sigs.k8s.io/clusterctl/provider-contract.html#metadata-yaml)
as [described in the CAPI book](https://cluster-api.sigs.k8s.io/developer/providers/contracts/clusterctl#metadata-yaml)
on the release branch prior to release.
- [ ] Push tag to the repository.

### Release candidate and branch tasks

The first release candidate (`-rc.0`) will trigger the creation of the release branch.
Once this is done, complete the following tasks:

- [ ] [When bumping `X` or `Y`] Add an entry for the new release branch to [depandabot.yml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/.github/dependabot.yml).
- [ ] [When bumping `X` or `Y`] Add an entry for the new release branch to [security-scan.yaml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/.github/workflows/security-scan.yaml).

### Release process

These tasks must be done for each release and pre-release.

- [ ] Create the PR after generating release notes according to [RELEASE.md](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/RELEASE.md). Verify that the release PR looks good and make changes if necessary. When this PR is merged, release automation will push the tag to upstream and create a draft release.
- [ ] Promote the [staging image](https://console.cloud.google.com/cloud-build/builds?project=k8s-staging-capi-openstack) by
adding the new sha=>tag mapping to [images.yaml](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/images.yaml).
- [ ] Verify that the new draft release looks good and make changes if necessary.
- [ ] Verify that the new draft release looks good.
- [ ] Verify that the image was promoted sucessfully.
```bash
docker run --rm registry.k8s.io/capi-openstack/capi-openstack-controller:vX.Y.Z --version
```
- [ ] Publish the release.
Mark the release as "latest" if it is the most recent minor release.
E.g. if both v1.1 and v1.2 are supported with patch releases, then only v1.2.z should be marked as "latest".

## Post-release tasks

These tasks can be completed after a release candidate (and branch) is done, or after the final release is out.

- [ ] [When bumping `X` or `Y`] Update the [periodic jobs](https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/cluster-api-provider-openstack).
Make sure there are periodic jobs for the new release branch, and clean up jobs for branches that are no longer supported.
- [ ] [When bumping `X` or `Y`] Update the [clusterctl upgrade tests](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/test/e2e/suites/e2e/clusterctl_upgrade_test.go)
Expand Down
48 changes: 28 additions & 20 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ updates:
target-branch: main
groups:
all-github-actions:
patterns: ["*"]
patterns: [ "*" ]
commit-message:
prefix: ":seedling:"
include: scope
Expand All @@ -30,20 +30,20 @@ updates:
target-branch: main
groups:
all-go-mod-patch-and-minor:
patterns: ["*"]
update-types: ["patch", "minor"]
patterns: [ "*" ]
update-types: [ "patch", "minor" ]
commit-message:
prefix: ":seedling:"
include: scope
ignore:
# Ignore controller-runtime major and minor bumps as its upgraded manually.
- dependency-name: "sigs.k8s.io/controller-runtime"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore k8s major and minor bumps and its transitives modules
- dependency-name: "k8s.io/*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
- dependency-name: "sigs.k8s.io/controller-tools"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
labels:
- "area/dependency"
- "ok-to-test"
Expand All @@ -58,7 +58,7 @@ updates:
target-branch: release-0.13
groups:
all-github-actions:
patterns: ["*"]
patterns: [ "*" ]
commit-message:
prefix: ":seedling:"
include: scope
Expand All @@ -76,23 +76,26 @@ updates:
target-branch: release-0.13
groups:
all-go-mod-patch-and-minor:
patterns: ["*"]
update-types: ["patch", "minor"]
patterns: [ "*" ]
update-types: [ "patch", "minor" ]
commit-message:
prefix: ":seedling:"
include: scope
ignore:
# Ignore CAPI major and minor bumps
- dependency-name: "sigs.k8s.io/cluster-api*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore controller-runtime major and minor bumps as its upgraded manually.
- dependency-name: "sigs.k8s.io/controller-runtime"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore k8s major and minor bumps and its transitives modules
- dependency-name: "k8s.io/*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
- dependency-name: "sigs.k8s.io/controller-tools"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore ORC major and minor bumps to prevent cascading k8s.io and controller-runtime updates
- dependency-name: "github.com/k-orc/openstack-resource-controller*"
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
labels:
- "area/dependency"
- "ok-to-test"
Expand All @@ -107,7 +110,7 @@ updates:
target-branch: release-0.12
groups:
all-github-actions:
patterns: ["*"]
patterns: [ "*" ]
commit-message:
prefix: ":seedling:"
include: scope
Expand All @@ -125,33 +128,38 @@ updates:
target-branch: release-0.12
groups:
all-go-mod-patch-and-minor:
patterns: ["*"]
update-types: ["patch", "minor"]
patterns: [ "*" ]
update-types: [ "patch", "minor" ]
commit-message:
prefix: ":seedling:"
include: scope
ignore:
# Ignore CAPI major and minor bumps
- dependency-name: "sigs.k8s.io/cluster-api*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore controller-runtime major and minor bumps as its upgraded manually.
- dependency-name: "sigs.k8s.io/controller-runtime"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore k8s major and minor bumps and its transitives modules
- dependency-name: "k8s.io/*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
- dependency-name: "sigs.k8s.io/controller-tools"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# Ignore ORC major and minor bumps to prevent cascading k8s.io and controller-runtime updates
- dependency-name: "github.com/k-orc/openstack-resource-controller*"
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
# We will need k8s v0.31.3 to bump structured-merge-diff to v4.4.2 (check git history for details).
- dependency-name: "sigs.k8s.io/structured-merge-diff/*"
# These dependencies are skipped because they require a newer version of go:
- dependency-name: "github.com/a8m/envsubst"
- dependency-name: "github.com/onsi/gomega"
- dependency-name: "github.com/itchyny/gojq"
- dependency-name: "golang.org/x/crypto"
- dependency-name: "golang.org/x/text"
# Newer kustomize requires a bump to kube-openapi, which has some incompatibility with gengo.
- dependency-name: "sigs.k8s.io/kustomize/kustomize/*"
labels:
- "area/dependency"
- "ok-to-test"

## release-0.12 branch config ends here
Loading