Skip to content
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

Documenting Capsule release process #805

Merged
merged 4 commits into from
Aug 25, 2023
Merged
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
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ You can find how the Capsule project is governed [here](https://capsule.clastix.

Please, refer to the maintainers file available [here](.github/maintainers.yaml).

## Release process

Please, refer to the [documentation page](https://capsule.clastix.io/docs/contributing/release).

# FAQ

- Q. How to pronounce Capsule?
Expand Down
2 changes: 1 addition & 1 deletion docs/content/contributing/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ In the context of Capsule project, we consider the following roles:

The release process will be governed by Maintainers.

Please, refer to the [maintainers file](https://github.com/clastix/capsule/blob/master/.github/blob/master/maintainers.yaml) available in the source code.
Please, refer to the [maintainers file](https://github.com/clastix/capsule/blob/master/.github/maintainers.yaml) available in the source code.

## Roadmap Planning

Expand Down
34 changes: 34 additions & 0 deletions docs/content/contributing/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Release Process

The Capsule release process is constrained to _GitHub Releases_, following the git tag semantic versioning.

## Semantic versioning convention

Capsule is taking advantage of the [Semantic Versioning](https://semver.org/), although with some rules about the patch, the minor and the major bump versions.

- `patch` (e.g.: 0.1.0 to 0.1.1):
a patch bumping occurs when some bugs are fixed, and no Kubernetes CRDs API changes are introduced.
The patch can contain also new features not yet promoted to a specific Kubernetes CRDs API type.
A patch may be used also to address CVE patches.
- `minor` (e.g.: 0.1.0 to 0.2.0):
a minor bumping occurs when a new CRDs API object is introduced, or rather, when some CRDs schemes are updated.
The minor bump is used to inform the Capsule adopters to manually update the Capsule CRDs, since Helm, the suggested tool for the release lifecycle management, is not able to automatically update the objects.
Upon every minor release, on the GitHub Release page, a list of API updates is described, and a link to the [upgrade guide](https://capsule.clastix.io/docs/guides/upgrading) is provided.
- `major` (e.g.: 0.1.0 to 1.0.0):
a major bump occurs when a breaking change, such as backward incompatible changes is introduced.

## Container hosting

All the Capsule container images are publicly hosted on [CLASTIX](https://clastix.io) [Docker Hub repository](https://hub.docker.com/r/clastix/capsule).

The Capsule container image is built upon a git tag (issued thanks to the _GitHub Release_ feature) starting with the prefix `v` (e.g.: `v1.0.1`).
This will trigger a _GitHub Action_ which builds a multi-arch container image, then pushes it to the container registry.

> The `latest` tag is not available to avoid moving git commit SHA reference.

## Helm Chart hosting

The suggested installation tool is [Helm](https://helm.sh), and the Capsule chart is hosted in the [GitHub repository](https://github.com/clastix/capsule/tree/master/charts/capsule).
For each Helm Chart release, a tit tag with the prefix `helm-v` will be issued to help developers to address the corresponding commit.

The built Helm Charts are then automatically pushed upon tag release to the [CLASTIX Helm repository](https://clastix.github.io/charts).
3 changes: 3 additions & 0 deletions docs/content/dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ APIs
Apache2
Authenticator
BYOD
CLASTIX
CLI
CRD
CRDs
CRs
CTO
CVE
CVE-2021-25735
CaaS
CapsuleConfiguration
Expand Down Expand Up @@ -106,6 +108,7 @@ RoleBinding
RuntimeClass
RuntimeClasses
SDK
SHA
SRE
SSD
ScopeSelectorOperator
Expand Down
7 changes: 5 additions & 2 deletions docs/gridsome.server.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,17 @@ module.exports = function (api) {
{
label: 'Governance',
path: '/docs/contributing/governance'
}
},
{
label: 'Release process',
path: '/docs/contributing/release'
}
]
}
]
})
})


api.createPages(({ createPage }) => {
// Use the Pages API here: https://gridsome.org/docs/pages-api/
})
Expand Down
Loading