Releases need to be tagged on the upstream side, so we can download a tarball automatically.
Valid upstream tags can differ based on config, but are usually:
*`v1.1.0`
*`v1.1.0-rc1` (see notes on pre-releases below)
*`1.1.0`
* Released via standard git tags in format `v1.1.0-rc1`
* Published to a separate repository, e.g. `testing`
## Normal Releases
When starting a new major version for releases, it will be branched from master.
```
$ git checkout -b 1.1 master
```
Any specific release preparation should be done to this branch, also GitLab CI configuration. Relevant changed should be cherry-picked or merged back to master.
At this point a few steps should be ensured in `.gitlab-ci.yml`:
* Build matrix for targets is up to date
*`ICINGA_BUILD_TYPE` is unset or set to `release`
* Other vars like `ICINGA_BUILD_RELEASE_TYPE`
### Debian
Release relevant are the following files, `changelog` defines the built version, which `watch` instructs the tool `uscan` on how to download the source tarball.
> **Note:** In old repository layouts packaging is split into multiple versions, so make sure to update all of them.