add support for arm64 architecture to UsePythonVersionV0 #21733
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Adds support for ARM64 architecture when downloading or using local copies of Python binaries
Fixes #21089
Task Name
UsePythonVersionV0Description
arm64as a valid input to thearchitectureparameterarm64in task documentationarm64architectureRisk Assessment (Low / Medium / High)
Low risk, all previous functionality remains the same. Simply allows an additional architecture option.
Change Behind Feature Flag (Yes / No)
No
Tech Design / Approach
Similar approach to the
JavaToolInstallerV1task, with itsjdkArchitectureOptionparameter.Another approach would be to try and override the input architecture option if
os.arch()detects being in an ARM environment, similar to whatDockerInstallerV0does. Then consumers of this task would not need to change their input parameters when switching to ARM-based agents, but it does make the existingarchitectureparameter a bit more confusing.Documentation Changes Required (Yes/No)
Yes,
arm64needs to be documented as a valid option to thearchitectureparameterUnit Tests Added or Updated (Yes / No)
Yes
Additional Testing Performed
None yet
Logging Added/Updated (Yes/No)
No
Telemetry Added/Updated (Yes/No)
No
Rollback Scenario and Process (Yes/No)
Revert commit or roll forward with a fix
Dependency Impact Assessed and Regression Tested (Yes/No)
No
Checklist