nni/pipelines/templates/config-version.yml

63 строки
1.9 KiB
YAML

parameters:
- name: platform
type: string
- name: python_env
type: string
default: default
values:
- default
- noop
- venv
steps:
# UsePythonVersion task only works when the specific Python version is already installed.
# The following is for linux.
# Reference: https://dev.to/akaszynski/create-an-azure-self-hosted-agent-without-going-insane-173g
# We only need Python 3.7 and 3.9 for now.
# --system-site-packages is required to make packages installed with --user visible to virtualenv.
- ${{ if contains(parameters.platform, 'legacy') }}:
script: |
set -e
mkdir -p $(Agent.ToolsDirectory)/Python
cd $(Agent.ToolsDirectory)/Python
PY37_VER=$(python3.7 -c "import sys; print('.'.join([f'{val}' for val in sys.version_info[:3]]))")
mkdir $PY37_VER
ln -s $PY37_VER 3.7
cd $PY37_VER
python3.7 -m venv x64 --system-site-packages
touch x64.complete
displayName: Create Python 3.7 venv
${{ else }}:
script: |
set -e
mkdir -p $(Agent.ToolsDirectory)/Python
cd $(Agent.ToolsDirectory)/Python
PY39_VER=$(python3.9 -c "import sys; print('.'.join([f'{val}' for val in sys.version_info[:3]]))")
mkdir $PY39_VER
ln -s $PY39_VER 3.9
cd $PY39_VER
python3.9 -m venv x64 --system-site-packages
touch x64.complete
displayName: Create Python 3.9 venv
condition: and(succeeded(), eq('${{ parameters.python_env }}', 'venv'))
- task: UsePythonVersion@0
inputs:
${{ if contains(parameters.platform, 'legacy') }}:
versionSpec: 3.7
${{ else }}:
versionSpec: 3.9
displayName: Configure Python version
condition: and(succeeded(), ne('${{ parameters.python_env }}', 'noop'))
- task: NodeTool@0
inputs:
versionSpec: 18.15.0
displayName: Configure Node.js version
- script: |
python -m pip install pip==22.0.4 setuptools==62.1.0 wheel==0.37.1
displayName: Install PyPA tools