Skip to content

Commit 1ec54b2

Browse files
committed
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.
1 parent 21c9479 commit 1ec54b2

12 files changed

+1030
-8
lines changed

.github/workflows/ansible-integration-tests.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ jobs:
1919
strategy:
2020
matrix:
2121
ansible_version:
22-
# - stable-2.13
23-
- stable-2.11
22+
- stable-2.13
2423
steps:
2524
- name: check out code
2625
uses: actions/checkout@v2
@@ -29,7 +28,7 @@ jobs:
2928
- name: Set up Python
3029
uses: actions/setup-python@v1
3130
with:
32-
python-version: '3.8' # this is the minimum version required for Ansible 2.11
31+
python-version: '3.8' # this is the minimum version required for Ansible 2.13
3332
- name: Install dependencies
3433
run: pip install -r requirements.txt
3534
- name: Install ansible-base (${{ matrix.ansible_version }})

.github/workflows/ansible-test.yml

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
ansible_version:
4040
- stable-2.13
4141
- stable-2.11
42+
- stable-2.9
4243
steps:
4344
- name: check out code
4445
uses: actions/checkout@v2

.vscode/settings.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"esbonio.sphinx.confDir": ""
3+
}

CHANGELOG.rst

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
==========================
2+
Google.Cloud Release Notes
3+
==========================
4+
5+
.. contents:: Topics
6+
7+
8+
v1.1.0-beta.0
9+
=============
10+
11+
Minor Changes
12+
-------------
13+
14+
- GCE inventory plugin - a new option ``name_suffix``, to add a suffix to the name parameter.
15+
16+
Bugfixes
17+
--------
18+
19+
- Disk has been fixed to send the sourceSnapshot parameter.
20+
- gcp_cloudtasks_queue - was not functional before, and is now functional.
21+
- gcp_compute_* - these resources use the correct selflink (www.googleapis.com) as the domain, no longer erroneously reporting changes after an execution.
22+
- gcp_compute_backend_service - no longer erroneously reports changes after an execution for ``capacity_scaler``.
23+
- gcp_container_cluster - support GKE clusters greater than 1.19+, which cannot use basic-auth.
24+
- gcp_crypto_key - skip_initial_version_creation defaults to the correct value.
25+
- gcp_iam_role - now properly undeletes and recognizes soft deleted roles as absent.
26+
- gcp_spanner_database - recognize a non-existent resource as absent.
27+
- gcp_storage_object - fix for correct version of dependency requirement.

CONTRIBUTING.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
1. [Clone the repository](#cloning).
66
1. Make the desired code change.
7+
1. Add a [changelog fragment](https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs-how-to) to describe your change.
78
1. [Run integration tests locally and ensure they pass](running-integration-tests).
89
1. Create a PR.
910

@@ -86,4 +87,15 @@ If the linting fails, that is generally due to `ansible-lint`, which can be run
8687

8788
```
8889
ansible-lint
89-
```
90+
```
91+
92+
## Specific Tasks
93+
94+
The following enumerates detailed documentation for specific tasks related tot
95+
the codebase.
96+
97+
### Updating the supported ansible-core version
98+
99+
1. modify the [ansible-integration-tests.yaml](.github/workflows/ansible-integration-tests.yml) to the version of ansible-core that you would like to test against.
100+
1. (optional) update the version of ansible-core version required in [meta/runtime.yaml](meta/runtime.yml).
101+

MAINTAINING.md

+53
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Maintainer Documentation
22

3+
## See CONTRIBUTING.md for more tasks
4+
5+
[CONTRIBUTING.md](./CONTRIBUTING.md) contains more instructions that could
6+
apply to contributors and not just maintainers (e.g. update ansible-core version).
7+
38
## CI GCP Project Configuration
49

510
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
1318
Since running the full set of integration tests requires the usage of GCP
1419
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.
1520

21+
## Release Process
22+
23+
### Overview
24+
25+
The process is as follows:
26+
27+
1. Update the version of the collection.
28+
1. Update the changelog.
29+
2. Create a GitHub release to tag the repo and begin the publishing process.
30+
31+
### Steps
32+
33+
#### Update Collection Version
34+
35+
Modify the [galaxy.yaml](./galaxy.yml) file to the desired collection version:
36+
37+
```yaml
38+
version: {NEW_VERSION}
39+
```
40+
41+
Ansible collection versions [must follow SEMVER](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections_distributing.html#collection-versions).
42+
43+
Alpha / beta releases are optional.
44+
45+
#### Update the changelog
46+
47+
Providing a valid [CHANGELOG.rst](./CHANGELOG.rst) is required for a certifiable
48+
collection release.
49+
50+
Use the [antsibull-changelog](https://github.com/ansible-community/antsibull-changelog)
51+
tool to generate the changelog:
52+
53+
```sh
54+
pip install antsibull-changelog
55+
antsibull-changelog release
56+
```
57+
58+
This will remove all the changelog fragments from ./changelogs/fragments and
59+
merge them into CHANGELOG.rst.
60+
61+
### Tag a release
62+
63+
The release process is mostly automated, relying on GitHub releases and the following
64+
workflows:
65+
66+
- [publish to Ansible Galaxy](./.github/workflows/pythonpublish.yml).
67+
- [publish to Automation Hub](./.github/workflows/automationhub.yml).
68+

0 commit comments

Comments
 (0)