github2gerrit 1.1.0__tar.gz → 1.2.0__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-1.1.0 → github2gerrit-1.2.0}/.pre-commit-config.yaml +14 -9
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/PKG-INFO +1 -1
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/action.yaml +39 -2
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/pyproject.toml +1 -13
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/cli.py +8 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_cli.py +49 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/uv.lock +60 -60
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.editorconfig +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.gitignore +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.gitlint +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.markdownlint.yaml +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.readthedocs.yml +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/.yamllint +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/LICENSE +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/LICENSES/Apache-2.0.txt +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/README.md +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/REUSE.toml +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/docs/COMMIT_RULES.md +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/docs/COMPOSITE_ACTION_TESTING.md +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/docs/PR_UPDATE_IMPLEMENTATION.md +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/docs/RELEASE-v0.2.0.md +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/docs/github2gerrit_token_permissions_classic.png +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/sitecustomize.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/__init__.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/commit_normalization.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/commit_rules.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/config.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/constants.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/core.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/duplicate_detection.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/error_codes.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/external_api.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gerrit_pr_closer.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gerrit_query.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gerrit_rest.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gerrit_urls.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/github_api.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gitreview.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/gitutils.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/mapping_comment.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/models.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/netrc.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/orchestrator/__init__.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/orchestrator/reconciliation.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/pr_commands.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/pr_content_filter.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/reconcile_matcher.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/rich_display.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/rich_logging.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/similarity.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/ssh_agent_setup.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/ssh_common.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/ssh_config_parser.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/ssh_discovery.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/trailers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/src/github2gerrit/utils.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/conftest.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/fixtures/__init__.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/fixtures/make_repo.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/fixtures/ssh_config_samples.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_action_environment_mapping.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_action_outputs.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_action_pr_number_handling.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_action_step_validation.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_automation_only.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_change_id_deduplication.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_cli_helpers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_cli_netrc_options.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_cli_outputs_file.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_cli_url_and_dryrun.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_commit_normalization.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_commit_rules.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_composite_action_coverage.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_config_and_reviewers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_config_helpers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_close_pr_policy.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_config_and_errors.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_gerrit_backref_comment.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_gerrit_push_errors.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_gerrit_rest_results.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_integration_fixture_repo.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_prepare_commits.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_shallow_clone.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_ssh_setup.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_core_ssrf_protection.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_dns_validation_and_no_gerrit.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_duplicate_detection.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_email_case_normalization.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_error_codes.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_external_api_framework.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_force_flag_cli.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_change_id_footer.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_change_status_checks.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_pr_closer.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_rest_client.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_urls.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gerrit_urls_more.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ghe_and_gitreview_args.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_github_api_error_handling.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_github_api_helpers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_github_api_retry_and_helpers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gitreview.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_gitutils_helpers.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_issue_157_regressions.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_mapping_comment_additional.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_mapping_comment_digest_and_backref.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_metadata_and_reconciliation.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_metadata_trailer_separation_bug.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_misc_small_coverage.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_netrc.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_orphan_rest_side_effects.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_pr_commands.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_pr_content_filter.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_pr_content_filter_integration.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_pr_update_detection.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_reconciliation_extracted_module.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_reconciliation_plan_and_orphans.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_reconciliation_scenarios.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_agent.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_agent_ownership.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_artifact_prevention.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_common.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_discovery.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_ssh_discovery_dry_run.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_trailers_additional.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_url_parser.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/test_utils.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/unit/test_config_integration.py +0 -0
- {github2gerrit-1.1.0 → github2gerrit-1.2.0}/tests/unit/test_ssh_config_parser.py +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# SPDX-FileCopyrightText: 2025 The Linux Foundation
|
|
4
4
|
|
|
5
5
|
ci:
|
|
6
|
-
skip: [pytest]
|
|
6
|
+
skip: [pytest, gha-workflow-linter]
|
|
7
7
|
autofix_commit_msg: |
|
|
8
8
|
Chore: pre-commit autofixes
|
|
9
9
|
|
|
@@ -59,7 +59,7 @@ repos:
|
|
|
59
59
|
types: [yaml]
|
|
60
60
|
|
|
61
61
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
62
|
-
rev:
|
|
62
|
+
rev: e05c5c0818279e5ac248ac9e954431ba58865e61 # frozen: v0.15.7
|
|
63
63
|
hooks:
|
|
64
64
|
- id: ruff
|
|
65
65
|
files: ^(src|scripts|tests)/.+\.py$
|
|
@@ -76,13 +76,6 @@ repos:
|
|
|
76
76
|
- types-PyYAML
|
|
77
77
|
- types-requests
|
|
78
78
|
|
|
79
|
-
# Doesn't seem to run reliably inside pre-commit.ci
|
|
80
|
-
# - repo: https://github.com/RobertCraigie/pyright-python
|
|
81
|
-
# rev: d393df1703a808473b84bd14a2702f4793014031 # frozen: v1.1.404
|
|
82
|
-
# hooks:
|
|
83
|
-
# - id: pyright
|
|
84
|
-
# files: ^(src|scripts|tests)/.+\.py$
|
|
85
|
-
|
|
86
79
|
- repo: https://github.com/btford/write-good
|
|
87
80
|
rev: ab66ce10136dfad5146e69e70f82a3efac8842c1 # frozen: v1.0.8
|
|
88
81
|
hooks:
|
|
@@ -120,6 +113,18 @@ repos:
|
|
|
120
113
|
hooks:
|
|
121
114
|
- id: codespell
|
|
122
115
|
|
|
116
|
+
# Requires a mirror, primary repo lacks .pre-commit-hooks.yaml
|
|
117
|
+
- repo: https://github.com/DetachHead/basedpyright-prek-mirror
|
|
118
|
+
rev: d58fe7fc44458fa7e41e2d38c04598a3c87833f2 # frozen: 1.38.3
|
|
119
|
+
hooks:
|
|
120
|
+
- id: basedpyright
|
|
121
|
+
files: ^src/.+\.py$
|
|
122
|
+
|
|
123
|
+
- repo: https://github.com/lfreleng-actions/gha-workflow-linter
|
|
124
|
+
rev: a7caf8f3a1a05688d1cee46615ff94def617e5a3 # frozen: v1.0.2
|
|
125
|
+
hooks:
|
|
126
|
+
- id: gha-workflow-linter
|
|
127
|
+
|
|
123
128
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
124
129
|
rev: 8db279a37c552206d2df62269ff6f9d31125815a # frozen: 0.37.0
|
|
125
130
|
hooks:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github2gerrit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
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
|
|
@@ -157,6 +157,10 @@ inputs:
|
|
|
157
157
|
description: "Create a Gerrit change when an UPDATE operation cannot find an existing one"
|
|
158
158
|
required: false
|
|
159
159
|
default: "false"
|
|
160
|
+
G2G_DISABLED:
|
|
161
|
+
description: "Set to 'true' to disable the action entirely (exits successfully with a message)"
|
|
162
|
+
required: false
|
|
163
|
+
default: ""
|
|
160
164
|
|
|
161
165
|
outputs:
|
|
162
166
|
gerrit_change_request_url:
|
|
@@ -172,7 +176,34 @@ outputs:
|
|
|
172
176
|
runs:
|
|
173
177
|
using: "composite"
|
|
174
178
|
steps:
|
|
179
|
+
- name: "Check if GitHub2Gerrit is disabled"
|
|
180
|
+
id: disabled-check
|
|
181
|
+
shell: bash
|
|
182
|
+
run: |
|
|
183
|
+
# Check if GitHub2Gerrit is disabled
|
|
184
|
+
set -euo pipefail
|
|
185
|
+
DISABLED_ENV="${G2G_DISABLED:-}"
|
|
186
|
+
DISABLED_INPUT="${{ inputs.G2G_DISABLED }}"
|
|
187
|
+
# Normalize: accept the same truthy set as env_bool()
|
|
188
|
+
# (1/true/yes/on, case-insensitive, trimmed)
|
|
189
|
+
_normalize() {
|
|
190
|
+
printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | xargs
|
|
191
|
+
}
|
|
192
|
+
_is_truthy() {
|
|
193
|
+
case "$(_normalize "$1")" in
|
|
194
|
+
1|true|yes|on) return 0 ;;
|
|
195
|
+
*) return 1 ;;
|
|
196
|
+
esac
|
|
197
|
+
}
|
|
198
|
+
if _is_truthy "${DISABLED_ENV}" || _is_truthy "${DISABLED_INPUT}"; then
|
|
199
|
+
echo "🛑 GitHub2Gerrit is disabled by check of G2G_DISABLED variable or input"
|
|
200
|
+
echo "disabled=true" >> "$GITHUB_OUTPUT"
|
|
201
|
+
else
|
|
202
|
+
echo "disabled=false" >> "$GITHUB_OUTPUT"
|
|
203
|
+
fi
|
|
204
|
+
|
|
175
205
|
- name: "Checkout repository"
|
|
206
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
176
207
|
# yamllint disable-line rule:line-length
|
|
177
208
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
178
209
|
with:
|
|
@@ -181,18 +212,21 @@ runs:
|
|
|
181
212
|
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
182
213
|
|
|
183
214
|
- name: "Setup Python"
|
|
215
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
184
216
|
# yamllint disable-line rule:line-length
|
|
185
217
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
186
218
|
with:
|
|
187
219
|
python-version-file: '${{ github.action_path }}/pyproject.toml'
|
|
188
220
|
|
|
189
221
|
- name: "Setup uv"
|
|
222
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
190
223
|
# yamllint disable-line rule:line-length
|
|
191
224
|
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
|
|
192
225
|
with:
|
|
193
226
|
enable-cache: false
|
|
194
227
|
|
|
195
228
|
- name: "Setup github2gerrit"
|
|
229
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
196
230
|
shell: bash
|
|
197
231
|
env:
|
|
198
232
|
# Provide version for hatch-vcs (via setuptools-scm)
|
|
@@ -214,7 +248,7 @@ runs:
|
|
|
214
248
|
|
|
215
249
|
- name: "Validate PR_NUMBER usage"
|
|
216
250
|
# yamllint disable-line rule:line-length
|
|
217
|
-
if: ${{ github.event_name != 'workflow_dispatch' && inputs.PR_NUMBER != '' && inputs.PR_NUMBER != '0' }}
|
|
251
|
+
if: ${{ steps.disabled-check.outputs.disabled != 'true' && github.event_name != 'workflow_dispatch' && inputs.PR_NUMBER != '' && inputs.PR_NUMBER != '0' }}
|
|
218
252
|
shell: bash
|
|
219
253
|
run: |
|
|
220
254
|
# Validate PR_NUMBER usage
|
|
@@ -223,7 +257,7 @@ runs:
|
|
|
223
257
|
exit 2
|
|
224
258
|
|
|
225
259
|
- name: "Normalize PR_NUMBER"
|
|
226
|
-
if: ${{ github.event_name == 'workflow_dispatch' }}
|
|
260
|
+
if: ${{ steps.disabled-check.outputs.disabled != 'true' && github.event_name == 'workflow_dispatch' }}
|
|
227
261
|
shell: bash
|
|
228
262
|
run: |
|
|
229
263
|
# Normalize PR_NUMBER
|
|
@@ -243,6 +277,7 @@ runs:
|
|
|
243
277
|
fi
|
|
244
278
|
|
|
245
279
|
- name: "Extract PR number, validate context"
|
|
280
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
246
281
|
shell: bash
|
|
247
282
|
run: |
|
|
248
283
|
# Extract PR number, validate context
|
|
@@ -284,6 +319,7 @@ runs:
|
|
|
284
319
|
fi
|
|
285
320
|
|
|
286
321
|
- name: "Run github2gerrit Python CLI"
|
|
322
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
287
323
|
id: run-cli
|
|
288
324
|
shell: bash
|
|
289
325
|
env:
|
|
@@ -357,6 +393,7 @@ runs:
|
|
|
357
393
|
fi
|
|
358
394
|
|
|
359
395
|
- name: "Capture outputs"
|
|
396
|
+
if: steps.disabled-check.outputs.disabled != 'true'
|
|
360
397
|
id: capture-outputs
|
|
361
398
|
shell: bash
|
|
362
399
|
# yamllint disable rule:line-length
|
|
@@ -235,19 +235,7 @@ markers = [
|
|
|
235
235
|
|
|
236
236
|
[tool.pyright]
|
|
237
237
|
pythonVersion = "3.11"
|
|
238
|
-
include = ["src"
|
|
239
|
-
exclude = [
|
|
240
|
-
"build/",
|
|
241
|
-
"dist/",
|
|
242
|
-
"docs/",
|
|
243
|
-
"scripts/",
|
|
244
|
-
"tests/fixtures/",
|
|
245
|
-
".venv/",
|
|
246
|
-
".mypy_cache/",
|
|
247
|
-
".pytest_cache/",
|
|
248
|
-
".ruff_cache/",
|
|
249
|
-
"coverage_html_report/",
|
|
250
|
-
]
|
|
238
|
+
include = ["src"]
|
|
251
239
|
typeCheckingMode = "strict"
|
|
252
240
|
reportMissingImports = "none"
|
|
253
241
|
reportMissingTypeStubs = "none"
|
|
@@ -845,6 +845,14 @@ def main(
|
|
|
845
845
|
typer.echo("Version information not available")
|
|
846
846
|
sys.exit(int(ExitCode.SUCCESS))
|
|
847
847
|
|
|
848
|
+
# Check if GitHub2Gerrit is disabled via environment variable
|
|
849
|
+
if env_bool("G2G_DISABLED"):
|
|
850
|
+
typer.echo(
|
|
851
|
+
"\U0001f6d1 GitHub2Gerrit is disabled by check of "
|
|
852
|
+
"G2G_DISABLED variable"
|
|
853
|
+
)
|
|
854
|
+
sys.exit(int(ExitCode.SUCCESS))
|
|
855
|
+
|
|
848
856
|
# Override boolean parameters with properly parsed environment variables.
|
|
849
857
|
# This ensures that string "false" from GitHub Actions is handled
|
|
850
858
|
# correctly (Typer/Click treats any non-empty string as truthy).
|
|
@@ -156,6 +156,55 @@ def test_missing_required_inputs_exits_2(tmp_path: Path) -> None:
|
|
|
156
156
|
assert "Missing required input" in error_output
|
|
157
157
|
|
|
158
158
|
|
|
159
|
+
def test_disabled_variable_true_exits_0(tmp_path: Path) -> None:
|
|
160
|
+
"""Setting G2G_DISABLED=true should exit 0 with a message."""
|
|
161
|
+
env = _base_env(tmp_path)
|
|
162
|
+
env["G2G_DISABLED"] = "true"
|
|
163
|
+
|
|
164
|
+
result = runner.invoke(app, [], env=env)
|
|
165
|
+
assert result.exit_code == 0
|
|
166
|
+
output = _get_combined_output(result)
|
|
167
|
+
assert (
|
|
168
|
+
"GitHub2Gerrit is disabled by check of G2G_DISABLED variable" in output
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def test_disabled_variable_false_does_not_exit_early(tmp_path: Path) -> None:
|
|
173
|
+
"""Setting G2G_DISABLED=false should not trigger the disabled check."""
|
|
174
|
+
env = _base_env(tmp_path)
|
|
175
|
+
env["G2G_DISABLED"] = "false"
|
|
176
|
+
|
|
177
|
+
result = runner.invoke(app, [], env=env)
|
|
178
|
+
assert result.exit_code == 0
|
|
179
|
+
output = _get_combined_output(result)
|
|
180
|
+
assert "GitHub2Gerrit is disabled" not in output
|
|
181
|
+
assert "Validation complete" in output
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def test_disabled_variable_absent_does_not_exit_early(tmp_path: Path) -> None:
|
|
185
|
+
"""When G2G_DISABLED is not set, the disabled check should not trigger."""
|
|
186
|
+
env = _base_env(tmp_path)
|
|
187
|
+
env.pop("G2G_DISABLED", None)
|
|
188
|
+
|
|
189
|
+
result = runner.invoke(app, [], env=env)
|
|
190
|
+
assert result.exit_code == 0
|
|
191
|
+
output = _get_combined_output(result)
|
|
192
|
+
assert "GitHub2Gerrit is disabled" not in output
|
|
193
|
+
assert "Validation complete" in output
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def test_disabled_variable_empty_does_not_exit_early(tmp_path: Path) -> None:
|
|
197
|
+
"""An empty G2G_DISABLED should not trigger the disabled check."""
|
|
198
|
+
env = _base_env(tmp_path)
|
|
199
|
+
env["G2G_DISABLED"] = ""
|
|
200
|
+
|
|
201
|
+
result = runner.invoke(app, [], env=env)
|
|
202
|
+
assert result.exit_code == 0
|
|
203
|
+
output = _get_combined_output(result)
|
|
204
|
+
assert "GitHub2Gerrit is disabled" not in output
|
|
205
|
+
assert "Validation complete" in output
|
|
206
|
+
|
|
207
|
+
|
|
159
208
|
def test_parses_pr_number_and_returns_zero(tmp_path: Path) -> None:
|
|
160
209
|
env = _base_env(tmp_path)
|
|
161
210
|
# Ensure non-conflicting options and sane defaults
|
|
@@ -266,61 +266,61 @@ toml = [
|
|
|
266
266
|
|
|
267
267
|
[[package]]
|
|
268
268
|
name = "cryptography"
|
|
269
|
-
version = "46.0.
|
|
269
|
+
version = "46.0.6"
|
|
270
270
|
source = { registry = "https://pypi.org/simple" }
|
|
271
271
|
dependencies = [
|
|
272
272
|
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
|
|
273
273
|
]
|
|
274
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
275
|
-
wheels = [
|
|
276
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
277
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
278
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
279
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
280
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
281
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
282
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
283
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
284
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
285
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
286
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
287
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
288
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
289
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
290
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
291
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
292
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
293
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
294
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
295
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
296
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
297
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
298
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
299
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
300
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
301
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
302
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
303
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
304
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
305
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
306
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
307
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
308
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
309
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
310
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
311
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
312
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
313
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
314
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
315
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
316
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
317
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
318
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
319
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
320
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
321
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
322
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
323
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
274
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a4/ba/04b1bd4218cbc58dc90ce967106d51582371b898690f3ae0402876cc4f34/cryptography-46.0.6.tar.gz", hash = "sha256:27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759", size = 750542, upload-time = "2026-03-25T23:34:53.396Z" }
|
|
275
|
+
wheels = [
|
|
276
|
+
{ url = "https://files.pythonhosted.org/packages/47/23/9285e15e3bc57325b0a72e592921983a701efc1ee8f91c06c5f0235d86d9/cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8", size = 7176401, upload-time = "2026-03-25T23:33:22.096Z" },
|
|
277
|
+
{ url = "https://files.pythonhosted.org/packages/60/f8/e61f8f13950ab6195b31913b42d39f0f9afc7d93f76710f299b5ec286ae6/cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30", size = 4275275, upload-time = "2026-03-25T23:33:23.844Z" },
|
|
278
|
+
{ url = "https://files.pythonhosted.org/packages/19/69/732a736d12c2631e140be2348b4ad3d226302df63ef64d30dfdb8db7ad1c/cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a", size = 4425320, upload-time = "2026-03-25T23:33:25.703Z" },
|
|
279
|
+
{ url = "https://files.pythonhosted.org/packages/d4/12/123be7292674abf76b21ac1fc0e1af50661f0e5b8f0ec8285faac18eb99e/cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175", size = 4278082, upload-time = "2026-03-25T23:33:27.423Z" },
|
|
280
|
+
{ url = "https://files.pythonhosted.org/packages/5b/ba/d5e27f8d68c24951b0a484924a84c7cdaed7502bac9f18601cd357f8b1d2/cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463", size = 4926514, upload-time = "2026-03-25T23:33:29.206Z" },
|
|
281
|
+
{ url = "https://files.pythonhosted.org/packages/34/71/1ea5a7352ae516d5512d17babe7e1b87d9db5150b21f794b1377eac1edc0/cryptography-46.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97", size = 4457766, upload-time = "2026-03-25T23:33:30.834Z" },
|
|
282
|
+
{ url = "https://files.pythonhosted.org/packages/01/59/562be1e653accee4fdad92c7a2e88fced26b3fdfce144047519bbebc299e/cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c", size = 3986535, upload-time = "2026-03-25T23:33:33.02Z" },
|
|
283
|
+
{ url = "https://files.pythonhosted.org/packages/d6/8b/b1ebfeb788bf4624d36e45ed2662b8bd43a05ff62157093c1539c1288a18/cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507", size = 4277618, upload-time = "2026-03-25T23:33:34.567Z" },
|
|
284
|
+
{ url = "https://files.pythonhosted.org/packages/dd/52/a005f8eabdb28df57c20f84c44d397a755782d6ff6d455f05baa2785bd91/cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19", size = 4890802, upload-time = "2026-03-25T23:33:37.034Z" },
|
|
285
|
+
{ url = "https://files.pythonhosted.org/packages/ec/4d/8e7d7245c79c617d08724e2efa397737715ca0ec830ecb3c91e547302555/cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738", size = 4457425, upload-time = "2026-03-25T23:33:38.904Z" },
|
|
286
|
+
{ url = "https://files.pythonhosted.org/packages/1d/5c/f6c3596a1430cec6f949085f0e1a970638d76f81c3ea56d93d564d04c340/cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c", size = 4405530, upload-time = "2026-03-25T23:33:40.842Z" },
|
|
287
|
+
{ url = "https://files.pythonhosted.org/packages/7e/c9/9f9cea13ee2dbde070424e0c4f621c091a91ffcc504ffea5e74f0e1daeff/cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f", size = 4667896, upload-time = "2026-03-25T23:33:42.781Z" },
|
|
288
|
+
{ url = "https://files.pythonhosted.org/packages/ad/b5/1895bc0821226f129bc74d00eccfc6a5969e2028f8617c09790bf89c185e/cryptography-46.0.6-cp311-abi3-win32.whl", hash = "sha256:bcb87663e1f7b075e48c3be3ecb5f0b46c8fc50b50a97cf264e7f60242dca3f2", size = 3026348, upload-time = "2026-03-25T23:33:45.021Z" },
|
|
289
|
+
{ url = "https://files.pythonhosted.org/packages/c3/f8/c9bcbf0d3e6ad288b9d9aa0b1dee04b063d19e8c4f871855a03ab3a297ab/cryptography-46.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:6739d56300662c468fddb0e5e291f9b4d084bead381667b9e654c7dd81705124", size = 3483896, upload-time = "2026-03-25T23:33:46.649Z" },
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/01/41/3a578f7fd5c70611c0aacba52cd13cb364a5dee895a5c1d467208a9380b0/cryptography-46.0.6-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:2ef9e69886cbb137c2aef9772c2e7138dc581fad4fcbcf13cc181eb5a3ab6275", size = 7117147, upload-time = "2026-03-25T23:33:48.249Z" },
|
|
291
|
+
{ url = "https://files.pythonhosted.org/packages/fa/87/887f35a6fca9dde90cad08e0de0c89263a8e59b2d2ff904fd9fcd8025b6f/cryptography-46.0.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7f417f034f91dcec1cb6c5c35b07cdbb2ef262557f701b4ecd803ee8cefed4f4", size = 4266221, upload-time = "2026-03-25T23:33:49.874Z" },
|
|
292
|
+
{ url = "https://files.pythonhosted.org/packages/aa/a8/0a90c4f0b0871e0e3d1ed126aed101328a8a57fd9fd17f00fb67e82a51ca/cryptography-46.0.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d24c13369e856b94892a89ddf70b332e0b70ad4a5c43cf3e9cb71d6d7ffa1f7b", size = 4408952, upload-time = "2026-03-25T23:33:52.128Z" },
|
|
293
|
+
{ url = "https://files.pythonhosted.org/packages/16/0b/b239701eb946523e4e9f329336e4ff32b1247e109cbab32d1a7b61da8ed7/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:aad75154a7ac9039936d50cf431719a2f8d4ed3d3c277ac03f3339ded1a5e707", size = 4270141, upload-time = "2026-03-25T23:33:54.11Z" },
|
|
294
|
+
{ url = "https://files.pythonhosted.org/packages/0f/a8/976acdd4f0f30df7b25605f4b9d3d89295351665c2091d18224f7ad5cdbf/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3c21d92ed15e9cfc6eb64c1f5a0326db22ca9c2566ca46d845119b45b4400361", size = 4904178, upload-time = "2026-03-25T23:33:55.725Z" },
|
|
295
|
+
{ url = "https://files.pythonhosted.org/packages/b1/1b/bf0e01a88efd0e59679b69f42d4afd5bced8700bb5e80617b2d63a3741af/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:4668298aef7cddeaf5c6ecc244c2302a2b8e40f384255505c22875eebb47888b", size = 4441812, upload-time = "2026-03-25T23:33:57.364Z" },
|
|
296
|
+
{ url = "https://files.pythonhosted.org/packages/bb/8b/11df86de2ea389c65aa1806f331cae145f2ed18011f30234cc10ca253de8/cryptography-46.0.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8ce35b77aaf02f3b59c90b2c8a05c73bac12cea5b4e8f3fbece1f5fddea5f0ca", size = 3963923, upload-time = "2026-03-25T23:33:59.361Z" },
|
|
297
|
+
{ url = "https://files.pythonhosted.org/packages/91/e0/207fb177c3a9ef6a8108f234208c3e9e76a6aa8cf20d51932916bd43bda0/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c89eb37fae9216985d8734c1afd172ba4927f5a05cfd9bf0e4863c6d5465b013", size = 4269695, upload-time = "2026-03-25T23:34:00.909Z" },
|
|
298
|
+
{ url = "https://files.pythonhosted.org/packages/21/5e/19f3260ed1e95bced52ace7501fabcd266df67077eeb382b79c81729d2d3/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:ed418c37d095aeddf5336898a132fba01091f0ac5844e3e8018506f014b6d2c4", size = 4869785, upload-time = "2026-03-25T23:34:02.796Z" },
|
|
299
|
+
{ url = "https://files.pythonhosted.org/packages/10/38/cd7864d79aa1d92ef6f1a584281433419b955ad5a5ba8d1eb6c872165bcb/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:69cf0056d6947edc6e6760e5f17afe4bea06b56a9ac8a06de9d2bd6b532d4f3a", size = 4441404, upload-time = "2026-03-25T23:34:04.35Z" },
|
|
300
|
+
{ url = "https://files.pythonhosted.org/packages/09/0a/4fe7a8d25fed74419f91835cf5829ade6408fd1963c9eae9c4bce390ecbb/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e7304c4f4e9490e11efe56af6713983460ee0780f16c63f219984dab3af9d2d", size = 4397549, upload-time = "2026-03-25T23:34:06.342Z" },
|
|
301
|
+
{ url = "https://files.pythonhosted.org/packages/5f/a0/7d738944eac6513cd60a8da98b65951f4a3b279b93479a7e8926d9cd730b/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b928a3ca837c77a10e81a814a693f2295200adb3352395fad024559b7be7a736", size = 4651874, upload-time = "2026-03-25T23:34:07.916Z" },
|
|
302
|
+
{ url = "https://files.pythonhosted.org/packages/cb/f1/c2326781ca05208845efca38bf714f76939ae446cd492d7613808badedf1/cryptography-46.0.6-cp314-cp314t-win32.whl", hash = "sha256:97c8115b27e19e592a05c45d0dd89c57f81f841cc9880e353e0d3bf25b2139ed", size = 3001511, upload-time = "2026-03-25T23:34:09.892Z" },
|
|
303
|
+
{ url = "https://files.pythonhosted.org/packages/c9/57/fe4a23eb549ac9d903bd4698ffda13383808ef0876cc912bcb2838799ece/cryptography-46.0.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c797e2517cb7880f8297e2c0f43bb910e91381339336f75d2c1c2cbf811b70b4", size = 3471692, upload-time = "2026-03-25T23:34:11.613Z" },
|
|
304
|
+
{ url = "https://files.pythonhosted.org/packages/c4/cc/f330e982852403da79008552de9906804568ae9230da8432f7496ce02b71/cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a", size = 7162776, upload-time = "2026-03-25T23:34:13.308Z" },
|
|
305
|
+
{ url = "https://files.pythonhosted.org/packages/49/b3/dc27efd8dcc4bff583b3f01d4a3943cd8b5821777a58b3a6a5f054d61b79/cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8", size = 4270529, upload-time = "2026-03-25T23:34:15.019Z" },
|
|
306
|
+
{ url = "https://files.pythonhosted.org/packages/e6/05/e8d0e6eb4f0d83365b3cb0e00eb3c484f7348db0266652ccd84632a3d58d/cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77", size = 4414827, upload-time = "2026-03-25T23:34:16.604Z" },
|
|
307
|
+
{ url = "https://files.pythonhosted.org/packages/2f/97/daba0f5d2dc6d855e2dcb70733c812558a7977a55dd4a6722756628c44d1/cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290", size = 4271265, upload-time = "2026-03-25T23:34:18.586Z" },
|
|
308
|
+
{ url = "https://files.pythonhosted.org/packages/89/06/fe1fce39a37ac452e58d04b43b0855261dac320a2ebf8f5260dd55b201a9/cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410", size = 4916800, upload-time = "2026-03-25T23:34:20.561Z" },
|
|
309
|
+
{ url = "https://files.pythonhosted.org/packages/ff/8a/b14f3101fe9c3592603339eb5d94046c3ce5f7fc76d6512a2d40efd9724e/cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d", size = 4448771, upload-time = "2026-03-25T23:34:22.406Z" },
|
|
310
|
+
{ url = "https://files.pythonhosted.org/packages/01/b3/0796998056a66d1973fd52ee89dc1bb3b6581960a91ad4ac705f182d398f/cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70", size = 3978333, upload-time = "2026-03-25T23:34:24.281Z" },
|
|
311
|
+
{ url = "https://files.pythonhosted.org/packages/c5/3d/db200af5a4ffd08918cd55c08399dc6c9c50b0bc72c00a3246e099d3a849/cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d", size = 4271069, upload-time = "2026-03-25T23:34:25.895Z" },
|
|
312
|
+
{ url = "https://files.pythonhosted.org/packages/d7/18/61acfd5b414309d74ee838be321c636fe71815436f53c9f0334bf19064fa/cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa", size = 4878358, upload-time = "2026-03-25T23:34:27.67Z" },
|
|
313
|
+
{ url = "https://files.pythonhosted.org/packages/8b/65/5bf43286d566f8171917cae23ac6add941654ccf085d739195a4eacf1674/cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58", size = 4448061, upload-time = "2026-03-25T23:34:29.375Z" },
|
|
314
|
+
{ url = "https://files.pythonhosted.org/packages/e0/25/7e49c0fa7205cf3597e525d156a6bce5b5c9de1fd7e8cb01120e459f205a/cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb", size = 4399103, upload-time = "2026-03-25T23:34:32.036Z" },
|
|
315
|
+
{ url = "https://files.pythonhosted.org/packages/44/46/466269e833f1c4718d6cd496ffe20c56c9c8d013486ff66b4f69c302a68d/cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72", size = 4659255, upload-time = "2026-03-25T23:34:33.679Z" },
|
|
316
|
+
{ url = "https://files.pythonhosted.org/packages/0a/09/ddc5f630cc32287d2c953fc5d32705e63ec73e37308e5120955316f53827/cryptography-46.0.6-cp38-abi3-win32.whl", hash = "sha256:7f6690b6c55e9c5332c0b59b9c8a3fb232ebf059094c17f9019a51e9827df91c", size = 3010660, upload-time = "2026-03-25T23:34:35.418Z" },
|
|
317
|
+
{ url = "https://files.pythonhosted.org/packages/1b/82/ca4893968aeb2709aacfb57a30dec6fa2ab25b10fa9f064b8882ce33f599/cryptography-46.0.6-cp38-abi3-win_amd64.whl", hash = "sha256:79e865c642cfc5c0b3eb12af83c35c5aeff4fa5c672dc28c43721c2c9fdd2f0f", size = 3471160, upload-time = "2026-03-25T23:34:37.191Z" },
|
|
318
|
+
{ url = "https://files.pythonhosted.org/packages/2e/84/7ccff00ced5bac74b775ce0beb7d1be4e8637536b522b5df9b73ada42da2/cryptography-46.0.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:2ea0f37e9a9cf0df2952893ad145fd9627d326a59daec9b0802480fa3bcd2ead", size = 3475444, upload-time = "2026-03-25T23:34:38.944Z" },
|
|
319
|
+
{ url = "https://files.pythonhosted.org/packages/bc/1f/4c926f50df7749f000f20eede0c896769509895e2648db5da0ed55db711d/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a3e84d5ec9ba01f8fd03802b2147ba77f0c8f2617b2aff254cedd551844209c8", size = 4218227, upload-time = "2026-03-25T23:34:40.871Z" },
|
|
320
|
+
{ url = "https://files.pythonhosted.org/packages/c6/65/707be3ffbd5f786028665c3223e86e11c4cda86023adbc56bd72b1b6bab5/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:12f0fa16cc247b13c43d56d7b35287ff1569b5b1f4c5e87e92cc4fcc00cd10c0", size = 4381399, upload-time = "2026-03-25T23:34:42.609Z" },
|
|
321
|
+
{ url = "https://files.pythonhosted.org/packages/f3/6d/73557ed0ef7d73d04d9aba745d2c8e95218213687ee5e76b7d236a5030fc/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:50575a76e2951fe7dbd1f56d181f8c5ceeeb075e9ff88e7ad997d2f42af06e7b", size = 4217595, upload-time = "2026-03-25T23:34:44.205Z" },
|
|
322
|
+
{ url = "https://files.pythonhosted.org/packages/9e/c5/e1594c4eec66a567c3ac4400008108a415808be2ce13dcb9a9045c92f1a0/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:90e5f0a7b3be5f40c3a0a0eafb32c681d8d2c181fc2a1bdabe9b3f611d9f6b1a", size = 4380912, upload-time = "2026-03-25T23:34:46.328Z" },
|
|
323
|
+
{ url = "https://files.pythonhosted.org/packages/1a/89/843b53614b47f97fe1abc13f9a86efa5ec9e275292c457af1d4a60dc80e0/cryptography-46.0.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6728c49e3b2c180ef26f8e9f0a883a2c585638db64cf265b49c9ba10652d430e", size = 3409955, upload-time = "2026-03-25T23:34:48.465Z" },
|
|
324
324
|
]
|
|
325
325
|
|
|
326
326
|
[[package]]
|
|
@@ -636,7 +636,7 @@ sdist = { url = "https://files.pythonhosted.org/packages/73/6a/25fe59e806ff48d25
|
|
|
636
636
|
|
|
637
637
|
[[package]]
|
|
638
638
|
name = "pygithub"
|
|
639
|
-
version = "2.
|
|
639
|
+
version = "2.9.0"
|
|
640
640
|
source = { registry = "https://pypi.org/simple" }
|
|
641
641
|
dependencies = [
|
|
642
642
|
{ name = "pyjwt", extra = ["crypto"] },
|
|
@@ -645,9 +645,9 @@ dependencies = [
|
|
|
645
645
|
{ name = "typing-extensions" },
|
|
646
646
|
{ name = "urllib3" },
|
|
647
647
|
]
|
|
648
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
648
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/9a/44f918e9be12e49cb8b053f09d5d0733b74df52bf4dabc570da1c3ecd9f6/pygithub-2.9.0.tar.gz", hash = "sha256:a26abda1222febba31238682634cad11d8b966137ed6cc3c5e445b29a11cb0a4", size = 2592289, upload-time = "2026-03-22T21:14:39.053Z" }
|
|
649
649
|
wheels = [
|
|
650
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
650
|
+
{ url = "https://files.pythonhosted.org/packages/2f/de/72e02bc7674e161b155a4b5a03b2347129d0626115bc97ba5bad5070cac9/pygithub-2.9.0-py3-none-any.whl", hash = "sha256:5e2b260ce327bffce9b00f447b65953ef7078ffe93e5a5425624a3075483927c", size = 449653, upload-time = "2026-03-22T21:14:37.726Z" },
|
|
651
651
|
]
|
|
652
652
|
|
|
653
653
|
[[package]]
|
|
@@ -726,16 +726,16 @@ wheels = [
|
|
|
726
726
|
|
|
727
727
|
[[package]]
|
|
728
728
|
name = "pytest-cov"
|
|
729
|
-
version = "7.
|
|
729
|
+
version = "7.1.0"
|
|
730
730
|
source = { registry = "https://pypi.org/simple" }
|
|
731
731
|
dependencies = [
|
|
732
732
|
{ name = "coverage", extra = ["toml"] },
|
|
733
733
|
{ name = "pluggy" },
|
|
734
734
|
{ name = "pytest" },
|
|
735
735
|
]
|
|
736
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
736
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" }
|
|
737
737
|
wheels = [
|
|
738
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
738
|
+
{ url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" },
|
|
739
739
|
]
|
|
740
740
|
|
|
741
741
|
[[package]]
|
|
@@ -978,14 +978,14 @@ wheels = [
|
|
|
978
978
|
|
|
979
979
|
[[package]]
|
|
980
980
|
name = "types-requests"
|
|
981
|
-
version = "2.32.4.
|
|
981
|
+
version = "2.32.4.20260324"
|
|
982
982
|
source = { registry = "https://pypi.org/simple" }
|
|
983
983
|
dependencies = [
|
|
984
984
|
{ name = "urllib3" },
|
|
985
985
|
]
|
|
986
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
986
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6c/b1/66bafdc85965e5aa3db42e1b9128bf8abe252edd7556d00a07ef437a3e0e/types_requests-2.32.4.20260324.tar.gz", hash = "sha256:33a2a9ccb1de7d4e4da36e347622c35418f6761269014cc32857acabd5df739e", size = 23765, upload-time = "2026-03-24T04:06:35.106Z" }
|
|
987
987
|
wheels = [
|
|
988
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
988
|
+
{ url = "https://files.pythonhosted.org/packages/5b/5a/ce5999f9bd72c7fac681d26cd0a5782b379053bfc2214e2a3fbe30852c9e/types_requests-2.32.4.20260324-py3-none-any.whl", hash = "sha256:f83ef2deb284fe99a249b8b0b0a3e4b9809e01ff456063c4df0aac7670c07ab9", size = 20735, upload-time = "2026-03-24T04:06:33.9Z" },
|
|
989
989
|
]
|
|
990
990
|
|
|
991
991
|
[[package]]
|
|
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-1.1.0 → github2gerrit-1.2.0}/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
|
{github2gerrit-1.1.0 → github2gerrit-1.2.0}/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
|
{github2gerrit-1.1.0 → github2gerrit-1.2.0}/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
|