##### SUMMARY The current release process for this project requires multiple manual local steps to prepare and then tag the release. This introduces the standard release-please workflow we have in most of our integrations. Release-please will open a new PR whenever there is a releasable change and it updates the CHANGELOG & other files automatically in this PR. Once the PR is merged a new tag is created. This repository has some additional complexity as it uses `antsibull-changelog` to maintain the user-facing changelog. This is implemented ina second job in the `release-please` workflow which executes when the release-please PR is updated and then runs `antsibull-changelog release` against the version. The resulting changes are pushed as a second commit to the same PR.
3 KiB
Ansible Collection: hetzner.hcloud
Ansible Hetzner Cloud Collection for controlling your Hetzner Cloud Resources.
Python version compatibility
This collection depends on the hcloud library. Due to the hcloud Python Support Policy this collection requires Python 3.8 or greater.
Release notes
See here.
Release policy
The main branch is used for the development of the latest versions of the collections, and may contain breaking changes. The stable-* branches (e.g. stable-1 for the 1.x.y releases) are used to cut additional minor or patch releases if needed, but we do not provide official support for multiple versions of the collection.
Documentation
The documentation for all modules are available through ansible-doc.
Sample: ansible-doc hetzner.hcloud.hcloud_server shows the documentation for the hcloud_server module.
For all modules that were part of Ansible directly (before Ansible 2.11) we also have the documentation published in the Ansible documentation: https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/
Development
Requirements
You should place the collection (clone the repository) into the Ansible collection path. Normally this
is ~/.ansible/collections/ansible_collections/<namespace>/<collection, so for our collection it would
be: ~/.ansible/collections/ansible_collections/hetzner/hcloud.
git clone git@github.com:ansible-collections/hetzner.hcloud.git ~/.ansible/collections/ansible_collections/hetzner/hcloud
After this you just need ansible installed.
Testing
Testing is done via ansible-test. Make sure to have a cloud-config-hcloud.ini file in tests/integration which
contains the hcloud API token:
[default]
hcloud_api_token=<token>
After this you should be able to use ansible-test integration to perform the integration tests for a specific module.
Sample:
ansible-test integration --color --local -vvv hcloud_server // Executed all integration tests for hcloud_server module
Releasing a new version
If there are releasable changes, release-please will open a PR on GitHub with the proposed version. When this PR is merged, release-please will tag the release.