@@ -31,12 +31,12 @@ jobs:
3131 [actions-38-slow.yaml, "slow", "", "", "", "", ""],
3232 [actions-38-locale.yaml, "not slow and not network", "language-pack-zh-hans xsel", "zh_CN.utf8", "zh_CN.utf8", "", ""],
3333 [actions-39-slow.yaml, "slow", "", "", "", "", ""],
34+ [actions-pypy-38.yaml, "not slow and not clipboard", "", "", "", "", "--max-worker-restart 0"],
3435 [actions-39-numpydev.yaml, "not slow and not network", "xsel", "", "", "deprecate", "-W error"],
3536 [actions-39.yaml, "not slow and not clipboard", "", "", "", "", ""]
3637 ]
3738 fail-fast : false
3839 env :
39- COVERAGE : true
4040 ENV_FILE : ci/deps/${{ matrix.settings[0] }}
4141 PATTERN : ${{ matrix.settings[1] }}
4242 EXTRA_APT : ${{ matrix.settings[2] }}
4545 PANDAS_TESTING_MODE : ${{ matrix.settings[5] }}
4646 TEST_ARGS : ${{ matrix.settings[6] }}
4747 PYTEST_TARGET : pandas
48+ IS_PYPY : ${{ contains(matrix.settings[0], 'pypy') }}
49+ # TODO: re-enable coverage on pypy, its slow
50+ COVERAGE : ${{ !contains(matrix.settings[0], 'pypy') }}
4851 concurrency :
4952 # https://github.bokerqi.topmunity/t/concurrecy-not-work-for-push/183068/7
5053 group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.settings[0] }}
@@ -82,12 +85,29 @@ jobs:
8285 channel-priority : flexible
8386 environment-file : ${{ env.ENV_FILE }}
8487 use-only-tar-bz2 : true
88+ if : ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support
89+
90+ - name : Setup PyPy
91+ uses : actions/setup-python@v2.3.1
92+ with :
93+ python-version : " pypy-3.8"
94+ if : ${{ env.IS_PYPY == 'true' }}
95+
96+ - name : Setup PyPy dependencies
97+ shell : bash
98+ run : |
99+ # TODO: re-enable cov, its slowing the tests down though
100+ # TODO: Unpin Cython, the new Cython 0.29.26 is causing compilation errors
101+ pip install Cython==0.29.25 numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 hypothesis>=5.5.3
102+ if : ${{ env.IS_PYPY == 'true' }}
85103
86104 - name : Build Pandas
87105 uses : ./.github/actions/build_pandas
88106
89107 - name : Test
90108 run : ci/run_tests.sh
109+ # TODO: Don't continue on error for PyPy
110+ continue-on-error : ${{ env.IS_PYPY == 'true' }}
91111 if : always()
92112
93113 - name : Build Version
0 commit comments