Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure README is synched with code #43

Merged
merged 12 commits into from
Oct 10, 2023
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,11 @@ repos:
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]

- repo: local
hooks:
- id: readme.py
name: readme.py
language: system
entry: python .tools/readme.py
files: "README.md|src/changelist/default_config.toml|.tools/readme.py"
20 changes: 20 additions & 0 deletions .tools/readme.py
lagru marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import re
lagru marked this conversation as resolved.
Show resolved Hide resolved

with open("README.md") as fh:
readme = fh.read()

with open("src/changelist/default_config.toml") as fh:
default_config = fh.read()

config_begin = r"<!--- begin default_config.toml --->\n"
config_end = r"<!--- end default_config.toml --->\n"
config_section = (
config_begin + r"\n````toml\n" + default_config + r"````\n\n" + config_end
)

rx = re.compile(config_begin + ".*?" + config_end, re.DOTALL)
readme = rx.sub(config_section, readme)
lagru marked this conversation as resolved.
Show resolved Hide resolved


with open("README.md", "w") as fh:
fh.write(readme)
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ changelist can be configured from two sources, in order of precedence:
If a configuration option is not specified in either file above, changelist
falls back to the following configuration:

<!--- begin default_config.toml --->
jarrodmillman marked this conversation as resolved.
Show resolved Hide resolved

````toml
# Default changelist configuration as supported in pyproject.toml
[tool.changelist]
Expand Down Expand Up @@ -109,6 +111,8 @@ pr_summary_regex = "^```release-note\\s*(?P<summary>[\\s\\S]*?\\w[\\s\\S]*?)\\s*
".*Maintenance.*" = "Maintenance"
````

<!--- end default_config.toml --->

## Set up your repository

To categorize merged PRs in the changelist with the default configuration, each
Expand Down