github2gerrit 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.pre-commit-config.yaml +9 -8
  2. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/PKG-INFO +456 -81
  3. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/README.md +438 -67
  4. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/action.yaml +13 -3
  5. github2gerrit-1.0.3/docs/PR_UPDATE_IMPLEMENTATION.md +542 -0
  6. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/docs/RELEASE-v0.2.0.md +76 -7
  7. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/pyproject.toml +22 -14
  8. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/cli.py +601 -134
  9. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/config.py +29 -5
  10. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/core.py +934 -104
  11. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/duplicate_detection.py +8 -0
  12. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/error_codes.py +12 -3
  13. github2gerrit-1.0.3/src/github2gerrit/gerrit_pr_closer.py +1641 -0
  14. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/mapping_comment.py +3 -0
  15. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/models.py +37 -2
  16. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/orchestrator/reconciliation.py +31 -2
  17. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/pr_content_filter.py +43 -2
  18. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/reconcile_matcher.py +13 -8
  19. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/rich_display.py +24 -10
  20. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/conftest.py +8 -0
  21. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/fixtures/make_repo.py +6 -2
  22. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_action_environment_mapping.py +8 -4
  23. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_action_pr_number_handling.py +8 -0
  24. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_action_step_validation.py +5 -1
  25. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_cli.py +38 -25
  26. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_cli_outputs_file.py +49 -3
  27. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_cli_url_and_dryrun.py +10 -4
  28. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_error_codes.py +19 -18
  29. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_force_flag_cli.py +9 -6
  30. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_change_id_footer.py +4 -0
  31. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_pr_closer.py +373 -7
  32. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_urls_more.py +15 -12
  33. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_pr_content_filter.py +90 -0
  34. github2gerrit-1.0.3/tests/test_pr_update_detection.py +851 -0
  35. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_reconciliation_scenarios.py +2 -1
  36. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_artifact_prevention.py +10 -2
  37. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/unit/test_config_integration.py +1 -1
  38. github2gerrit-1.0.3/uv.lock +1020 -0
  39. github2gerrit-1.0.2/src/github2gerrit/gerrit_pr_closer.py +0 -792
  40. github2gerrit-1.0.2/uv.lock +0 -809
  41. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.editorconfig +0 -0
  42. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.gitignore +0 -0
  43. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.gitlint +0 -0
  44. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.markdownlint.yaml +0 -0
  45. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.readthedocs.yml +0 -0
  46. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/.yamllint +0 -0
  47. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/LICENSE +0 -0
  48. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/LICENSES/Apache-2.0.txt +0 -0
  49. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/REUSE.toml +0 -0
  50. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/docs/COMPOSITE_ACTION_TESTING.md +0 -0
  51. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/docs/github2gerrit_token_permissions_classic.png +0 -0
  52. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/sitecustomize.py +0 -0
  53. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/__init__.py +0 -0
  54. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/commit_normalization.py +0 -0
  55. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/constants.py +0 -0
  56. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/external_api.py +0 -0
  57. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/gerrit_query.py +0 -0
  58. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/gerrit_rest.py +0 -0
  59. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/gerrit_urls.py +0 -0
  60. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/github_api.py +0 -0
  61. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/gitutils.py +0 -0
  62. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/orchestrator/__init__.py +0 -0
  63. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/rich_logging.py +0 -0
  64. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/similarity.py +0 -0
  65. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/ssh_agent_setup.py +0 -0
  66. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/ssh_common.py +0 -0
  67. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/ssh_config_parser.py +0 -0
  68. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/ssh_discovery.py +0 -0
  69. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/trailers.py +0 -0
  70. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/src/github2gerrit/utils.py +0 -0
  71. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/fixtures/__init__.py +0 -0
  72. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/fixtures/ssh_config_samples.py +0 -0
  73. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_action_outputs.py +0 -0
  74. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_automation_only.py +0 -0
  75. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_change_id_deduplication.py +0 -0
  76. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_cli_helpers.py +0 -0
  77. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_commit_normalization.py +0 -0
  78. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_composite_action_coverage.py +0 -0
  79. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_config_and_reviewers.py +0 -0
  80. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_config_helpers.py +0 -0
  81. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_close_pr_policy.py +0 -0
  82. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_config_and_errors.py +0 -0
  83. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_gerrit_backref_comment.py +0 -0
  84. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_gerrit_push_errors.py +0 -0
  85. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_gerrit_rest_results.py +0 -0
  86. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_integration_fixture_repo.py +0 -0
  87. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_prepare_commits.py +0 -0
  88. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_ssh_setup.py +0 -0
  89. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_core_ssrf_protection.py +0 -0
  90. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_duplicate_detection.py +0 -0
  91. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_email_case_normalization.py +0 -0
  92. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_external_api_framework.py +0 -0
  93. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_change_status_checks.py +0 -0
  94. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_rest_client.py +0 -0
  95. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gerrit_urls.py +0 -0
  96. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ghe_and_gitreview_args.py +0 -0
  97. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_github_api_error_handling.py +0 -0
  98. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_github_api_helpers.py +0 -0
  99. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_github_api_retry_and_helpers.py +0 -0
  100. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_gitutils_helpers.py +0 -0
  101. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_mapping_comment_additional.py +0 -0
  102. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_mapping_comment_digest_and_backref.py +0 -0
  103. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_metadata_and_reconciliation.py +0 -0
  104. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_metadata_trailer_separation_bug.py +0 -0
  105. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_misc_small_coverage.py +0 -0
  106. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_orphan_rest_side_effects.py +0 -0
  107. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_pr_content_filter_integration.py +0 -0
  108. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_reconciliation_extracted_module.py +0 -0
  109. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_reconciliation_plan_and_orphans.py +0 -0
  110. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_agent.py +0 -0
  111. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_agent_ownership.py +0 -0
  112. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_common.py +0 -0
  113. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_discovery.py +0 -0
  114. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_ssh_discovery_dry_run.py +0 -0
  115. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_trailers_additional.py +0 -0
  116. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_url_parser.py +0 -0
  117. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/test_utils.py +0 -0
  118. {github2gerrit-1.0.2 → github2gerrit-1.0.3}/tests/unit/test_ssh_config_parser.py +0 -0
