diff --git a/.github/ISSUE_TEMPLATE/new-release.md b/.github/ISSUE_TEMPLATE/new-release.md index d71979db4..430bb8abd 100644 --- a/.github/ISSUE_TEMPLATE/new-release.md +++ b/.github/ISSUE_TEMPLATE/new-release.md @@ -13,6 +13,8 @@ The new release version is **[VERSION]** Please complete these steps in order. +- [ ] Update the top-level README.md with links to new modules (run `./docs/helpers/generate_readme_fragment.py`) - [ ] Update the version number in galaxy.yml e.g. `1.1.1` - [ ] Update the changelog with `antsibull-changelog` e.g. `antsibull-changelog release --version 1.1.1` - [ ] Tag the commit with the version number prefixed with 'v' e.g. `v1.1.1` +- [ ] Deploy new documentation using gh-pages - "Deploy static content to Pages" diff --git a/docs.requirements b/docs.requirements index aa3d9f0bb..ad7364df9 100644 --- a/docs.requirements +++ b/docs.requirements @@ -2,3 +2,4 @@ Sphinx sphinx-rtd-theme ansible-doc-extractor # antsibull-docs +antsibull-changelog diff --git a/docs/helpers/generate_readme_fragment.py b/docs/helpers/generate_readme_fragment.py index 3238ff12e..4e90a9730 100755 --- a/docs/helpers/generate_readme_fragment.py +++ b/docs/helpers/generate_readme_fragment.py @@ -20,6 +20,7 @@ # URL with uploaded docs/build/html content DOCS_URL = "https://scalecomputing.github.io/HyperCoreAnsibleCollection" FQCN = "scale_computing.hypercore" +README_FILE = "README.md" def list_plugins(module_type): @@ -93,13 +94,27 @@ def list_roles(): return fragment -def print_fragment(fragment, fragment_name): - print(f"") - print(f"") - print(f"| {fragment_name} | Description |") - print("| --- | --- |") - print(fragment.rstrip("\n")) - print(f"") +def update_fragment(fragment, fragment_name): + fragment_no_newline = fragment.rstrip("\n") + header0 = f"" + header1 = f"" + full_fragment = f"""{header0} + +| {fragment_name} | Description | +| --- | --- | +{fragment_no_newline} +{header1}""" + # print(full_fragment) + with open(README_FILE, "r") as ff: + content = ff.read() + pos0 = content.find(header0) + pos1 = content.find(header1) + len(header1) + assert pos0 >= 0 + assert pos1 >= 0 + new_content = content[:pos0] + full_fragment + content[pos1:] + with open(README_FILE, "w") as ff: + ff.write(new_content) + logger.info("Fragment '%s' written to file", fragment_name) def main(): @@ -107,9 +122,9 @@ def main(): inventories_fragment = list_plugins("inventory") roles_fragment = list_roles() - print_fragment(inventories_fragment, "Inventory plugin name") - print_fragment(modules_fragment, "Module name") - print_fragment(roles_fragment, "Role name") + update_fragment(inventories_fragment, "Inventory plugin name") + update_fragment(modules_fragment, "Module name") + update_fragment(roles_fragment, "Role name") if __name__ == "__main__": diff --git a/galaxy.yml b/galaxy.yml index c23381888..d80ce2fbd 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: scale_computing name: hypercore -version: 1.2.0 +version: 1.3.0-dev0 readme: README.md authors: - XLAB Steampunk