From 293798582a905c4225d0222eaf048f353e600bb8 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 13 Dec 2025 17:51:26 +0300 Subject: [PATCH 1/5] CI: build: - EOL 3.9, + 3.13 --- .github/workflows/macos_build.yml | 2 +- .github/workflows/ubuntu_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 543b46d9..60cc840c 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -10,11 +10,11 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" + - "3.14" runs-on: macos-latest steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/ubuntu_build.yml b/.github/workflows/ubuntu_build.yml index 99bf5fc6..00a7ffac 100644 --- a/.github/workflows/ubuntu_build.yml +++ b/.github/workflows/ubuntu_build.yml @@ -10,11 +10,11 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" + - "3.14" runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From f19fe0f2be6014304cad03bd2ecb57a6a2f9c7d8 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 13 Dec 2025 17:51:51 +0300 Subject: [PATCH 2/5] CI: tests: + macos-15 --- .github/workflows/pyenv_tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pyenv_tests.yml b/.github/workflows/pyenv_tests.yml index 32694106..2f55b51d 100644 --- a/.github/workflows/pyenv_tests.yml +++ b/.github/workflows/pyenv_tests.yml @@ -13,6 +13,7 @@ jobs: - ubuntu-24.04 - ubuntu-22.04 - macos-15-intel + - macos-15 - macos-14 runs-on: ${{ matrix.os }} steps: From 9b85239875593d6cdbea230bb7fdddcf7974d9fe Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 13 Dec 2025 17:52:53 +0300 Subject: [PATCH 3/5] CI: - commented-out code --- .github/workflows/macos_build.yml | 5 ----- .github/workflows/pyenv_tests.yml | 10 ---------- .github/workflows/ubuntu_build.yml | 5 ----- 3 files changed, 20 deletions(-) diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 60cc840c..7223278c 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -18,11 +18,6 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v6 - # Normally, we would use the superbly maintained... - # - uses: actions/setup-python@v2 - # with: - # python-version: ${{ matrix.python-version }} - # ... but in the repo, we want to test pyenv builds on macOS - run: | brew install openssl readline sqlite3 xz tcl-tk@8 libb2 zstd # https://github.com/pyenv/pyenv#installation diff --git a/.github/workflows/pyenv_tests.yml b/.github/workflows/pyenv_tests.yml index 2f55b51d..8e8794d5 100644 --- a/.github/workflows/pyenv_tests.yml +++ b/.github/workflows/pyenv_tests.yml @@ -18,16 +18,6 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 - # Normally, we would use the superbly maintained... - # - uses: actions/setup-python@v2 - # with: - # python-version: ${{ matrix.python-version }} - # ... but in the repo, we want to test pyenv builds on Ubuntu - # - run: | - # sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \ - # libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ - # xz-utils tk-dev libffi-dev liblzma-dev python-openssl git - # https://github.com/pyenv/pyenv#installation - run: | if test "$RUNNER_OS" == "macOS"; then brew install coreutils fish diff --git a/.github/workflows/ubuntu_build.yml b/.github/workflows/ubuntu_build.yml index 00a7ffac..9ba4513d 100644 --- a/.github/workflows/ubuntu_build.yml +++ b/.github/workflows/ubuntu_build.yml @@ -18,11 +18,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - # Normally, we would use the superbly maintained... - # - uses: actions/setup-python@v2 - # with: - # python-version: ${{ matrix.python-version }} - # ... but in the repo, we want to test pyenv builds on Ubuntu - run: | sudo apt-get update -q; sudo apt install -yq make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl \ From 4b33cb68b6b14b2017f48b339cf3dc7561135a82 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 13 Dec 2025 18:04:15 +0300 Subject: [PATCH 4/5] CI: - Micropython-specific code from CPython-only branches --- .github/workflows/modified_scripts_build.yml | 62 +++++++------------- 1 file changed, 20 insertions(+), 42 deletions(-) diff --git a/.github/workflows/modified_scripts_build.yml b/.github/workflows/modified_scripts_build.yml index ffbf0ba7..71dd3cb3 100644 --- a/.github/workflows/modified_scripts_build.yml +++ b/.github/workflows/modified_scripts_build.yml @@ -121,33 +121,22 @@ jobs: pyenv --debug install ${{ matrix.python-version }} && rc=$? || rc=$? if [[ $rc -ne 0 ]]; then echo config.log:; cat $TMPDIR/python-build*/*/config.log; false; fi pyenv global ${{ matrix.python-version }} - # Micropython doesn't support --version - run: | #print version - 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 + python --version + python -m pip --version - env: EXPECTED_PYTHON: ${{ matrix.python-version }} run: | #check - 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 + 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' # bundled executables in some Anaconda releases cause the post-run step to hang in MacOS - run: | pyenv global system @@ -245,30 +234,19 @@ jobs: pyenv --debug install ${{ matrix.python-version }} && rc=$? || rc=$? if [[ $rc -ne 0 ]]; then echo config.log:; cat $TMPDIR/python-build*/*/config.log; false; fi pyenv global ${{ matrix.python-version }} - # Micropython doesn't support --version - run: | #print version - 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 + python --version + python -m pip --version - env: EXPECTED_PYTHON: ${{ matrix.python-version }} run: | #check - 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 + 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' From dabaa901e9352e9250f6c1be029789d532161ccd Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 13 Dec 2025 18:07:37 +0300 Subject: [PATCH 5/5] CI: - Ubuntu 18.04 workaround --- .github/workflows/pyenv_tests.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/pyenv_tests.yml b/.github/workflows/pyenv_tests.yml index 8e8794d5..f9e10924 100644 --- a/.github/workflows/pyenv_tests.yml +++ b/.github/workflows/pyenv_tests.yml @@ -21,9 +21,6 @@ jobs: - run: | if test "$RUNNER_OS" == "macOS"; then brew install coreutils fish - elif [[ $(lsb_release -sr | awk -F. '{print $1}') -ge 20 ]]; then - # Ubuntu 18 has fish 2 which lacks many features that facilitate testing - sudo apt install fish -yq fi - run: pwd - env: