Skip to content

CI: Migrate Python 3.10 testing to Posix GHA/Azure Pipelines #45120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jan 17, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
190 changes: 99 additions & 91 deletions .github/workflows/python-dev.yml
Original file line number Diff line number Diff line change
@@ -1,92 +1,100 @@
name: Python Dev
# This file is purposely frozen. DO NOT DELETE IT
# Unfreeze once the next Python Dev version has released beta 1
# and both Cython and numpy support it
# After that Python has released, migrate the workflows to the
# posix GHA workflows/Azure pipelines and "freeze" this file by
# commenting it out.
# Feel free to modify this comment as necessary.

on:
push:
branches:
- master
- 1.3.x
pull_request:
branches:
- master
- 1.3.x
paths-ignore:
- "doc/**"

env:
PYTEST_WORKERS: "auto"
PANDAS_CI: 1
PATTERN: "not slow and not network and not clipboard"
COVERAGE: true
PYTEST_TARGET: pandas

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]

name: actions-310-dev
timeout-minutes: 80

concurrency:
#https://github.community/t/concurrecy-not-work-for-push/183068/7
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev
cancel-in-progress: true

steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Set up Python Dev Version
uses: actions/setup-python@v2
with:
python-version: '3.10-dev'

# TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip "setuptools<60.0.0" wheel
pip install -i https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy
pip install git+https://github.com/nedbat/coveragepy.git
pip install cython python-dateutil pytz hypothesis pytest>=6.2.5 pytest-xdist pytest-cov
pip list

- name: Build Pandas
run: |
python setup.py build_ext -q -j2
python -m pip install -e . --no-build-isolation --no-use-pep517

- name: Build Version
run: |
python -c "import pandas; pandas.show_versions();"

- name: Test with pytest
shell: bash
run: |
ci/run_tests.sh

- name: Publish test results
uses: actions/upload-artifact@master
with:
name: Test results
path: test-data.xml
if: failure()

- name: Print skipped tests
run: |
python ci/print_skipped.py

- name: Report Coverage
run: |
coverage report -m

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
flags: unittests
name: codecov-pandas
fail_ci_if_error: true
#name: Python Dev
#
#on:
# push:
# branches:
# - master
# - 1.3.x
# pull_request:
# branches:
# - master
# - 1.3.x
# paths-ignore:
# - "doc/**"
#
#env:
# PYTEST_WORKERS: "auto"
# PANDAS_CI: 1
# PATTERN: "not slow and not network and not clipboard"
# COVERAGE: true
# PYTEST_TARGET: pandas
#
#jobs:
# build:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, macOS-latest, windows-latest]
#
# name: actions-310-dev
# timeout-minutes: 80
#
# concurrency:
# #https://github.community/t/concurrecy-not-work-for-push/183068/7
# group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev
# cancel-in-progress: true
#
# steps:
# - uses: actions/checkout@v2
# with:
# fetch-depth: 0
#
# - name: Set up Python Dev Version
# uses: actions/setup-python@v2
# with:
# python-version: '3.11-dev'
#
# # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941
# - name: Install dependencies
# shell: bash
# run: |
# python -m pip install --upgrade pip "setuptools<60.0.0" wheel
# pip install -i https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy
# pip install git+https://github.com/nedbat/coveragepy.git
# pip install cython python-dateutil pytz hypothesis pytest>=6.2.5 pytest-xdist pytest-cov
# pip list
#
# - name: Build Pandas
# run: |
# python setup.py build_ext -q -j2
# python -m pip install -e . --no-build-isolation --no-use-pep517
#
# - name: Build Version
# run: |
# python -c "import pandas; pandas.show_versions();"
#
# - name: Test with pytest
# shell: bash
# run: |
# ci/run_tests.sh
#
# - name: Publish test results
# uses: actions/upload-artifact@master
# with:
# name: Test results
# path: test-data.xml
# if: failure()
#
# - name: Print skipped tests
# run: |
# python ci/print_skipped.py
#
# - name: Report Coverage
# run: |
# coverage report -m
#
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v2
# with:
# flags: unittests
# name: codecov-pandas
# fail_ci_if_error: true
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: pandas-dev
channels:
- defaults
dependencies:
- python=3.9
- python=3.10

# tools
- pytest>=6.0
Expand Down
41 changes: 41 additions & 0 deletions ci/deps/actions-310-slow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: pandas-dev
channels:
- defaults
- conda-forge
dependencies:
- python=3.10

# tools
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
- hypothesis>=5.5.3

# pandas dependencies
- beautifulsoup4
- bottleneck
- boto3
- fsspec>=0.8.0
- gcsfs
- html5lib
- jinja2
- lxml
- matplotlib
- numba
- numexpr
- numpy
- openpyxl
- pyarrow>2.0.1
- pytables
- python-dateutil
- pytz
- s3fs>=0.4.2
- scipy
- sqlalchemy
- xlrd
- xlsxwriter
- xlwt
- pyreadstat
- pyxlsb
- zstandard
40 changes: 40 additions & 0 deletions ci/deps/actions-310.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: pandas-dev
channels:
- conda-forge
dependencies:
- python=3.10

# tools
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
- hypothesis>=5.5.3

# pandas dependencies
- beautifulsoup4
- bottleneck
- boto3
- fsspec>=0.8.0
- gcsfs
- html5lib
- jinja2
- lxml
- matplotlib
- numpy # move up to solve before numba
- numba
- numexpr
- openpyxl
- pyarrow>2.0.1
- pytables
- python-dateutil
- pytz
- s3fs>=0.4.2
- scipy
- sqlalchemy
- xlrd
- xlsxwriter
- xlwt
- pyreadstat
- pyxlsb
- zstandard
36 changes: 36 additions & 0 deletions ci/deps/azure-macos-310.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: pandas-dev
channels:
- defaults
- conda-forge
dependencies:
- python=3.10

# tools
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
- pytest-azurepipelines

# pandas dependencies
- beautifulsoup4
- bottleneck
- html5lib
- jinja2
- lxml
- matplotlib=3.3.2
- nomkl
- numexpr
- numpy=1.21.3
- openpyxl
- pyarrow=1.0.1
- pyreadstat
- pytables
- python-dateutil==2.8.1
- pytz
- pyxlsb
- xarray
- xlrd
- xlsxwriter
- xlwt
- zstandard
4 changes: 1 addition & 3 deletions ci/deps/azure-macos-38.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
Expand Down Expand Up @@ -33,6 +34,3 @@ dependencies:
- xlsxwriter
- xlwt
- zstandard
- pip
- pip:
- cython>=0.29.24
36 changes: 36 additions & 0 deletions ci/deps/azure-macos-39.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: pandas-dev
channels:
- defaults
- conda-forge
dependencies:
- python=3.9

# tools
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
- pytest-azurepipelines

# pandas dependencies
- beautifulsoup4
- bottleneck
- html5lib
- jinja2
- lxml
- matplotlib=3.3.2
- nomkl
- numexpr
- numpy=1.21.3
- openpyxl
- pyarrow=1.0.1
- pyreadstat
- pytables
- python-dateutil==2.8.1
- pytz
- pyxlsb
- xarray
- xlrd
- xlsxwriter
- xlwt
- zstandard
Loading