@@ -53,13 +53,13 @@ repos:
53
53
  - id: gitlint
54
54
 
55
55
  - repo: https://github.com/adrienverge/yamllint.git
56
- rev: 79a6b2b1392eaf49cdd32ac4f14be1a809bbd8f7 # frozen: v1.37.1
56
+ rev: cba56bcde1fdd01c1deb3f945e69764c291a6530 # frozen: v1.38.0
57
57
  hooks:
58
58
  - id: yamllint
59
59
  types: [yaml]
60
60
 
61
61
  - repo: https://github.com/astral-sh/ruff-pre-commit
62
- rev: 488940d9de1b658fac229e34c521d75a6ea476f2 # frozen: v0.14.5
62
+ rev: 9b1e9a33f1b33f6ecc2fdbb8d7cc894e951106e4 # frozen: v0.14.13
63
63
  hooks:
64
64
  - id: ruff
65
65
  files: ^(src|scripts|tests)/.+\.py$
@@ -68,7 +68,7 @@ repos:
68
68
  files: ^(src|scripts|tests)/.+\.py$
69
69
 
70
70
  - repo: https://github.com/pre-commit/mirrors-mypy
71
- rev: 9f70dc58c23dfcca1b97af99eaeee3140a807c7e # frozen: v1.18.2
71
+ rev: a66e98df7b4aeeb3724184b332785976d062b92e # frozen: v1.19.1
72
72
  hooks:
73
73
  - id: mypy
74
74
  files: ^src/.+\.py$
@@ -88,7 +88,7 @@ repos:
88
88
  hooks:
89
89
  - id: write-good
90
90
  files: "\\.(rst|md|markdown|mdown|mkdn)$"
91
- exclude: "GERRIT_URL_CENTRALIZATION.md"
91
+ args: ["--no-adverb"]
92
92
 
93
93
  - repo: https://github.com/shellcheck-py/shellcheck-py
94
94
  rev: 745eface02aef23e168a8afb6b5737818efbea95 # frozen: v0.11.0.1
@@ -96,7 +96,7 @@ repos:
96
96
  - id: shellcheck
97
97
 
98
98
  - repo: https://github.com/igorshubovych/markdownlint-cli
99
- rev: 192ad822316c3a22fb3d3cc8aa6eafa0b8488360 # frozen: v0.45.0
99
+ rev: 76b3d32d3f4b965e1d6425253c59407420ae2c43 # frozen: v0.47.0
100
100
  hooks:
101
101
  - id: markdownlint
102
102
  args: ["--fix", "--config", ".markdownlint.yaml"]
@@ -110,7 +110,7 @@ repos:
110
110
  # Replaces: https://github.com/rhysd/actionlint
111
111
  # Permits actionlint to run both locally and with precommit.ci/GitHub
112
112
  - repo: https://github.com/Mateusz-Grzelinski/actionlint-py
113
- rev: 2773c7d04be5d0ceb075f215b6d0a4eacd4a432b # frozen: v1.7.8.24
113
+ rev: 85c37735ea69e5baf0681530e57e63deee0ce733 # frozen: v1.7.10.24
114
114
  hooks:
115
115
  - id: actionlint
116
116
 
@@ -121,7 +121,7 @@ repos:
121
121
  - id: codespell
122
122
 
123
123
  - repo: https://github.com/python-jsonschema/check-jsonschema
124
- rev: 16a6ad2fead09286ee6eb6b0a3fab55655a6c22a # frozen: 0.35.0
124
+ rev: b035497fb64e3f9faa91e833331688cc185891e6 # frozen: 0.36.0
125
125
  hooks:
126
126
  - id: check-github-actions
127
127
  - id: check-github-workflows
@@ -141,7 +141,8 @@ repos:
141
141
  - id: pytest
142
142
  name: pytest
143
143
  entry: uv
144
- args: [run, pytest, --tb=short, -q]
144
+ args: [run, pytest, --tb=short, -q, -v, --strict-markers, --maxfail=5]
145
145
  language: system
146
146
  pass_filenames: false
147
147
  always_run: true
148
+ require_serial: true