11version : 2.1
22
33jobs :
4- test-arm :
4+ test-linux- arm :
55 machine :
66 image : default
77 resource_class : arm.large
88 environment :
9- ENV_FILE : ci/deps/circle-310 -arm64.yaml
9+ ENV_FILE : ci/deps/circle-311 -arm64.yaml
1010 PYTEST_WORKERS : auto
1111 PATTERN : " not single_cpu and not slow and not network and not clipboard and not arm_slow and not db"
1212 PYTEST_TARGET : " pandas"
1313 PANDAS_CI : " 1"
1414 steps :
1515 - checkout
16- - run : .circleci/setup_env.sh
17- - run : >
18- PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH
19- LD_PRELOAD=$HOME/miniconda3/envs/pandas-dev/lib/libgomp.so.1:$LD_PRELOAD
20- ci/run_tests.sh
21- linux-musl :
16+ - run :
17+ name : Install Environment and Run Tests
18+ shell : /bin/bash -exo pipefail
19+ # https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
20+ command : |
21+ MINI_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Miniforge3-24.3.0-0-Linux-aarch64.sh"
22+ wget -q $MINI_URL -O Miniforge3.sh
23+ chmod +x Miniforge3.sh
24+ MINI_DIR="$HOME/miniconda3"
25+ rm -rf $MINI_DIR
26+ ./Miniforge3.sh -b -p $MINI_DIR
27+ export PATH=$MINI_DIR/bin:$PATH
28+ conda info -a
29+ conda env create -q -n pandas-dev -f $ENV_FILE
30+ conda list -n pandas-dev
31+ source activate pandas-dev
32+ if pip show pandas 1>/dev/null; then
33+ pip uninstall -y pandas
34+ fi
35+ python -m pip install --no-build-isolation -ve . -Csetup-args="--werror"
36+ PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH
37+ sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
38+ ci/run_tests.sh
39+ test-linux-musl :
2240 docker :
2341 - image : quay.io/pypa/musllinux_1_1_aarch64
2442 resource_class : arm.large
2543 steps :
2644 # Install pkgs first to have git in the image
2745 # (needed for checkout)
28- - run : |
29- apk update
30- apk add git
31- apk add musl-locales
46+ - run :
47+ name : Install System Packages
48+ command : |
49+ apk update
50+ apk add git
51+ apk add musl-locales
3252 - checkout
33- - run : |
34- /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
35- . ~/virtualenvs/pandas-dev/bin/activate
36- python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
37- python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
38- python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
39- python -m pip list --no-cache-dir
40- - run : |
41- . ~/virtualenvs/pandas-dev/bin/activate
42- export PANDAS_CI=1
43- python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
53+ - run :
54+ name : Install Environment and Run Tests
55+ command : |
56+ /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
57+ . ~/virtualenvs/pandas-dev/bin/activate
58+ python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
59+ python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
60+ python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
61+ python -m pip list --no-cache-dir
62+ export PANDAS_CI=1
63+ python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
4464 build-aarch64 :
4565 parameters :
4666 cibw-build :
@@ -71,29 +91,30 @@ jobs:
7191 name : Build aarch64 wheels
7292 no_output_timeout : 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
7393 command : |
74- pip3 install cibuildwheel==2.15.0
75- cibuildwheel --prerelease-pythons --output-dir wheelhouse
94+ pip3 install cibuildwheel==2.20.0
95+ if [[ $CIBW_BUILD == cp313t* ]]; then
96+ # TODO: temporarily run 3.13 free threaded builds without build isolation
97+ # since we need pre-release cython
98+ CIBW_BUILD_FRONTEND="pip; args: --no-build-isolation" cibuildwheel --output-dir wheelhouse
99+ else
100+ cibuildwheel --output-dir wheelhouse
101+ fi
76102
77103 environment :
78104 CIBW_BUILD : << parameters.cibw-build >>
79105
80106 - run :
81107 name : Install Anaconda Client & Upload Wheels
108+ shell : /bin/bash -exo pipefail
82109 command : |
83- echo "Install Mambaforge"
84- MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-aarch64.sh"
85- echo "Downloading $MAMBA_URL"
86- wget -q $MAMBA_URL -O minimamba.sh
87- chmod +x minimamba.sh
88-
89- MAMBA_DIR="$HOME/miniconda3"
90- rm -rf $MAMBA_DIR
91- ./minimamba.sh -b -p $MAMBA_DIR
92-
93- export PATH=$MAMBA_DIR/bin:$PATH
94-
95- mamba install -y -c conda-forge anaconda-client
96-
110+ MINI_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Miniforge3-24.3.0-0-Linux-aarch64.sh"
111+ wget -q $MINI_URL -O Miniforge3.sh
112+ chmod +x Miniforge3.sh
113+ MINI_DIR="$HOME/miniconda3"
114+ rm -rf $MINI_DIR
115+ ./Miniforge3.sh -b -p $MINI_DIR
116+ export PATH=$MINI_DIR/bin:$PATH
117+ conda install -y -c conda-forge anaconda-client
97118 source ci/upload_wheels.sh
98119 set_upload_vars
99120 upload_wheels
@@ -107,14 +128,14 @@ workflows:
107128 not :
108129 equal : [ scheduled_pipeline, << pipeline.trigger_source >> ]
109130 jobs :
110- - test-arm
131+ - test-linux- arm
111132 test-musl :
112133 # Don't run trigger this one when scheduled pipeline runs
113134 when :
114135 not :
115136 equal : [ scheduled_pipeline, << pipeline.trigger_source >> ]
116137 jobs :
117- - linux-musl
138+ - test- linux-musl
118139 build-wheels :
119140 jobs :
120141 - build-aarch64 :
@@ -123,11 +144,13 @@ workflows:
123144 only : /^v.*/
124145 matrix :
125146 parameters :
126- cibw-build : ["cp39-manylinux_aarch64",
127- " cp310-manylinux_aarch64" ,
147+ cibw-build : ["cp310-manylinux_aarch64",
128148 " cp311-manylinux_aarch64" ,
129149 " cp312-manylinux_aarch64" ,
130- " cp39-musllinux_aarch64" ,
150+ " cp313-manylinux_aarch64" ,
151+ " cp313t-manylinux_aarch64" ,
131152 " cp310-musllinux_aarch64" ,
132153 " cp311-musllinux_aarch64" ,
133- " cp312-musllinux_aarch64" ,]
154+ " cp312-musllinux_aarch64" ,
155+ " cp313-musllinux_aarch64" ,
156+ " cp313t-musllinux_aarch64" ]
0 commit comments