From db8d0cb5aa7f45702353602126384d2a21f45683 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 19 Jan 2025 11:08:18 +0100 Subject: [PATCH] ci: check non-eol versions of PyPy are available on all runners --- .github/workflows/test-pypy.yml | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/.github/workflows/test-pypy.yml b/.github/workflows/test-pypy.yml index 716f7501..e3c7012a 100644 --- a/.github/workflows/test-pypy.yml +++ b/.github/workflows/test-pypy.yml @@ -69,6 +69,60 @@ jobs: ${EXECUTABLE} --version shell: bash + check-non-eol: + name: Check non-eol ${{ matrix.pypy }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: + - macos-13 + - macos-14 + - macos-15 + - windows-2019 + - windows-2022 + - windows-2025 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-24.04 + - ubuntu-22.04-arm + - ubuntu-24.04-arm + pypy: ['pypy-2.7', 'pypy-3.10'] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: setup-python ${{ matrix.pypy }} + id: setup-python + uses: ./ + with: + python-version: ${{ matrix.pypy }} + + - name: Check python-path + run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' + shell: bash + + - name: PyPy and Python version + run: python --version + + - name: Run simple code + run: python -c 'import math; print(math.factorial(5))' + + - name: Assert PyPy is running + run: | + import platform + assert platform.python_implementation().lower() == "pypy" + shell: python + + - name: Assert expected binaries (or symlinks) are present + run: | + EXECUTABLE=${{ matrix.pypy }} + EXECUTABLE=${EXECUTABLE/pypy-/pypy} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name + EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe + ${EXECUTABLE} --version + shell: bash + setup-pypy-noenv: name: Setup PyPy ${{ matrix.pypy }} ${{ matrix.os }} (noenv) runs-on: ${{ matrix.os }}