From 86bcf19870189a1d2ef18384283a97a2ca3dde3b Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 11:53:20 -0800 Subject: [PATCH 01/11] BLD: Add wheel builds for musllinux on aarch64 --- .circleci/config.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1c70debca0caf..07976d5c53f95 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -97,4 +97,11 @@ workflows: only: /^v.*/ matrix: parameters: - cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64", "cp312-manylinux_aarch64"] + cibw-build: ["cp39-manylinux_aarch64", + "cp310-manylinux_aarch64", + "cp311-manylinux_aarch64", + "cp312-manylinux_aarch64", + "cp39-musllinux_aarch64", + "cp310-musllinux_aarch64", + "cp311-musllinux_aarch64", + "cp312-musllinux_aarch64",] From 130adac7774fccce99f9d270f3ba5bdcce65c637 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 11:59:06 -0800 Subject: [PATCH 02/11] remove skip --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f6ba25f448540..94213b0d350c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -152,7 +152,7 @@ parentdir_prefix = "pandas-" setup = ['--vsenv'] # For Windows [tool.cibuildwheel] -skip = "cp36-* cp37-* cp38-* pp* *_i686 *_ppc64le *_s390x *-musllinux_aarch64" +skip = "cp36-* cp37-* cp38-* pp* *_i686 *_ppc64le *_s390x" build-verbosity = "3" environment = {LDFLAGS="-Wl,--strip-all"} test-requires = "hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0" From c66142da7c6465d1129a268b3fa45487f490b5a9 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:52:55 -0800 Subject: [PATCH 03/11] Update config.yml --- .circleci/config.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 07976d5c53f95..6ba139e569dd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,6 +18,44 @@ jobs: PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH LD_PRELOAD=$HOME/miniconda3/envs/pandas-dev/lib/libgomp.so.1:$LD_PRELOAD ci/run_tests.sh + linux-musl: + docker: + image: quay.io/pypa/musllinux_1_1_x86_64 + resource_class: arm.large + steps: + # - name: Checkout pandas Repo + # # actions/checkout does not work since it requires node + # run: | + # git config --global --add safe.directory $PWD + + # if [ $GITHUB_EVENT_NAME != pull_request ]; then + # git clone --recursive --branch=$GITHUB_REF_NAME https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE + # git reset --hard $GITHUB_SHA + # else + # git clone --recursive https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE + # git fetch origin $GITHUB_REF:my_ref_name + # git checkout $GITHUB_BASE_REF + # git -c user.email="you@example.com" merge --no-commit my_ref_name + # fi + - checkout + # Configure System Packages + - run: | + apk update + apk add musl-locales + # name: Build environment + - run: | + /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev + . ~/virtualenvs/pandas-dev/bin/activate + python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1 + 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 + python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror" + python -m pip list --no-cache-dir + + # Run Tests + - run: | + . ~/virtualenvs/pandas-dev/bin/activate + export PANDAS_CI=1 + python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml build-aarch64: parameters: cibw-build: From 6572cc848a2e823701be1ddf5a65b880ce9e07d8 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:54:34 -0800 Subject: [PATCH 04/11] Update config.yml --- .circleci/config.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ba139e569dd6..20835c04792e9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -127,6 +127,13 @@ workflows: equal: [ scheduled_pipeline, << pipeline.trigger_source >> ] jobs: - test-arm + test-musl: + # Don't run trigger this one when scheduled pipeline runs + when: + not: + equal: [ scheduled_pipeline, << pipeline.trigger_source >> ] + jobs: + - linux-musl build-wheels: jobs: - build-aarch64: From c1a2bfa4bf5543d8226bac6e136ec6cdc5cfdc5a Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:46:48 -0800 Subject: [PATCH 05/11] Update config.yml --- .circleci/config.yml | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 20835c04792e9..3cb2a83fdd3c2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,36 +23,18 @@ jobs: image: quay.io/pypa/musllinux_1_1_x86_64 resource_class: arm.large steps: - # - name: Checkout pandas Repo - # # actions/checkout does not work since it requires node - # run: | - # git config --global --add safe.directory $PWD - - # if [ $GITHUB_EVENT_NAME != pull_request ]; then - # git clone --recursive --branch=$GITHUB_REF_NAME https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE - # git reset --hard $GITHUB_SHA - # else - # git clone --recursive https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE - # git fetch origin $GITHUB_REF:my_ref_name - # git checkout $GITHUB_BASE_REF - # git -c user.email="you@example.com" merge --no-commit my_ref_name - # fi - checkout - # Configure System Packages - - run: | + - run: > apk update apk add musl-locales - # name: Build environment - - run: | + - run: > /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev . ~/virtualenvs/pandas-dev/bin/activate python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1 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 python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror" python -m pip list --no-cache-dir - - # Run Tests - - run: | + - run: > . ~/virtualenvs/pandas-dev/bin/activate export PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml From fafd0bafda545e212b4f8a234c167bf3aa5fd29d Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:48:20 -0800 Subject: [PATCH 06/11] syntax --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3cb2a83fdd3c2..a3510b49d4a98 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,7 +20,7 @@ jobs: ci/run_tests.sh linux-musl: docker: - image: quay.io/pypa/musllinux_1_1_x86_64 + - image: quay.io/pypa/musllinux_1_1_x86_64 resource_class: arm.large steps: - checkout From 02c5441d7ba0977681924d3f223f825acc4b2fb2 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:49:49 -0800 Subject: [PATCH 07/11] change img --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3510b49d4a98..d74563b2d3206 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,7 +20,7 @@ jobs: ci/run_tests.sh linux-musl: docker: - - image: quay.io/pypa/musllinux_1_1_x86_64 + - image: quay.io/pypa/musllinux_1_1_arm64 resource_class: arm.large steps: - checkout From 57d8f5daa03b84636f82519b4ab246178f791ef5 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:51:47 -0800 Subject: [PATCH 08/11] another typo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d74563b2d3206..c6455567fe6b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,7 +20,7 @@ jobs: ci/run_tests.sh linux-musl: docker: - - image: quay.io/pypa/musllinux_1_1_arm64 + - image: quay.io/pypa/musllinux_1_1_aarch64 resource_class: arm.large steps: - checkout From f7a910246a4c684f0f77343110cf81d0b969f349 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:56:32 -0800 Subject: [PATCH 09/11] Update config.yml --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c6455567fe6b7..1f71819576dc5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,10 +23,13 @@ jobs: - image: quay.io/pypa/musllinux_1_1_aarch64 resource_class: arm.large steps: - - checkout + # Install pkgs first to have git in the image + # (needed for checkout) - run: > + apk add git apk update apk add musl-locales + - checkout - run: > /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev . ~/virtualenvs/pandas-dev/bin/activate From ba95f025bceca8043582ace087317c09d63d2606 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:00:01 -0800 Subject: [PATCH 10/11] reorder --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1f71819576dc5..af07d6a7139b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,8 +26,8 @@ jobs: # Install pkgs first to have git in the image # (needed for checkout) - run: > - apk add git apk update + apk add git apk add musl-locales - checkout - run: > From 516a0c1b9cbd3f47bbc3c05428554207a0c1ed36 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:05:21 -0800 Subject: [PATCH 11/11] correct line separator --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index af07d6a7139b0..90afb1ce29684 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,19 +25,19 @@ jobs: steps: # Install pkgs first to have git in the image # (needed for checkout) - - run: > + - run: | apk update apk add git apk add musl-locales - checkout - - run: > + - run: | /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev . ~/virtualenvs/pandas-dev/bin/activate python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1 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 python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror" python -m pip list --no-cache-dir - - run: > + - run: | . ~/virtualenvs/pandas-dev/bin/activate export PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml