Repository navigation
Use shared localization submission and pull-only release imports - #651
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: [unavailable] Container verification could not start and local execution was not authorized for this PR HEAD: C:\Program Files\RedHat\Podman\podman.EXE --connection pyrx-automation failed: stderr: Traceback (most recent call last): File "/opt/automation-tools/sandbox_sources.py", line 107, in <module> _main() ~~~~~^^ File "/opt/automation-tools/sandbox_sources.py", line 103, in _main restore_submodules(arguments.cache, arguments.root, json.load(sys.stdin)) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/automation-tools/sandbox_sources.py", line 79, in restore_submodules raise ValueError( ...<2 lines>... ) ValueError: Submodule 'external/vscode-common-python-lsp' at ea47d519798d121fea262aaae23f0571e8f3d6da is not in the trusted image cache. Publish an image containing that protected-base commit; network fetching is disabled. Test runs: none recorded. |
|
Result: 🔴 Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: [unavailable] Container verification could not start and local execution was not authorized for this PR HEAD: C:\Program Files\RedHat\Podman\podman.EXE --connection pyrx-automation failed: stderr: Traceback (most recent call last): File "/opt/automation-tools/sandbox_sources.py", line 107, in <module> _main() ~~~~~^^ File "/opt/automation-tools/sandbox_sources.py", line 103, in _main restore_submodules(arguments.cache, arguments.root, json.load(sys.stdin)) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/automation-tools/sandbox_sources.py", line 79, in restore_submodules raise ValueError( ...<2 lines>... ) ValueError: Submodule 'external/vscode-common-python-lsp' at ea47d519798d121fea262aaae23f0571e8f3d6da is not in the trusted image cache. Publish an image containing that protected-base commit; network fetching is disabled. Test runs: none recorded. |
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: [unavailable] Container verification could not start and local execution was not authorized for this PR HEAD: C:\Program Files\RedHat\Podman\podman.EXE --connection pyrx-automation failed: stderr: Traceback (most recent call last): File "/opt/automation-tools/sandbox_sources.py", line 107, in <module> _main() ~~~~~^^ File "/opt/automation-tools/sandbox_sources.py", line 103, in _main restore_submodules(arguments.cache, arguments.root, json.load(sys.stdin)) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/automation-tools/sandbox_sources.py", line 79, in restore_submodules raise ValueError( ...<2 lines>... ) ValueError: Submodule 'external/vscode-common-python-lsp' at ea47d519798d121fea262aaae23f0571e8f3d6da is not in the trusted image cache. Publish an image containing that protected-base commit; network fetching is disabled. Test runs: none recorded. |
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: All 39 existing setup/feed tests passed in the Linux container. Targeted checks also passed for localization YAML wiring, formatting, and VSCE inclusion of all 28 generated locale files. The PR adds no tests. Shared dependency restoration hit an offline cache miss, and the pinned localization tooling, GitHub submission, Azure expansion, and real-handback readiness checks could not be exercised. Caller configuration is partially verified; end-to-end release localization remains unverified. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `serialize-javascript@7.1.1 (locked)` to the official reviewer dependency declarations, using `external/vscode-common-python-lsp/typescript/package-lock.json` 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, 2 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 ms-python.mypy-type-checker handback lacks required runtime tables. Do not select the legacy ms-python.mypy alias.
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.