From 21fbd23c967a84ece08f466a965b36aaf337808c Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 12 Apr 2023 15:42:53 -0700 Subject: [PATCH 1/4] CI: Remove Pypy build --- .github/workflows/ubuntu.yml | 11 ---------- ci/deps/actions-pypy-38.yaml | 27 ------------------------ ci/run_tests.sh | 6 +----- scripts/validate_min_versions_in_sync.py | 2 +- 4 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 ci/deps/actions-pypy-38.yaml diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 97ca346142ec1..29c8e58b8b61e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -64,10 +64,6 @@ jobs: env_file: actions-38.yaml pattern: "not slow and not network and not single_cpu" pandas_data_manager: "array" - - name: "Pypy" - env_file: actions-pypy-38.yaml - pattern: "not slow and not network and not single_cpu" - test_args: "--max-worker-restart 0" - name: "Numpy Dev" env_file: actions-310-numpydev.yaml pattern: "not slow and not network and not single_cpu" @@ -92,9 +88,6 @@ jobs: TEST_ARGS: ${{ matrix.test_args || '' }} PYTEST_WORKERS: 'auto' PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }} - IS_PYPY: ${{ contains(matrix.env_file, 'pypy') }} - # TODO: re-enable coverage on pypy, its slow - COVERAGE: ${{ !contains(matrix.env_file, 'pypy') }} concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_data_manager || '' }} @@ -163,16 +156,12 @@ jobs: - name: Test (not single_cpu) uses: ./.github/actions/run-tests - # TODO: Don't continue on error for PyPy - continue-on-error: ${{ env.IS_PYPY == 'true' }} env: # Set pattern to not single_cpu if not already set PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }} - name: Test (single_cpu) uses: ./.github/actions/run-tests - # TODO: Don't continue on error for PyPy - continue-on-error: ${{ env.IS_PYPY == 'true' }} env: PATTERN: 'single_cpu' PYTEST_WORKERS: 1 diff --git a/ci/deps/actions-pypy-38.yaml b/ci/deps/actions-pypy-38.yaml deleted file mode 100644 index 981399dcd4b7c..0000000000000 --- a/ci/deps/actions-pypy-38.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: pandas-dev -channels: - - conda-forge -dependencies: - # TODO: Add the rest of the dependencies in here - # once the other plentiful failures/segfaults - # with base pandas has been dealt with - - python=3.8[build=*_pypy] # TODO: use this once pypy3.8 is available - - # build dependencies - - versioneer[toml] - - cython>=0.29.33 - - # test dependencies - - pytest>=7.0.0 - - pytest-cov - - pytest-asyncio>=0.17.0 - - pytest-xdist>=2.2.0 - - hypothesis>=6.46.1 - - # required - - numpy - - python-dateutil - - pytz - - - pip: - - tzdata>=2022.1 diff --git a/ci/run_tests.sh b/ci/run_tests.sh index e6de5caf955fc..2c6f224bdbc10 100755 --- a/ci/run_tests.sh +++ b/ci/run_tests.sh @@ -12,11 +12,7 @@ if [[ "not network" == *"$PATTERN"* ]]; then export http_proxy=http://1.2.3.4 https_proxy=http://1.2.3.4; fi -if [[ "$COVERAGE" == "true" ]]; then - COVERAGE="-s --cov=pandas --cov-report=xml --cov-append" -else - COVERAGE="" # We need to reset this for COVERAGE="false" case -fi +COVERAGE="-s --cov=pandas --cov-report=xml --cov-append" # If no X server is found, we use xvfb to emulate it if [[ $(uname) == "Linux" && -z $DISPLAY ]]; then diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index e0182ebaaee60..673435f7a8a15 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -37,7 +37,7 @@ YAML_PATH = pathlib.Path("ci/deps") ENV_PATH = pathlib.Path("environment.yml") EXCLUDE_DEPS = {"tzdata", "blosc"} -EXCLUSION_LIST = frozenset(["python=3.8[build=*_pypy]"]) +EXCLUSION_LIST = frozenset([]) # pandas package is not available # in pre-commit environment sys.path.append("pandas/compat") From 036d2107c09add3eff325aa6838465bdad8fa9b2 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 12 Apr 2023 16:49:23 -0700 Subject: [PATCH 2/4] Build but don't test pypy --- .github/workflows/ubuntu.yml | 6 ++++++ ci/deps/actions-pypy-38.yaml | 27 ++++++++++++++++++++++++ scripts/validate_min_versions_in_sync.py | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 ci/deps/actions-pypy-38.yaml diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 29c8e58b8b61e..eeb5cd1a155a7 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -64,6 +64,10 @@ jobs: env_file: actions-38.yaml pattern: "not slow and not network and not single_cpu" pandas_data_manager: "array" + - name: "Pypy" + env_file: actions-pypy-38.yaml + pattern: "not slow and not network and not single_cpu" + test_args: "--max-worker-restart 0" - name: "Numpy Dev" env_file: actions-310-numpydev.yaml pattern: "not slow and not network and not single_cpu" @@ -156,12 +160,14 @@ jobs: - name: Test (not single_cpu) uses: ./.github/actions/run-tests + if: ${{ matrix.name != "Pypy" }} env: # Set pattern to not single_cpu if not already set PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }} - name: Test (single_cpu) uses: ./.github/actions/run-tests + if: ${{ matrix.name != "Pypy" }} env: PATTERN: 'single_cpu' PYTEST_WORKERS: 1 diff --git a/ci/deps/actions-pypy-38.yaml b/ci/deps/actions-pypy-38.yaml new file mode 100644 index 0000000000000..981399dcd4b7c --- /dev/null +++ b/ci/deps/actions-pypy-38.yaml @@ -0,0 +1,27 @@ +name: pandas-dev +channels: + - conda-forge +dependencies: + # TODO: Add the rest of the dependencies in here + # once the other plentiful failures/segfaults + # with base pandas has been dealt with + - python=3.8[build=*_pypy] # TODO: use this once pypy3.8 is available + + # build dependencies + - versioneer[toml] + - cython>=0.29.33 + + # test dependencies + - pytest>=7.0.0 + - pytest-cov + - pytest-asyncio>=0.17.0 + - pytest-xdist>=2.2.0 + - hypothesis>=6.46.1 + + # required + - numpy + - python-dateutil + - pytz + + - pip: + - tzdata>=2022.1 diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 673435f7a8a15..e0182ebaaee60 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -37,7 +37,7 @@ YAML_PATH = pathlib.Path("ci/deps") ENV_PATH = pathlib.Path("environment.yml") EXCLUDE_DEPS = {"tzdata", "blosc"} -EXCLUSION_LIST = frozenset([]) +EXCLUSION_LIST = frozenset(["python=3.8[build=*_pypy]"]) # pandas package is not available # in pre-commit environment sys.path.append("pandas/compat") From e9441aeac28c820a0ce3978884d246467e0c5c64 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 12 Apr 2023 17:01:31 -0700 Subject: [PATCH 3/4] Single quotes --- .github/workflows/ubuntu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index eeb5cd1a155a7..7744241e3c0b2 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -160,14 +160,14 @@ jobs: - name: Test (not single_cpu) uses: ./.github/actions/run-tests - if: ${{ matrix.name != "Pypy" }} + if: ${{ matrix.name != 'Pypy' }} env: # Set pattern to not single_cpu if not already set PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }} - name: Test (single_cpu) uses: ./.github/actions/run-tests - if: ${{ matrix.name != "Pypy" }} + if: ${{ matrix.name != 'Pypy' }} env: PATTERN: 'single_cpu' PYTEST_WORKERS: 1 From f7baee504a7fef25f4a52707b6b3a83af3861302 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 12 Apr 2023 17:03:51 -0700 Subject: [PATCH 4/4] Remove redundant if --- .github/workflows/ubuntu.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 7744241e3c0b2..e84427a31b64a 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -167,7 +167,6 @@ jobs: - name: Test (single_cpu) uses: ./.github/actions/run-tests - if: ${{ matrix.name != 'Pypy' }} env: PATTERN: 'single_cpu' PYTEST_WORKERS: 1