diff --git a/.github/workflows/modified_scripts_build.yml b/.github/workflows/modified_scripts_build.yml index a34056ed..f3ae23b5 100644 --- a/.github/workflows/modified_scripts_build.yml +++ b/.github/workflows/modified_scripts_build.yml @@ -40,20 +40,31 @@ jobs: - run: | pyenv install ${{ matrix.python-version }} pyenv global ${{ matrix.python-version }} - - run: | - python --version - python -m pip --version - - shell: python # Prove that actual Python == expected Python - env: + # Micropython doesn't support --version + - run: > + if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then + 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 }} run: | - import os, sys, os.path - correct_dir = os.path.join( - os.environ['PYENV_ROOT'], - 'versions', - os.environ['EXPECTED_PYTHON'], - 'bin') - assert os.path.dirname(sys.executable) == correct_dir + if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then + [[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1 + python -c 'import sys; assert sys.implementation.name == "micropython"' + else + python -c 'if True: + import os, sys, os.path + 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 - run: | pyenv global system @@ -82,16 +93,28 @@ jobs: - run: | pyenv install ${{ matrix.python-version }} pyenv global ${{ matrix.python-version }} - - run: python --version - - run: python -m pip --version - - shell: python # Prove that actual Python == expected Python - env: + # Micropython doesn't support --version + - run: > + if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then + 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 }} run: | - import os, sys, os.path - correct_dir = os.path.join( - os.environ['PYENV_ROOT'], - 'versions', - os.environ['EXPECTED_PYTHON'], - 'bin') - assert os.path.dirname(sys.executable) == correct_dir + if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then + [[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1 + python -c 'import sys; assert sys.implementation.name == "micropython"' + else + python -c 'if True: + import os, sys, os.path + correct_dir = os.path.join( + os.environ["PYENV_ROOT"], + "versions", + os.environ["EXPECTED_PYTHON"], + "bin") + assert os.path.dirname(sys.executable) == correct_dir' + fi