CI: Support Micropython

This commit is contained in:
Ivan Pozdeev 2022-09-03 02:20:24 +03:00
parent 13f273188d
commit 7c1e3a710c

View file

@ -40,20 +40,31 @@ jobs:
- run: | - run: |
pyenv install ${{ matrix.python-version }} pyenv install ${{ matrix.python-version }}
pyenv global ${{ matrix.python-version }} pyenv global ${{ matrix.python-version }}
- run: | # Micropython doesn't support --version
python --version - run: >
python -m pip --version if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
- shell: python # Prove that actual Python == expected Python python -c 'import sys; print(sys.version)'
env: else
python --version;
python -m pip --version
fi
# Micropython doesn't support sys.executable, os.path, older versions even os
- env:
EXPECTED_PYTHON: ${{ matrix.python-version }} EXPECTED_PYTHON: ${{ matrix.python-version }}
run: | run: |
import os, sys, os.path if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
correct_dir = os.path.join( [[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
os.environ['PYENV_ROOT'], python -c 'import sys; assert sys.implementation.name == "micropython"'
'versions', else
os.environ['EXPECTED_PYTHON'], python -c 'if True:
'bin') import os, sys, os.path
assert os.path.dirname(sys.executable) == correct_dir correct_dir = os.path.join(
os.environ["PYENV_ROOT"],
"versions",
os.environ["EXPECTED_PYTHON"],
"bin")
assert os.path.dirname(sys.executable) == correct_dir'
fi
# bundled executables in some Anaconda releases cause the post-run step to hang in MacOS # bundled executables in some Anaconda releases cause the post-run step to hang in MacOS
- run: | - run: |
pyenv global system pyenv global system
@ -82,16 +93,28 @@ jobs:
- run: | - run: |
pyenv install ${{ matrix.python-version }} pyenv install ${{ matrix.python-version }}
pyenv global ${{ matrix.python-version }} pyenv global ${{ matrix.python-version }}
- run: python --version # Micropython doesn't support --version
- run: python -m pip --version - run: >
- shell: python # Prove that actual Python == expected Python if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
env: python -c 'import sys; print(sys.version)'
else
python --version;
python -m pip --version
fi
# Micropython doesn't support sys.executable, os.path, older versions even os
- env:
EXPECTED_PYTHON: ${{ matrix.python-version }} EXPECTED_PYTHON: ${{ matrix.python-version }}
run: | run: |
import os, sys, os.path if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
correct_dir = os.path.join( [[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
os.environ['PYENV_ROOT'], python -c 'import sys; assert sys.implementation.name == "micropython"'
'versions', else
os.environ['EXPECTED_PYTHON'], python -c 'if True:
'bin') import os, sys, os.path
assert os.path.dirname(sys.executable) == correct_dir correct_dir = os.path.join(
os.environ["PYENV_ROOT"],
"versions",
os.environ["EXPECTED_PYTHON"],
"bin")
assert os.path.dirname(sys.executable) == correct_dir'
fi