Repository navigation
Use shared localization submission and pull-only release imports - #609
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lation checkout support ## Shared pull-only release localization This PR replaces the unused unmerged Azure English extraction/submission machinery with an opt-in pullLocalization interface on both public release wrappers. It invokes the same Python core as the public GitHub composite action in microsoft/vscode-common-python-lsp#125 rather than maintaining a second importer. - Consumers declare translations (private drop dev) and localizationTools (reviewed immutable common-LSP SHA), with literal Github-Pylance endpoints. - Source stays at workspace/s; tools and translations are sibling checkouts outside extension source. - Run the shared importer after caller build/pre-built overlays and before final VSIX packaging. - Keep the default self SDL scan, explicitly include executable tooling, and exclude translation data. Additional caller exclusions remain supported; sourceAnalysisPool preserves original caller pools. - Derive canonical IDs and optional runtime metadata. Require all locales and per-table real-language translation evidence before copying; allow individual untranslated strings. - No release-side English extraction, app write-token acquisition, Git pushes, or translation-update PRs. Existing signing/setup PowerShell is intentionally unchanged. - Preserve opt-out callers, platform/version parameters, stable manual validation, and publication gates. Azure expansion can persist checkout credentials; no claim is made otherwise. ## Verification and rollout Actual YAML-reading guards and shared Python/Git fixtures passed. Both release entry points for seven enabled repositories expanded successfully with publishing explicitly disabled. Both environments definitions are disabled; their exact YAML also expanded through the enabled isort definition without enabling or modifying those definitions. All expanded platform jobs preserve import order, source paths, SDL scanning, and publication gates. Shared core CI and the actual isort GitHub submission action passed. Shared dependency: microsoft/vscode-common-python-lsp#125 Pilot: microsoft/vscode-isort#777 Sibling draft PRs: - debugger: microsoft/vscode-python-debugger#1134 - environments: microsoft/vscode-python-environments#1971 - pylint: microsoft/vscode-pylint#915 - flake8: microsoft/vscode-flake8#609 - autopep8 (including runtime l10n): microsoft/vscode-autopep8#415 - mypy: microsoft/vscode-mypy#651 - black-formatter: microsoft/vscode-black-formatter#833 Keep this PR and callers draft pending dependencies, credential setup, and real handbacks. Current drop blocks isort (English-only), environments (missing canonical output), and flake8/mypy/black (missing runtime tables). Debugger, pylint, and autopep8 passed actual manifest/runtime imports from current drop. Autopep8 runtime ...
|
🔒 Automated review in progress — Rich Chiodo (@rchiodo) is auto-reviewing this PR. |
|
Result: Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: Changed-YAML formatting, three executable configuration guards, and VSCE selection of all 28 generated locale files passed in the container. The PR adds no tests. Python version tests could not start because of reviewer-environment dependency gaps; no PR-caused failure was demonstrated. Actual English submission, Azure template expansion, translation-readiness validation, and release imports remain unverified, so confidence is limited to local configuration and packaging selection. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `freezegun (no version constraint declared)`, `pytest==9.1.1` to the official reviewer dependency declarations, using `noxfile.py`, `src/test/python_tests/requirements.txt` as the dependency/version evidence. Do not automatically create that PR. This is reviewer environment maintenance, not a required change to the reviewed PR. Test runs: 3 passed, 2 failed, 1 not run
|
|
Result: Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: Caller-level YAML guards passed for the shared action pin, pull-only release configuration, preserved build steps, triggers, feeds, and version flags. Formatting passed, and VSCE selected all 28 synthetic generated locale files despite Git ignores. The PR adds no tests. Release-version tests could not run because the declared freezegun dependency was unavailable offline. Actual shared-action execution, Azure template expansion, translation import, and readiness validation remain unverified. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `freezegun (no version constraint declared)` to the official reviewer dependency declarations, using `noxfile.py` as the dependency/version evidence. Do not automatically create that PR. This is reviewer environment maintenance, not a required change to the reviewed PR. Test runs: 4 passed, 1 failed, 2 not run
|
Rich Chiodo (rchiodo)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Result: Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: The production extension build, changed-YAML formatting checks, and targeted configuration assertions passed in the container. Offline Node dependency restoration also succeeded. The generated-locale packaging check failed during VSCE dependency enumeration (`npm ELSPROBLEMS`), before file inclusion could be verified; no PR-caused defect was established. No tests were added by this PR. Shared-action execution, Azure template expansion, and real-handback readiness remain unverified. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `freezegun (unconstrained)` to the official reviewer dependency declarations, using `noxfile.py` as the dependency/version evidence. Do not automatically create that PR. This is reviewer environment maintenance, not a required change to the reviewed PR. Test runs: 4 passed, 1 failed, 2 not run
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Result: Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: Targeted YAML checks passed for the pinned action, pull-only release configuration, preserved build steps, feeds, version flags, and publication parameters. VSCE included all 28 generated locale files plus the English manifest, and changed YAML formatting passed. Existing versioning tests could not collect because the reviewer environment lacks the declared freezegun dependency; no PR-caused failure was demonstrated. No tests were added by this PR, and credentialed submission, remote Azure template execution, and translation-readiness enforcement remain unverified. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `freezegun` to the official reviewer dependency declarations, using `noxfile.py` as the dependency/version evidence. Do not automatically create that PR. This is reviewer environment maintenance, not a required change to the reviewed PR. Test runs: 5 passed, 1 failed, 1 not run
❌
|
Summary
Shared dependencies
The GitHub action and Azure tooling checkout are pinned to d1877b84bb10ff7caa6bd12ab4e75498ba760790. Azure templates temporarily reference the shared feature branch for verification; switch to Pylance-Eng main after the dependency merges, before merging this caller.
Verification
Executable guards read the actual YAML and preserve existing triggers, build steps, publication defaults, validation contacts, version flags, and matrices. Both release YAMLs expanded with publishing explicitly disabled (environments used the enabled validation definition because its native definitions are disabled). Actual English export used the pinned CLI through the internal feed. Changed YAML/JSON formatting and whitespace checks passed.
Required setup and release blockers
Current canonical handback lacks required runtime tables; submit complete English and wait for runtime translations.
No repository-level PYTHON_LOCALIZATION_APP_ID variable or PYTHON_LOCALIZATION_PRIVATE_KEY secret is currently visible here. Organization-level access could not be verified with current permissions. Configure or expose them through the owners; do not copy credentials between repositories. Authorize Github-Pylance for both release resources/pipelines.
Keep this PR draft while dependencies/setup/handbacks are pending. No merge or publication is requested.