blob: 97cc5e3254bbd32347ccb69cd077605fff2691ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# 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.
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.
## Reviewing PRs
### Merging PRs
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.
### Create a new GitHub release
Creating
- [publish to Ansible Galaxy](./.github/workflows/pythonpublish.yml).
### Publish to Automation Hub
*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:
1. Build the package locally: `ansible-galaxy collection build .`
1. [Go to the Automation Hub my-namespaces page, then click on Google](https://console.redhat.com/ansible/automation-hub/repo/published/my-namespaces/google/)
1. Publish the package
|