Skip to content

Commit

Permalink
DX: autoupdate PR title in precommit.ci (#265)
Browse files Browse the repository at this point in the history
  • Loading branch information
redeboer authored Jan 11, 2024
1 parent 6a1d93b commit 3afff82
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion src/repoma/check_dev_files/precommit.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from repoma.errors import PrecommitError
from repoma.utilities import CONFIG_PATH
from repoma.utilities.executor import Executor
from repoma.utilities.precommit import PrecommitConfig
from repoma.utilities.precommit import PrecommitConfig, load_round_trip_precommit_config
from repoma.utilities.yaml import create_prettier_round_trip_yaml


Expand All @@ -20,6 +20,7 @@ def main() -> None:
executor = Executor()
executor(_sort_hooks)
executor(_update_conda_environment, cfg)
executor(_update_precommit_ci_commit_msg)
executor(_update_precommit_ci_skip, cfg)
executor.finalize()

Expand Down Expand Up @@ -47,6 +48,26 @@ def __repo_def_sorting(repo_def: CommentedMap) -> tuple[int, str]:
return (2, hooks[0]["id"])


def _update_precommit_ci_commit_msg() -> None:
if not CONFIG_PATH.precommit.exists():
return
config, yaml = load_round_trip_precommit_config()
precommit_ci: CommentedMap | None = config.get("ci")
if precommit_ci is None:
return
if CONFIG_PATH.pip_constraints.exists():
expected_msg = "MAINT: autoupdate pre-commit hooks"
else:
expected_msg = "MAINT: autoupdate pre-commit hooks"
key = "autoupdate_commit_msg"
autoupdate_commit_msg = precommit_ci.get(key)
if autoupdate_commit_msg != expected_msg:
precommit_ci[key] = expected_msg
yaml.dump(config, CONFIG_PATH.precommit)
msg = f"Updated ci.{key} in {CONFIG_PATH.precommit} to {expected_msg!r}"
raise PrecommitError(msg)


def _update_precommit_ci_skip(config: PrecommitConfig) -> None:
if config.ci is None:
return
Expand Down

0 comments on commit 3afff82

Please sign in to comment.