prepping for 1.1.0-beta release

- Updating and documenting changelog creation process.
  antsibull-changelog was chosen because it is the standard tooling
  recommended by Ansible developers.
- Documenting the release process and several others so others can perform it in the
  future.
- Updating the integration tests to test against 2.13, which the 1.1.0
  final release will be certified for.
- Created changelog and update galaxy.yaml for 1.1.0-beta, which will be
  the next release.
This commit is contained in:
Yusuke Tsutsumi 2022-12-03 17:13:27 +00:00 committed by Yusuke Tsutsumi
commit 1ec54b286d
12 changed files with 1030 additions and 8 deletions

View file

@ -1,5 +1,10 @@
# Maintainer Documentation
## See CONTRIBUTING.md for more tasks
[CONTRIBUTING.md](./CONTRIBUTING.md) contains more instructions that could
apply to contributors and not just maintainers (e.g. update ansible-core version).
## CI GCP Project Configuration
To enable running integration tests, a test GCP project must be provided.
@ -13,3 +18,51 @@ There is a Google-maintained CI project, `ansible-gcp-ci`, that is used for this
Since running the full set of integration tests requires the usage of GCP
credentials which are stored as a secret, maintainers must verify that tests pass the integration test run that runs on push to the master branch after accepting a change.
## Release Process
### Overview
The process is as follows:
1. Update the version of the collection.
1. Update the changelog.
2. Create a GitHub release to tag the repo and begin the publishing process.
### Steps
#### Update Collection Version
Modify the [galaxy.yaml](./galaxy.yml) file to the desired collection version:
```yaml
version: {NEW_VERSION}
```
Ansible collection versions [must follow SEMVER](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections_distributing.html#collection-versions).
Alpha / beta releases are optional.
#### Update the changelog
Providing a valid [CHANGELOG.rst](./CHANGELOG.rst) is required for a certifiable
collection release.
Use the [antsibull-changelog](https://github.com/ansible-community/antsibull-changelog)
tool to generate the changelog:
```sh
pip install antsibull-changelog
antsibull-changelog release
```
This will remove all the changelog fragments from ./changelogs/fragments and
merge them into CHANGELOG.rst.
### Tag a release
The release process is mostly automated, relying on GitHub releases and the following
workflows:
- [publish to Ansible Galaxy](./.github/workflows/pythonpublish.yml).
- [publish to Automation Hub](./.github/workflows/automationhub.yml).