diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index b0a2427732a6a..8eae98972de20 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -26,7 +26,7 @@ jobs: timeout-minutes: 180 strategy: matrix: - env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml] + env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml, actions-312.yaml] # Prevent the include jobs from overriding other jobs pattern: [""] include: @@ -69,6 +69,10 @@ jobs: env_file: actions-311.yaml pattern: "not slow and not network and not single_cpu" pandas_copy_on_write: "1" + - name: "Copy-on-Write 3.12" + env_file: actions-312.yaml + pattern: "not slow and not network and not single_cpu" + pandas_copy_on_write: "1" - name: "Pypy" env_file: actions-pypy-39.yaml pattern: "not slow and not network and not single_cpu" @@ -177,7 +181,7 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest] - env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml] + env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml, actions-312.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} @@ -308,7 +312,7 @@ jobs: # To freeze this file, uncomment out the ``if: false`` condition, and migrate the jobs # to the corresponding posix/windows-macos/sdist etc. workflows. # Feel free to modify this comment as necessary. - #if: false # Uncomment this to freeze the workflow, comment it to unfreeze + if: false # Uncomment this to freeze the workflow, comment it to unfreeze defaults: run: shell: bash -eou pipefail {0} @@ -339,7 +343,7 @@ jobs: - name: Set up Python Dev Version uses: actions/setup-python@v4 with: - python-version: '3.12-dev' + python-version: '3.13-dev' - name: Build Environment run: | diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml index a28bc6d0f5395..c67c4555bb263 100644 --- a/ci/deps/actions-311.yaml +++ b/ci/deps/actions-311.yaml @@ -45,7 +45,7 @@ dependencies: - pyarrow>=7.0.0 - pymysql>=1.0.2 - pyreadstat>=1.1.5 - # - pytables>=3.7.0, 3.8.0 is first version that supports 3.11 + - pytables>=3.7.0 - python-calamine>=0.1.6 - pyxlsb>=1.0.9 - s3fs>=2022.05.0 diff --git a/ci/deps/actions-312.yaml b/ci/deps/actions-312.yaml new file mode 100644 index 0000000000000..130e8728f12a4 --- /dev/null +++ b/ci/deps/actions-312.yaml @@ -0,0 +1,70 @@ +name: pandas-dev +channels: + - conda-forge +dependencies: + - python=3.12 + + # build dependencies + - versioneer[toml] + - cython>=0.29.33, <3.0.3 + - meson[ninja]=1.2.1 + - meson-python=0.13.1 + + # test dependencies + - pytest>=7.3.2 + - pytest-cov + - pytest-xdist>=2.2.0 + - pytest-asyncio>=0.17.0 + - pytest-localserver>=0.7.1 + - boto3 + + # required dependencies + - python-dateutil + - numpy + - pytz + + # optional dependencies + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 + - html5lib>=1.1 + - hypothesis>=6.46.1 + # This depends on aiohttp which doesn't support Python 3.12 + # - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 + # Need to unpin matplotlib from < 3.8 to get 3.12 support + #- matplotlib>=3.6.1, <3.8 + # No numba Python 3.12 support yet + #- numba>=0.55.2 + - numexpr>=2.8.0 + - odfpy>=1.4.1 + - qtpy>=2.2.0 + - openpyxl>=3.0.10 + # Disable pandas-gbq since it pins pyarrow and other deps + # to a version that doesn't support Python 3.12 + #- pandas-gbq>=0.17.5 + # No psycopg2 Python 3.12 support yet + #- psycopg2>=2.9.3 + - pyarrow>=7.0.0 + - pymysql>=1.0.2 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + # No calamine Python 3.12 support yet + #- python-calamine>=0.1.6 + - pyxlsb>=1.0.9 + # This depends on aiohttp which doesn't support Python 3.12 + #- s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 + - xlrd>=2.0.1 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 + + - pip: + - pyqt5>=5.15.6 + - tzdata>=2022.1