diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index e0fa37f9..17f7650a 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -27,7 +27,7 @@ jobs: run: | echo $PYENV_ROOT echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - bin/pyenv install ${{ matrix.python-version }} + bin/pyenv install -v ${{ matrix.python-version }} bin/pyenv global ${{ matrix.python-version }} bin/pyenv rehash - run: python --version diff --git a/.github/workflows/modified_scripts_build.yml b/.github/workflows/modified_scripts_build.yml index 15ca6497..0544ada3 100644 --- a/.github/workflows/modified_scripts_build.yml +++ b/.github/workflows/modified_scripts_build.yml @@ -12,7 +12,7 @@ jobs: run: > versions=$(git diff "origin/$GITHUB_BASE_REF" --name-only -z | perl -ne 'BEGIN {$\="\n";$/="\0";} chomp; - if (/^plugins\/python-build\/share\/python-build\/(?:([^\/]+)|patches\/([^\/]+)\/.*)$/) + if (/^plugins\/python-build\/share\/python-build\/(?:([^\/]+)|patches\/([^\/]+)\/.*)$/ and -e $& ) { print $1.$2; }' \ | sort -u); echo -e "versions<> $GITHUB_ENV @@ -38,22 +38,33 @@ jobs: echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - run: | - pyenv install ${{ matrix.python-version }} + pyenv install -v ${{ 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 @@ -80,18 +91,30 @@ jobs: echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - run: | - pyenv install ${{ matrix.python-version }} + pyenv install -v ${{ 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 diff --git a/.github/workflows/ubuntu_build.yml b/.github/workflows/ubuntu_build.yml index a325b104..2b9a306a 100644 --- a/.github/workflows/ubuntu_build.yml +++ b/.github/workflows/ubuntu_build.yml @@ -29,7 +29,7 @@ jobs: run: | echo $PYENV_ROOT echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - bin/pyenv install ${{ matrix.python-version }} + bin/pyenv install -v ${{ matrix.python-version }} bin/pyenv global ${{ matrix.python-version }} bin/pyenv rehash - run: python --version