Repository navigation
Share Python extension localization tooling and submission action - #125
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Live non-publishing release verification is complete for the three extensions whose current handbacks are ready:
All three exact-feature builds succeeded with publishing explicitly disabled and the publication stage skipped. Four actual VSIXs were inspected: universal artifacts for all three and debugger win32-x64. Each contains all 28 localization files and genuine German manifest/runtime translations. Debugger's full eight-platform build succeeded; autopep8's new runtime l10n wiring is verified. Release blockers remain for isort (English-only handbacks), environments (missing canonical handback; native definitions disabled), and flake8/mypy/black (missing runtime tables). Seven siblings' GitHub localization credential access still needs owner confirmation/setup. Autopep8 also has the documented pre-existing Python 3.10 hashed-requirements CI failure. Merge order: common-LSP #125, Pylance-Eng #801431, then update all eight consumer PRs to merged refs and merge only after their prerequisites are ready. No merges or extension publication were performed. |
|
🔒 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: All 29 localization regression tests passed in the container, including real bare-Git submission and no-op fixtures. Flake8, Black, and isort passed; three additional checks passed for genuine competing pushes, retry limits, and action/Python 3.10 syntax guards. No PR-caused failure was observed. Verification is partial because the pinned localization CLI was unavailable in the offline cache, preventing real extraction/import verification and end-to-end action execution. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `@vscode/l10n-dev@0.0.35` to the official reviewer dependency declarations, using `scripts/localization.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 not run
|
Rich Chiodo (rchiodo)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
Heejae Chang (heejaechang)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
…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 ...
Summary
Verification
Dependencies and release blockers
This is the shared dependency for Pylance-Eng PR 801431, vscode-isort PR 777, and seven sibling migrations. Consumers pin the same reviewed tooling/action revision; no runtime library adoption is required.
Keep the rollout draft until credentials/onboarding and handbacks are ready. Current drop validation rejects English-only isort, missing environments output, and missing runtime tables for flake8/mypy/black. Debugger, pylint, and autopep8 pass current manifest/runtime handback readiness checks. Autopep8 now enables its three existing runtime code strings. Do not merge or publish as part of this change.