github2gerrit 2.4.0__tar.gz → 2.4.1__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.
- github2gerrit-2.4.1/.pre-commit-config.yaml +241 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/PKG-INFO +1 -1
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/uv.lock +25 -25
- github2gerrit-2.4.0/.pre-commit-config.yaml +0 -251
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.aislop/config.yml +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.editorconfig +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.gitignore +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.gitlint +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.markdownlint.yaml +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/.yamllint +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/LICENSE +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/LICENSES/Apache-2.0.txt +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/README.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/REUSE.toml +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/SECURITY.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/action.yaml +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/COMMIT_RULES.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/cli.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/development.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/features.md +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/github2gerrit_token_permissions_classic.png +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/pyproject.toml +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/sitecustomize.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/__init__.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/approvers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/cli.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/commit_normalization.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/commit_rules.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/config.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/config_ini.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/constants.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/core.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/duplicate_detection.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/error_codes.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/external_api.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gerrit_pr_closer.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gerrit_query.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gerrit_rest.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gerrit_ssh.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gerrit_urls.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/github_api.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gitreview.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/gitutils.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/mapping_comment.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/models.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/netrc.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/orchestrator/__init__.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/orchestrator/reconciliation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/pr_approval.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/pr_commands.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/pr_content_filter.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/pr_directives.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/project_names.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/reconcile_matcher.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/rich_display.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/rich_logging.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/similarity.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/ssh_agent_setup.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/ssh_common.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/ssh_config_parser.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/ssh_discovery.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/trailers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/trust.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/utils.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/conftest.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/fixtures/__init__.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/fixtures/make_repo.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/fixtures/ssh_config_samples.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_action_environment_mapping.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_action_outputs.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_action_pr_number_handling.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_action_step_validation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_approver_sources.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_automation_only.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_bulk_fan_out.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cache_isolation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_change_id_deduplication.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_clean_squash_title.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cli.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cli_helpers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cli_netrc_options.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cli_outputs_file.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_cli_url_and_dryrun.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_commit_normalization.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_commit_rules.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_composite_action_coverage.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_config_and_reviewers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_config_helpers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_close_pr_policy.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_config_and_errors.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_gerrit_backref_comment.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_gerrit_push_errors.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_gerrit_rest_results.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_integration_fixture_repo.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_prepare_commits.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_shallow_clone.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_ssh_setup.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_core_ssrf_protection.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_dependency_supersession.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_dns_validation_and_no_gerrit.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_duplicate_detection.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_email_case_normalization.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_error_codes.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_external_api_framework.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_final_state_reconciliation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_force_flag_cli.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_fork_approval_gate.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_fork_pr_hardening.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_fork_transfer_record.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_change_id_footer.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_change_status_checks.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_pr_closer.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_rest_client.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_ssh_abandon.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_urls.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gerrit_urls_more.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ghe_and_gitreview_args.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_github_api_error_handling.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_github_api_helpers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_github_api_retry_and_helpers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gitreview.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_gitutils_helpers.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_issue_157_regressions.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_mapping_comment_additional.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_mapping_comment_digest_and_backref.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_metadata_and_reconciliation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_metadata_trailer_separation_bug.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_misc_small_coverage.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_netrc.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_orphan_rest_side_effects.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_closed_handling.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_command_authorisation.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_commands.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_content_filter.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_content_filter_integration.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_pr_update_detection.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_precommit_mypy_pins.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_project_names.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_reconciliation_extracted_module.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_reconciliation_plan_and_orphans.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_reconciliation_scenarios.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_scheduled_sweep.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_agent.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_agent_ownership.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_artifact_prevention.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_common.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_discovery.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_ssh_discovery_dry_run.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_sync_mypy_pins.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_trailers_additional.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_url_parser.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_utils.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/unit/test_config_integration.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/unit/test_ssh_config_parser.py +0 -0
- {github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/workflow_harness.py +0 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
# SPDX-FileCopyrightText: 2025 The Linux Foundation
|
|
4
|
+
|
|
5
|
+
ci:
|
|
6
|
+
autofix_prs: false
|
|
7
|
+
skip:
|
|
8
|
+
- pytest
|
|
9
|
+
- gha-workflow-linter
|
|
10
|
+
- aislop
|
|
11
|
+
- eslint
|
|
12
|
+
- go-fmt
|
|
13
|
+
- go-vet
|
|
14
|
+
- go-mod-tidy
|
|
15
|
+
- golangci-lint
|
|
16
|
+
autofix_commit_msg: |
|
|
17
|
+
Chore: Pre-commit autofixes
|
|
18
|
+
|
|
19
|
+
Signed-off-by: pre-commit-ci[bot] <pre-commit-ci@users.noreply.github.com>
|
|
20
|
+
autoupdate_commit_msg: |
|
|
21
|
+
Chore: Pre-commit autoupdate
|
|
22
|
+
|
|
23
|
+
Signed-off-by: pre-commit-ci[bot] <pre-commit-ci@users.noreply.github.com>
|
|
24
|
+
|
|
25
|
+
default_install_hook_types: [pre-commit, commit-msg]
|
|
26
|
+
default_stages: [pre-commit]
|
|
27
|
+
|
|
28
|
+
exclude: |
|
|
29
|
+
(?x)^(docs/conf.py|
|
|
30
|
+
\.mypy_cache/|
|
|
31
|
+
\.pytest_cache/|
|
|
32
|
+
\.ruff_cache/|
|
|
33
|
+
dist/|
|
|
34
|
+
build/|
|
|
35
|
+
coverage_html_report/|
|
|
36
|
+
\.venv/)
|
|
37
|
+
|
|
38
|
+
repos:
|
|
39
|
+
- repo: local
|
|
40
|
+
hooks:
|
|
41
|
+
- id: frozen-rev-is-a-release
|
|
42
|
+
name: frozen revs name a release
|
|
43
|
+
language: pygrep
|
|
44
|
+
# yamllint disable-line rule:line-length
|
|
45
|
+
entry: '^[ \t]*rev:[ \t]*\S+[ \t]+#[ \t]*frozen:(?![ \t]+v?[0-9]+(\.[0-9]+)*(-[0-9]+)?[ \t]*$)'
|
|
46
|
+
files: '^\.pre-commit-config\.yaml$'
|
|
47
|
+
|
|
48
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
49
|
+
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
|
|
50
|
+
hooks:
|
|
51
|
+
- id: trailing-whitespace
|
|
52
|
+
- id: check-added-large-files
|
|
53
|
+
- id: check-ast
|
|
54
|
+
- id: check-json
|
|
55
|
+
- id: check-merge-conflict
|
|
56
|
+
- id: check-xml
|
|
57
|
+
- id: check-yaml
|
|
58
|
+
- id: debug-statements
|
|
59
|
+
- id: end-of-file-fixer
|
|
60
|
+
- id: requirements-txt-fixer
|
|
61
|
+
- id: mixed-line-ending
|
|
62
|
+
args: ["--fix=lf"]
|
|
63
|
+
- id: no-commit-to-branch
|
|
64
|
+
args:
|
|
65
|
+
- --branch=dev
|
|
66
|
+
- --branch=master
|
|
67
|
+
- --branch=main
|
|
68
|
+
- --branch=rc
|
|
69
|
+
- --branch=production
|
|
70
|
+
|
|
71
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
72
|
+
rev: 2ca41cc1372d1e939a6a879f18cdc19fc1cac1ce # frozen: v8.30.0
|
|
73
|
+
hooks:
|
|
74
|
+
- id: gitleaks
|
|
75
|
+
always_run: true
|
|
76
|
+
|
|
77
|
+
- repo: https://github.com/jorisroovers/gitlint
|
|
78
|
+
rev: acc9d9de6369b76d22cb4167029d2035e8730b98 # frozen: v0.19.1
|
|
79
|
+
hooks:
|
|
80
|
+
- id: gitlint
|
|
81
|
+
|
|
82
|
+
- repo: https://github.com/adrienverge/yamllint.git
|
|
83
|
+
rev: cba56bcde1fdd01c1deb3f945e69764c291a6530 # frozen: v1.38.0
|
|
84
|
+
hooks:
|
|
85
|
+
- id: yamllint
|
|
86
|
+
types: [yaml]
|
|
87
|
+
|
|
88
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
89
|
+
rev: a56c0b927e6465d37cae3e97d35d4d18ab2b96cd # frozen: v0.16.9
|
|
90
|
+
hooks:
|
|
91
|
+
- id: ruff
|
|
92
|
+
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
93
|
+
args: [--fix, --exit-non-zero-on-fix]
|
|
94
|
+
- id: ruff-format
|
|
95
|
+
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
96
|
+
|
|
97
|
+
- repo: local
|
|
98
|
+
hooks:
|
|
99
|
+
- id: sync-mypy-pins
|
|
100
|
+
name: sync mypy hook pins with uv.lock
|
|
101
|
+
entry: python3 scripts/sync_mypy_pins.py
|
|
102
|
+
language: system
|
|
103
|
+
files: ^(\.pre-commit-config\.yaml|uv\.lock)$
|
|
104
|
+
pass_filenames: false
|
|
105
|
+
|
|
106
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
107
|
+
rev: 7ff8d35ae36a7d2b968f2f90b4c723e292e594ee # frozen: v2.3.1
|
|
108
|
+
hooks:
|
|
109
|
+
- id: mypy
|
|
110
|
+
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
111
|
+
additional_dependencies:
|
|
112
|
+
- mypy==2.3.1
|
|
113
|
+
- click==8.5.0
|
|
114
|
+
- pytest==9.1.1
|
|
115
|
+
- responses==0.26.3
|
|
116
|
+
- rich==15.0.0
|
|
117
|
+
- typer==0.27.2
|
|
118
|
+
- types-PyYAML==6.0.12.20260906
|
|
119
|
+
- types-requests==2.33.0.20260906
|
|
120
|
+
|
|
121
|
+
- repo: https://github.com/btford/write-good
|
|
122
|
+
rev: ab66ce10136dfad5146e69e70f82a3efac8842c1 # frozen: v1.0.8
|
|
123
|
+
hooks:
|
|
124
|
+
- id: write-good
|
|
125
|
+
files: "\\.(rst|md|markdown|mdown|mkdn)$"
|
|
126
|
+
args: ["--no-adverb"]
|
|
127
|
+
|
|
128
|
+
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
129
|
+
rev: a6564f5d57444e123433a5c9af733e3975c77229 # frozen: v0.11.0.1-1
|
|
130
|
+
hooks:
|
|
131
|
+
- id: shellcheck
|
|
132
|
+
|
|
133
|
+
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
134
|
+
rev: 5b5dddc4fb0f83c3ea1fc5616fa63e115dce83e0 # frozen: v0.49.1
|
|
135
|
+
hooks:
|
|
136
|
+
- id: markdownlint
|
|
137
|
+
args: ["--fix", "--config", ".markdownlint.yaml"]
|
|
138
|
+
exclude: "GERRIT_URL_CENTRALIZATION.md"
|
|
139
|
+
|
|
140
|
+
- repo: https://github.com/fsfe/reuse-tool
|
|
141
|
+
rev: 9fabf9eb815a57aac116b435e8346c200cdb8604 # frozen: v6.2.0
|
|
142
|
+
hooks:
|
|
143
|
+
- id: reuse
|
|
144
|
+
|
|
145
|
+
- repo: https://github.com/kjanat/actionlint
|
|
146
|
+
rev: 2da2ceb4af2c7ecc48f5b9311d85080c3971b5f0 # frozen: v1.17.0
|
|
147
|
+
hooks:
|
|
148
|
+
- id: actionlint-shellcheck
|
|
149
|
+
|
|
150
|
+
- repo: https://github.com/codespell-project/codespell
|
|
151
|
+
rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3
|
|
152
|
+
hooks:
|
|
153
|
+
- id: codespell
|
|
154
|
+
|
|
155
|
+
- repo: https://github.com/DetachHead/basedpyright-prek-mirror
|
|
156
|
+
rev: 706e6acebe9e88c2c28d1527d3085a14b11794c4 # frozen: 1.40.1
|
|
157
|
+
hooks:
|
|
158
|
+
- id: basedpyright
|
|
159
|
+
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
160
|
+
|
|
161
|
+
- repo: https://github.com/lfreleng-actions/gha-workflow-linter
|
|
162
|
+
rev: 0c582e431022f1c7004196fb4ea32744d1fe4843 # frozen: v1.7.0
|
|
163
|
+
hooks:
|
|
164
|
+
- id: gha-workflow-linter
|
|
165
|
+
|
|
166
|
+
- repo: local
|
|
167
|
+
hooks:
|
|
168
|
+
- id: aislop
|
|
169
|
+
name: aislop
|
|
170
|
+
entry: aislop ci --human
|
|
171
|
+
language: node
|
|
172
|
+
additional_dependencies: ["aislop@0.14.1"]
|
|
173
|
+
pass_filenames: false
|
|
174
|
+
always_run: true
|
|
175
|
+
|
|
176
|
+
- repo: local
|
|
177
|
+
hooks:
|
|
178
|
+
- id: eslint
|
|
179
|
+
name: eslint
|
|
180
|
+
# yamllint disable-line rule:line-length
|
|
181
|
+
entry: bash -c 'export GUARD_EXCLUDE="(^|/)(dist|build|coverage|node_modules)/|(^|/)eslint[.]config[.](m|c)?js$"; sh .github/hooks/manifest-guard.sh package.json "*.js" "*.jsx" "*.mjs" "*.cjs" "*.ts" "*.tsx" "*.mts" "*.cts"; rc=$?; case "$rc" in 3|4) ;; *) exit "$rc";; esac; v=$(npx --no-install eslint --version 2>/dev/null | sed "s/^v//; s/[.].*$//"); if [ -z "$v" ]; then echo "eslint not installed - add eslint >=9 to devDependencies" >&2; exit 1; fi; if [ "$v" -lt 9 ]; then echo "eslint $v cannot load a flat config reliably - upgrade to >=9" >&2; exit 1; fi; if ! git ls-files -- eslint.config.mjs | grep -q .; then echo "eslint.config.mjs is not tracked - copy it from actions-template, or ESLint would lint against a config outside this repository" >&2; exit 1; fi; { sh .github/hooks/manifest-guard.sh --list package.json "*.js" "*.jsx" "*.mjs" "*.cjs" "*.ts" "*.tsx" "*.mts" "*.cts"; printf "eslint.config.mjs\0"; } | xargs -0 env ESLINT_USE_FLAT_CONFIG=true npx --no-install eslint --no-config-lookup --config eslint.config.mjs --fix'
|
|
182
|
+
language: system
|
|
183
|
+
always_run: true
|
|
184
|
+
pass_filenames: false
|
|
185
|
+
|
|
186
|
+
- repo: local
|
|
187
|
+
hooks:
|
|
188
|
+
- id: go-fmt
|
|
189
|
+
name: go format (gofmt + goimports)
|
|
190
|
+
# yamllint disable-line rule:line-length
|
|
191
|
+
entry: bash -c 'sh .github/hooks/manifest-guard.sh go.mod "*.go"; rc=$?; case "$rc" in 3) ;; 4) exit 0;; *) exit "$rc";; esac; command -v golangci-lint >/dev/null 2>&1 || { echo "golangci-lint not installed - see https://golangci-lint.run/welcome/install/" >&2; exit 1; }; sh .github/hooks/manifest-guard.sh --list go.mod "*.go" | xargs -0 golangci-lint fmt'
|
|
192
|
+
language: system
|
|
193
|
+
always_run: true
|
|
194
|
+
pass_filenames: false
|
|
195
|
+
- id: go-mod-tidy
|
|
196
|
+
name: go mod tidy
|
|
197
|
+
# yamllint disable-line rule:line-length
|
|
198
|
+
entry: bash -c 'sh .github/hooks/manifest-guard.sh go.mod "*.go"; rc=$?; case "$rc" in 3|4) ;; *) exit "$rc";; esac; go mod tidy'
|
|
199
|
+
language: system
|
|
200
|
+
always_run: true
|
|
201
|
+
pass_filenames: false
|
|
202
|
+
- id: go-vet
|
|
203
|
+
name: go vet
|
|
204
|
+
# yamllint disable-line rule:line-length
|
|
205
|
+
entry: bash -c 'sh .github/hooks/manifest-guard.sh go.mod "*.go"; rc=$?; case "$rc" in 3) ;; 4) exit 0;; *) exit "$rc";; esac; go vet ./...'
|
|
206
|
+
language: system
|
|
207
|
+
always_run: true
|
|
208
|
+
pass_filenames: false
|
|
209
|
+
- id: golangci-lint
|
|
210
|
+
name: golangci-lint
|
|
211
|
+
# yamllint disable-line rule:line-length
|
|
212
|
+
entry: bash -c 'sh .github/hooks/manifest-guard.sh go.mod "*.go"; rc=$?; case "$rc" in 3) ;; 4) exit 0;; *) exit "$rc";; esac; command -v golangci-lint >/dev/null 2>&1 || { echo "golangci-lint not installed - see https://golangci-lint.run/welcome/install/" >&2; exit 1; }; golangci-lint run --timeout=5m'
|
|
213
|
+
language: system
|
|
214
|
+
always_run: true
|
|
215
|
+
pass_filenames: false
|
|
216
|
+
|
|
217
|
+
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
218
|
+
rev: 4f85d46a92dc17713078e5de73f8a13190edf6fc # frozen: 0.38.2
|
|
219
|
+
hooks:
|
|
220
|
+
- id: check-github-actions
|
|
221
|
+
- id: check-github-workflows
|
|
222
|
+
- id: check-jsonschema
|
|
223
|
+
name: Check GitHub Workflows set timeout-minutes
|
|
224
|
+
args:
|
|
225
|
+
- --builtin-schema
|
|
226
|
+
- github-workflows-require-timeout
|
|
227
|
+
files: ^\.github/workflows/[^/]+$
|
|
228
|
+
types:
|
|
229
|
+
- yaml
|
|
230
|
+
- id: check-readthedocs
|
|
231
|
+
|
|
232
|
+
- repo: local
|
|
233
|
+
hooks:
|
|
234
|
+
- id: pytest
|
|
235
|
+
name: pytest
|
|
236
|
+
entry: uv
|
|
237
|
+
args: [run, pytest, --tb=short, -q, -v, --strict-markers, --maxfail=5]
|
|
238
|
+
language: system
|
|
239
|
+
pass_filenames: false
|
|
240
|
+
always_run: true
|
|
241
|
+
require_serial: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: github2gerrit
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: Submit a GitHub pull request to a Gerrit repository.
|
|
5
5
|
Project-URL: Homepage, https://github.com/lfreleng-actions/github2gerrit-action
|
|
6
6
|
Project-URL: Repository, https://github.com/lfreleng-actions/github2gerrit-action
|
|
@@ -458,7 +458,7 @@ wheels = [
|
|
|
458
458
|
|
|
459
459
|
[[package]]
|
|
460
460
|
name = "hatchling"
|
|
461
|
-
version = "1.32.
|
|
461
|
+
version = "1.32.3"
|
|
462
462
|
source = { registry = "https://pypi.org/simple" }
|
|
463
463
|
dependencies = [
|
|
464
464
|
{ name = "packaging" },
|
|
@@ -467,9 +467,9 @@ dependencies = [
|
|
|
467
467
|
{ name = "tomlkit" },
|
|
468
468
|
{ name = "trove-classifiers" },
|
|
469
469
|
]
|
|
470
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
470
|
+
sdist = { url = "https://files.pythonhosted.org/packages/62/7f/b20bd29978bec1f2ddd3bbc1cdc5829bb2dd5c1476facd8a84bfe9934c5e/hatchling-1.32.3.tar.gz", hash = "sha256:acdd4436d84d829c6e7ae6df723241d8f0bca9c5bad5a6148bd41f2ea6b8a792", size = 58154, upload-time = "2026-09-17T20:05:11.675Z" }
|
|
471
471
|
wheels = [
|
|
472
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
472
|
+
{ url = "https://files.pythonhosted.org/packages/f6/89/268c7e4b2bcf2071047366c4c3b4b0e89f640e13ea7bfdaf1df6c40e5140/hatchling-1.32.3-py3-none-any.whl", hash = "sha256:d05b350af5d9aa5bf7b34b434a45a742b99e67d0b48ea67d240cfeab98e13945", size = 78895, upload-time = "2026-09-17T20:05:10.38Z" },
|
|
473
473
|
]
|
|
474
474
|
|
|
475
475
|
[[package]]
|
|
@@ -928,27 +928,27 @@ wheels = [
|
|
|
928
928
|
|
|
929
929
|
[[package]]
|
|
930
930
|
name = "ruff"
|
|
931
|
-
version = "0.16.
|
|
931
|
+
version = "0.16.8"
|
|
932
932
|
source = { registry = "https://pypi.org/simple" }
|
|
933
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
933
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ba/78/449cb84790bd5cc3823b2652ee405a4558856e5c4195aee3a16bf7b3eb5d/ruff-0.16.8.tar.gz", hash = "sha256:9247bf92b5f04d825c8639a4fe423ec2e4222acd9222e58412b0dab7e442798b", size = 4938814, upload-time = "2026-09-16T15:54:46.688Z" }
|
|
934
934
|
wheels = [
|
|
935
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
936
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
937
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
938
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
939
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
940
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
941
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
942
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
943
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
944
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
945
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
946
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
947
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
948
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
949
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
950
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
951
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
935
|
+
{ url = "https://files.pythonhosted.org/packages/ac/25/6071aabc530e9be7e2c195e8fe3f7aea2735405b6cf447212832d7811831/ruff-0.16.8-py3-none-linux_armv6l.whl", hash = "sha256:6ffbd6d87383c1edf5f6fa890f10200950240d7c1a16052a19a09d3a2307dd38", size = 10048966, upload-time = "2026-09-16T15:53:57.605Z" },
|
|
936
|
+
{ url = "https://files.pythonhosted.org/packages/54/98/07f90ecbc74dd5fb5764f11f2bc774d6a7cffef92d2ff5f5b4e9e23c754e/ruff-0.16.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:42ed6b878ed61e3acca92f2730a17acff39286944ea82398544696366a6f925e", size = 10165498, upload-time = "2026-09-16T15:54:01.14Z" },
|
|
937
|
+
{ url = "https://files.pythonhosted.org/packages/fe/1f/e6a712e3b47cad4a40600134105ed193cb773f618a42eb7ba323cb812cc0/ruff-0.16.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7ea781c7f2afba8c6a505ea0fb3f994020249e0c450635f5381286fea6b46170", size = 9830004, upload-time = "2026-09-16T15:54:03.998Z" },
|
|
938
|
+
{ url = "https://files.pythonhosted.org/packages/23/f2/311a08776d75d81c7676e20b6b020ae63cbe881fcdc7a8dd64e6e18bdd93/ruff-0.16.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8efeae3bbe414a5efefda11a792dfb51ef90ac48d50c4830de2f644caf3e8659", size = 9986558, upload-time = "2026-09-16T15:54:06.804Z" },
|
|
939
|
+
{ url = "https://files.pythonhosted.org/packages/f3/ed/37b6cb3d3ba8c73e68ae3eb1d502383beb5aa05a582bb7bb3a922f929f54/ruff-0.16.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a79b795469fef7fc6e908b218eed2eb17332afd85031db6480dc864560e69b2", size = 9877332, upload-time = "2026-09-16T15:54:09.552Z" },
|
|
940
|
+
{ url = "https://files.pythonhosted.org/packages/22/cc/40873a8f36ad084cc540d55fcca7077264d5b13b24659e9180c176fb2b08/ruff-0.16.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fdc5563cdc50555e6fba39322850860e9267c1b3d12c26a74729d8604c3c812", size = 10507125, upload-time = "2026-09-16T15:54:12.152Z" },
|
|
941
|
+
{ url = "https://files.pythonhosted.org/packages/c3/e4/fc91a642b78ccbab6b9477720f3644ae7a10a9bcce69a934679cd64f62bc/ruff-0.16.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34508983c70665578dab88f5223d8e6228307e1135398ca8bfc8b7e9501e282b", size = 11336694, upload-time = "2026-09-16T15:54:15.489Z" },
|
|
942
|
+
{ url = "https://files.pythonhosted.org/packages/c2/3d/bbd2a9a600a4e73dc3e7548a249c8d1671273464b55822c6fae50f602dff/ruff-0.16.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:644bb578569e0ffc575741232bd385dacdd6fbe123f1a729e7a225f54aa3957f", size = 10774448, upload-time = "2026-09-16T15:54:18.16Z" },
|
|
943
|
+
{ url = "https://files.pythonhosted.org/packages/1a/41/d83af9879a7b6e8bf5fe16b1da0b134049d2f5d3afac12defb0897cb84bd/ruff-0.16.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15e7d226246961db9235098333caa13063906d3851136b84c2900b82f5daa1df", size = 10323796, upload-time = "2026-09-16T15:54:20.743Z" },
|
|
944
|
+
{ url = "https://files.pythonhosted.org/packages/f5/2c/cefd07bfe914b84943ea769ade8d607bd22750b965d3228eefd7cebd15d0/ruff-0.16.8-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a2bf6bc3e9ebdd4449abc6f06cf64b98051a2c61cf94d2fe9596518c881f1a1e", size = 10514115, upload-time = "2026-09-16T15:54:23.497Z" },
|
|
945
|
+
{ url = "https://files.pythonhosted.org/packages/f3/9d/76a2e26c79a23be6e6e3664c57bec9e9fc8de155cfb9e4b67ea91b64f9d7/ruff-0.16.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6ca111ba0849539165e9e59d2b442542f3c1e8060ebbdea82494f1ffbccb1e1f", size = 10072582, upload-time = "2026-09-16T15:54:26.185Z" },
|
|
946
|
+
{ url = "https://files.pythonhosted.org/packages/2e/d4/f42edddb39668af1a559ceafa3823aedd65633a48dc9768e775485faa2c1/ruff-0.16.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:359a1e5b495448ee1e91018064382ebc86f90e8aac2fed222c7d0e4e8df85fd2", size = 9879644, upload-time = "2026-09-16T15:54:29.278Z" },
|
|
947
|
+
{ url = "https://files.pythonhosted.org/packages/f8/d4/913e3195d95e0378786c6656945c865f534a3560e29139da4882aff630d1/ruff-0.16.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:59e8f5681349474110b24d62e93cfda6593f5fa3473446ca3705200cac1a08b9", size = 10231569, upload-time = "2026-09-16T15:54:32.036Z" },
|
|
948
|
+
{ url = "https://files.pythonhosted.org/packages/2b/c4/8aa6ea0bdcedbd1bf87397e2fc4ed8406448ea5842f8660bc6e5f163039d/ruff-0.16.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:efa3e7a16d1baaa79957888dfdf8be9ef2e44db81cb032af06d76632ab59e773", size = 10663666, upload-time = "2026-09-16T15:54:34.838Z" },
|
|
949
|
+
{ url = "https://files.pythonhosted.org/packages/3d/02/7f10ef4700bc223c30a3fdd10631a29830c45524b810a3c7ed947af64591/ruff-0.16.8-py3-none-win32.whl", hash = "sha256:55793ba85c69921e89be061426d91a78652d6e50317c962240922747a4eb713f", size = 10093472, upload-time = "2026-09-16T15:54:37.47Z" },
|
|
950
|
+
{ url = "https://files.pythonhosted.org/packages/1e/5d/a509c07d714b6da88f2c518b4637cf6f1d46b074be8f0f1e5fb9ff5126fe/ruff-0.16.8-py3-none-win_amd64.whl", hash = "sha256:a6b85621fd3c81e31fc5f5add09c9c078b430db3595ca632efafdec9e64ebfaa", size = 10586899, upload-time = "2026-09-16T15:54:40.488Z" },
|
|
951
|
+
{ url = "https://files.pythonhosted.org/packages/fe/a0/50787329e4f20bf9dc9f6230015d46ec69c51a97ace5bc202dae4755365d/ruff-0.16.8-py3-none-win_arm64.whl", hash = "sha256:d075e820af612102ce217f07cc93e69f9490b10ec13ea85fa87bd03d996cef8a", size = 10386316, upload-time = "2026-09-16T15:54:43.332Z" },
|
|
952
952
|
]
|
|
953
953
|
|
|
954
954
|
[[package]]
|
|
@@ -1105,9 +1105,9 @@ wheels = [
|
|
|
1105
1105
|
|
|
1106
1106
|
[[package]]
|
|
1107
1107
|
name = "urllib3"
|
|
1108
|
-
version = "2.
|
|
1108
|
+
version = "2.8.0"
|
|
1109
1109
|
source = { registry = "https://pypi.org/simple" }
|
|
1110
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1110
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" }
|
|
1111
1111
|
wheels = [
|
|
1112
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1112
|
+
{ url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" },
|
|
1113
1113
|
]
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
# SPDX-FileCopyrightText: 2025 The Linux Foundation
|
|
4
|
-
|
|
5
|
-
ci:
|
|
6
|
-
autofix_prs: false
|
|
7
|
-
# pre-commit.ci sandbox prevents network calls; aislop runs engines
|
|
8
|
-
# that can call the network at scan time, so it cannot run there
|
|
9
|
-
# either. gha-workflow-linter validates action calls over the
|
|
10
|
-
# network; pytest runs the full suite.
|
|
11
|
-
skip: [pytest, gha-workflow-linter, aislop]
|
|
12
|
-
autofix_commit_msg: |
|
|
13
|
-
Chore: pre-commit autofixes
|
|
14
|
-
|
|
15
|
-
Signed-off-by: pre-commit-ci[bot] <pre-commit-ci@users.noreply.github.com>
|
|
16
|
-
autoupdate_commit_msg: |
|
|
17
|
-
Chore: pre-commit autoupdate
|
|
18
|
-
|
|
19
|
-
Signed-off-by: pre-commit-ci[bot] <pre-commit-ci@users.noreply.github.com>
|
|
20
|
-
|
|
21
|
-
exclude: |
|
|
22
|
-
(?x)^(docs/conf.py|
|
|
23
|
-
\.mypy_cache/|
|
|
24
|
-
\.pytest_cache/|
|
|
25
|
-
\.ruff_cache/|
|
|
26
|
-
dist/|
|
|
27
|
-
build/|
|
|
28
|
-
coverage_html_report/|
|
|
29
|
-
\.venv/)
|
|
30
|
-
|
|
31
|
-
repos:
|
|
32
|
-
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
33
|
-
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
|
|
34
|
-
hooks:
|
|
35
|
-
- id: trailing-whitespace
|
|
36
|
-
- id: check-added-large-files
|
|
37
|
-
- id: check-ast
|
|
38
|
-
- id: check-json
|
|
39
|
-
- id: check-merge-conflict
|
|
40
|
-
- id: check-xml
|
|
41
|
-
- id: check-yaml
|
|
42
|
-
- id: debug-statements
|
|
43
|
-
- id: end-of-file-fixer
|
|
44
|
-
- id: requirements-txt-fixer
|
|
45
|
-
- id: mixed-line-ending
|
|
46
|
-
args: ["--fix=lf"]
|
|
47
|
-
- id: no-commit-to-branch
|
|
48
|
-
args:
|
|
49
|
-
- --branch=dev
|
|
50
|
-
- --branch=master
|
|
51
|
-
- --branch=main
|
|
52
|
-
- --branch=rc
|
|
53
|
-
- --branch=production
|
|
54
|
-
|
|
55
|
-
- repo: https://github.com/jorisroovers/gitlint
|
|
56
|
-
rev: acc9d9de6369b76d22cb4167029d2035e8730b98 # frozen: v0.19.1
|
|
57
|
-
hooks:
|
|
58
|
-
- id: gitlint
|
|
59
|
-
|
|
60
|
-
- repo: https://github.com/adrienverge/yamllint.git
|
|
61
|
-
rev: cba56bcde1fdd01c1deb3f945e69764c291a6530 # frozen: v1.38.0
|
|
62
|
-
hooks:
|
|
63
|
-
- id: yamllint
|
|
64
|
-
types: [yaml]
|
|
65
|
-
|
|
66
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
67
|
-
rev: 2eeb5678de71a00c0902cbda7105d328432f72cb # frozen: v0.16.8
|
|
68
|
-
hooks:
|
|
69
|
-
- id: ruff
|
|
70
|
-
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
71
|
-
args: [--fix, --exit-non-zero-on-fix]
|
|
72
|
-
- id: ruff-format
|
|
73
|
-
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
74
|
-
|
|
75
|
-
- repo: local
|
|
76
|
-
hooks:
|
|
77
|
-
- id: sync-mypy-pins
|
|
78
|
-
# Rewrites the mypy hook's exact pins below to the versions
|
|
79
|
-
# uv.lock records, so the two cannot drift. Ordered ahead of the
|
|
80
|
-
# mypy hook so the pins are corrected before mypy is reached,
|
|
81
|
-
# though pre-commit reads this file and builds hook environments
|
|
82
|
-
# before any hook runs: a rewrite fails this run, as any
|
|
83
|
-
# modifying hook does, and the corrected pins take effect on the
|
|
84
|
-
# rerun. Both files come from the same checkout, so the verdict
|
|
85
|
-
# is the same locally and in CI, and a Dependabot lockfile bump
|
|
86
|
-
# fails here on its own pull request rather than on main.
|
|
87
|
-
name: sync mypy hook pins with uv.lock
|
|
88
|
-
entry: python3 scripts/sync_mypy_pins.py
|
|
89
|
-
language: system
|
|
90
|
-
files: ^(\.pre-commit-config\.yaml|uv\.lock)$
|
|
91
|
-
pass_filenames: false
|
|
92
|
-
|
|
93
|
-
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
94
|
-
rev: 7ff8d35ae36a7d2b968f2f90b4c723e292e594ee # frozen: v2.3.1
|
|
95
|
-
hooks:
|
|
96
|
-
- id: mypy
|
|
97
|
-
# Every Python path in the repository, matching the ruff and
|
|
98
|
-
# basedpyright hooks above and below so the three cannot drift.
|
|
99
|
-
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
100
|
-
# mypy runs in an isolated virtualenv that holds only what is
|
|
101
|
-
# listed here, so anything the checked files import has to be
|
|
102
|
-
# present or mypy draws conclusions the project never would. With
|
|
103
|
-
# pytest absent, for instance, @pytest.fixture reads as an untyped
|
|
104
|
-
# decorator and pytest.raises stops telling mypy the block can
|
|
105
|
-
# swallow the exception, which turns every statement after a
|
|
106
|
-
# `with pytest.raises(...)` into dead code. Installing the real
|
|
107
|
-
# packages removes that whole class of environment-only findings;
|
|
108
|
-
# keep this list in step with the imports under src/ and tests/.
|
|
109
|
-
# pygerrit2 is deliberately absent: it is an optional runtime
|
|
110
|
-
# dependency and pyproject.toml already gives it
|
|
111
|
-
# ignore_missing_imports.
|
|
112
|
-
#
|
|
113
|
-
# The pins below are exact (==) rather than floors. This
|
|
114
|
-
# environment is resolved from PyPI at install time, not from
|
|
115
|
-
# uv.lock, so a >= constraint would still pick up whatever is
|
|
116
|
-
# newest whenever pre-commit.ci happens to rebuild the
|
|
117
|
-
# environment, and the hook would then report on a dependency set
|
|
118
|
-
# nobody runs locally. That drift is not theoretical: CI once
|
|
119
|
-
# resolved typer 0.27.2 against a lockfile holding 0.27.1, and the
|
|
120
|
-
# two disagreed about which module typer.Exit lives in.
|
|
121
|
-
# The versions are not maintained by hand: the sync-mypy-pins hook
|
|
122
|
-
# above rewrites them from uv.lock, so after `uv lock --upgrade` a
|
|
123
|
-
# `prek run sync-mypy-pins --all-files` brings them into step
|
|
124
|
-
# (--all-files, because neither file is staged at that point and
|
|
125
|
-
# the hook would otherwise not be selected). The tests in
|
|
126
|
-
# tests/test_precommit_mypy_pins.py check the list is exact and
|
|
127
|
-
# complete against the imports; they deliberately do not compare
|
|
128
|
-
# versions to the lockfile, since a pull request is tested as
|
|
129
|
-
# merged into main and would otherwise fail for a dependency that
|
|
130
|
-
# moved there, not for anything on the branch.
|
|
131
|
-
#
|
|
132
|
-
# These pins do not freeze the whole resolved closure: pip still
|
|
133
|
-
# picks transitive versions at build time, and listing every
|
|
134
|
-
# package uv.lock records would duplicate the lockfile here. They
|
|
135
|
-
# do not need to. mypy's verdict can only turn on a package whose
|
|
136
|
-
# types it reads, which means one the checked files import, so the
|
|
137
|
-
# list covers exactly that set -- rich is here because src/ imports
|
|
138
|
-
# it, not because typer happens to pull it in. The same test asserts
|
|
139
|
-
# the list stays complete against those imports.
|
|
140
|
-
#
|
|
141
|
-
# mypy itself is pinned here as well as coming from the mirror's
|
|
142
|
-
# rev above. That is not redundant: the rev decides which mypy
|
|
143
|
-
# runs, and nothing otherwise ties it to the locked one, so an
|
|
144
|
-
# autoupdate of the mirror or a lockfile-only mypy upgrade would
|
|
145
|
-
# leave the hook running a different checker in silence. With the
|
|
146
|
-
# pin present, the sync hook keeps it at the locked version, and a
|
|
147
|
-
# mirror whose rev disagrees fails to install rather than quietly
|
|
148
|
-
# winning.
|
|
149
|
-
additional_dependencies:
|
|
150
|
-
- mypy==2.3.1
|
|
151
|
-
- click==8.5.0
|
|
152
|
-
- pytest==9.1.1
|
|
153
|
-
- responses==0.26.3
|
|
154
|
-
- rich==15.0.0
|
|
155
|
-
- typer==0.27.2
|
|
156
|
-
- types-PyYAML==6.0.12.20260906
|
|
157
|
-
- types-requests==2.33.0.20260906
|
|
158
|
-
|
|
159
|
-
- repo: https://github.com/btford/write-good
|
|
160
|
-
rev: ab66ce10136dfad5146e69e70f82a3efac8842c1 # frozen: v1.0.8
|
|
161
|
-
hooks:
|
|
162
|
-
- id: write-good
|
|
163
|
-
files: "\\.(rst|md|markdown|mdown|mkdn)$"
|
|
164
|
-
args: ["--no-adverb"]
|
|
165
|
-
|
|
166
|
-
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
167
|
-
rev: a6564f5d57444e123433a5c9af733e3975c77229 # frozen: v0.11.0.1-1
|
|
168
|
-
hooks:
|
|
169
|
-
- id: shellcheck
|
|
170
|
-
|
|
171
|
-
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
172
|
-
rev: 5b5dddc4fb0f83c3ea1fc5616fa63e115dce83e0 # frozen: v0.49.1
|
|
173
|
-
hooks:
|
|
174
|
-
- id: markdownlint
|
|
175
|
-
args: ["--fix", "--config", ".markdownlint.yaml"]
|
|
176
|
-
exclude: "GERRIT_URL_CENTRALIZATION.md"
|
|
177
|
-
|
|
178
|
-
- repo: https://github.com/fsfe/reuse-tool
|
|
179
|
-
rev: 9fabf9eb815a57aac116b435e8346c200cdb8604 # frozen: v6.2.0
|
|
180
|
-
hooks:
|
|
181
|
-
- id: reuse
|
|
182
|
-
|
|
183
|
-
# Replaces: https://github.com/rhysd/actionlint
|
|
184
|
-
# Permits actionlint to run both locally and with precommit.ci/GitHub
|
|
185
|
-
- repo: https://github.com/Mateusz-Grzelinski/actionlint-py
|
|
186
|
-
rev: c04ed26e40637cab1aa9879c693832a9c120fb20 # frozen: v1.7.12.24
|
|
187
|
-
hooks:
|
|
188
|
-
- id: actionlint
|
|
189
|
-
|
|
190
|
-
# Check for misspellings in documentation files
|
|
191
|
-
- repo: https://github.com/codespell-project/codespell
|
|
192
|
-
rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3
|
|
193
|
-
hooks:
|
|
194
|
-
- id: codespell
|
|
195
|
-
|
|
196
|
-
# Requires a mirror, primary repo lacks .pre-commit-hooks.yaml
|
|
197
|
-
- repo: https://github.com/DetachHead/basedpyright-prek-mirror
|
|
198
|
-
rev: 706e6acebe9e88c2c28d1527d3085a14b11794c4 # frozen: 1.40.1
|
|
199
|
-
hooks:
|
|
200
|
-
- id: basedpyright
|
|
201
|
-
# Every Python path in the repository. Keep in sync with the
|
|
202
|
-
# `include` list under [tool.pyright] in pyproject.toml.
|
|
203
|
-
files: ^(src|scripts|tests)/.+\.py$|^sitecustomize\.py$
|
|
204
|
-
|
|
205
|
-
- repo: https://github.com/lfreleng-actions/gha-workflow-linter
|
|
206
|
-
rev: 445a55d2a15b12217828eecf8d4bf7741e0e1360 # frozen: v1.5.6
|
|
207
|
-
hooks:
|
|
208
|
-
- id: gha-workflow-linter
|
|
209
|
-
|
|
210
|
-
# Catch AI slop developer-side before it reaches a pull request.
|
|
211
|
-
# Runs the full-repository quality gate, scored against
|
|
212
|
-
# .aislop/config.yml. A local hook installing the published npm
|
|
213
|
-
# package: the scanaislop/aislop git repository does not ship the
|
|
214
|
-
# built dist/, so its bundled pre-commit hook cannot install. Bump
|
|
215
|
-
# the pinned version here manually when new aislop releases ship.
|
|
216
|
-
- repo: local
|
|
217
|
-
hooks:
|
|
218
|
-
- id: aislop
|
|
219
|
-
name: aislop
|
|
220
|
-
entry: aislop ci --human
|
|
221
|
-
language: node
|
|
222
|
-
additional_dependencies: ["aislop@0.14.1"]
|
|
223
|
-
pass_filenames: false
|
|
224
|
-
always_run: true
|
|
225
|
-
|
|
226
|
-
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
227
|
-
rev: c4654a7e007c9619a5eb63c39a456572a0fa1851 # frozen: 0.38.0
|
|
228
|
-
hooks:
|
|
229
|
-
- id: check-github-actions
|
|
230
|
-
- id: check-github-workflows
|
|
231
|
-
- id: check-jsonschema
|
|
232
|
-
name: Check GitHub Workflows set timeout-minutes
|
|
233
|
-
args:
|
|
234
|
-
- --builtin-schema
|
|
235
|
-
- github-workflows-require-timeout
|
|
236
|
-
files: ^\.github/workflows/[^/]+$
|
|
237
|
-
types:
|
|
238
|
-
- yaml
|
|
239
|
-
- id: check-readthedocs
|
|
240
|
-
|
|
241
|
-
# Run tests last to ensure all code changes from other hooks are tested
|
|
242
|
-
- repo: local
|
|
243
|
-
hooks:
|
|
244
|
-
- id: pytest
|
|
245
|
-
name: pytest
|
|
246
|
-
entry: uv
|
|
247
|
-
args: [run, pytest, --tb=short, -q, -v, --strict-markers, --maxfail=5]
|
|
248
|
-
language: system
|
|
249
|
-
pass_filenames: false
|
|
250
|
-
always_run: true
|
|
251
|
-
require_serial: true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github2gerrit-2.4.0 → github2gerrit-2.4.1}/docs/github2gerrit_token_permissions_classic.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github2gerrit-2.4.0 → github2gerrit-2.4.1}/src/github2gerrit/orchestrator/reconciliation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github2gerrit-2.4.0 → github2gerrit-2.4.1}/tests/test_mapping_comment_digest_and_backref.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|