CONTRIBUTING.md contains more instructions that could apply to contributors and not just maintainers (e.g. update ansible-core version).
To enable running integration tests, a test GCP project must be provided.
There is a Google-maintained CI project, ansible-gcp-ci
, that is used for this purpose. For any questions or modification to this project, please contact a maintainer who is employed by Google.
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.
The process is as follows:
- Update the version of the collection.
- Update the changelog.
- Create a GitHub release to tag the repo and begin the publishing process.
Modify the galaxy.yaml file to the desired collection version:
version: {NEW_VERSION}
Ansible collection versions must follow SEMVER.
Alpha / beta releases are optional.
Providing a valid CHANGELOG.rst is required for a certifiable collection release.
Use the antsibull-changelog tool to generate the changelog:
pip install antsibull-changelog
antsibull-changelog release
This will remove all the changelog fragments from ./changelogs/fragments and merge them into CHANGELOG.rst.
Send a PR with these changes and merge them.
Creating
note: As automation Hub only accepts production releases, this step is only required for new full releases.
This step does not use GitHub actions, as API keys for Automation Hub expire after 30 days of no use, and a maintainer may find themselves refreshing tokens every time anyway.
Steps:
- Build the package locally:
ansible-galaxy collection build .
- Go to the Automation Hub my-namespaces page, then click on Google
- Publish the package