Skip to content

Commit

Permalink
Merge branch 'main' into pr/1575
Browse files Browse the repository at this point in the history
  • Loading branch information
mayeut committed Sep 22, 2024
2 parents e199d3b + 6238f5b commit 3bd48ee
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 71 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- '.github/workflows/update-dependencies.yml'
workflow_dispatch:
schedule:
- cron: '0 18 * * 0' # "At 18:00 on Sunday."
- cron: '0 18 * * 5' # "At 18:00 on Friday."

env:
FORCE_COLOR: '1'
Expand All @@ -28,7 +28,7 @@ jobs:
git config --global user.email "89297709+manylinux-bot[bot]@users.noreply.github.com"
# we use this step to grab a Github App auth token, so that lastversion can query GitHub API
# without rate-limit and PRs get run by GHA.
- uses: tibdex/github-app-token@v2
- uses: actions/create-github-app-token@v1
id: generate-token
if: github.ref == 'refs/heads/main' && github.repository == 'pypa/manylinux'
with:
Expand All @@ -53,7 +53,6 @@ jobs:
PR generated by "Update dependencies" [workflow](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}).
branch: update-dependencies-pr
committer: "manylinux-bot[bot] <89297709+manylinux-bot[bot]@users.noreply.github.com>"
author: "manylinux-bot[bot] <89297709+manylinux-bot[bot]@users.noreply.github.com>"
sign-commits: true
token: ${{ steps.generate-token.outputs.token }}
delete-branch: true
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements-base-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ pipx==1.7.1 \
--hash=sha256:3933c43bb344e649cb28e10d357e0967ce8572f1c19caf90cf39ae95c2a0afaf \
--hash=sha256:762de134e16a462be92645166d225ecef446afaef534917f5f70008d63584360
# via -r requirements-base-tools.in
platformdirs==4.3.3 \
--hash=sha256:50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5 \
--hash=sha256:d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0
platformdirs==4.3.6 \
--hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \
--hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
# via pipx
userpath==1.9.2 \
--hash=sha256:2cbf01a23d655a1ff8fc166dfb78da1b641d1ceabf0fe5f970767d380b14e89d \
Expand Down
38 changes: 19 additions & 19 deletions docker/build_scripts/requirements-tools/uv
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# This file was autogenerated by uv via the following command:
# nox -s update_python_dependencies
uv==0.4.10 \
--hash=sha256:0784f75093a75390d8d480cc8a444516e78f08849db9a13c21791a5f651df4a1 \
--hash=sha256:0f8b9ba4ecfbea343a00e46d509669606e55fe233d800752c4c25650473df358 \
--hash=sha256:1b6b6c6b8cc0c4e54ab25e3b46e49d1e583e26c194572eb42bfeebf71b39cca2 \
--hash=sha256:1ff5130b6f3af79c4e47f63db03215aed15e78cb4f1f51682af6f9949c2bcf00 \
--hash=sha256:2ff29a2f55a697e78d787a41ab41d4b26421d200728289b88b6241d3b486c436 \
--hash=sha256:30d1f8348a2b18e21a35c97ce42528781f242d0303881fc92fbacdcb653c8bca \
--hash=sha256:3be73788db9ceacb94a521cf67ca5cc08bac512aef71145b904ab62a3acabdae \
--hash=sha256:444e1cdb36d7ef103e52185f918800527c255dc369c9f90eb1f198dfa3f4d5bc \
--hash=sha256:6ba1cc3070e5c63ce0a1421fbed28bd1b3ff520671d7badda11a501504c78394 \
--hash=sha256:8fa510dfbbde4f8ad5cd2769568c7b0c3e867b74deaf4beabcca79e74e7550cc \
--hash=sha256:97a1187e11a9df70d55bc577721ad4a19441cda56e4d69fb2f38d88c7650d2a0 \
--hash=sha256:99954a94dd6c4bff8a9a963c05bc3988214ea39e7511a52fda35112e1a478447 \
--hash=sha256:a9dc1f8fca5c4a2f73054d9f56c7397e9fc6ba43baefc503d6f0128d72ea662f \
--hash=sha256:b89dfd213359a23797155ff8175e5202ed6b84aadeb20df92132127608d46acf \
--hash=sha256:bc87d6c581cfed0979e0f5ee93383d46006c6d4a5e4eb9f43ef13bce61b50cc2 \
--hash=sha256:bc99e6b45303f0881a8dc199f0b7ea8261dd1779e576e8477a7721ceeeaafcc7 \
--hash=sha256:e99e3f761875962942e0743b868bd666021d5e14c3df494e820ef8f45fb88578 \
--hash=sha256:ff9046a8c5e836e892ac7741e672ee016e92e55c659fa8195595df65a1f3accf
uv==0.4.15 \
--hash=sha256:04858bfd551fabe1635127d9a0afe5c62e1e7d56cf309a9674840c90bfc1f21e \
--hash=sha256:0e9b78f1a800a4cfdfbdc9ff4e5d4cce34af770f8a1f2b9416b161f294eb3703 \
--hash=sha256:1401e73f0e8df62b4cfbf394e65a75f18b73bf8a94a6c5653a55bd6fdb8e1bc3 \
--hash=sha256:1bb79cb06be9bb25a1bf8641bf34593f64a96b3ba66ebd8712954f647d9faa24 \
--hash=sha256:21a3cedb2276d635543a10a11c61f75c6e387110e23e90cdb6c6dd2e1f3c9453 \
--hash=sha256:27884429b7fed371fe1fcbe829659c4a259463d0ecacb7891d800e4754b5f24c \
--hash=sha256:4e40deb2cf2cb403dbaf65209d49c45462ebbb1bff290d4c18b902b5b385cdc9 \
--hash=sha256:6eef6881abf9b858020ffd23f4e5d77423329da2d4a1bc0af6613c2f698c369a \
--hash=sha256:7fcf7f3812dd173d39273e99fb2abb0814be6133e7a721baa424cbcfd25b483b \
--hash=sha256:8d45295757f66d1913e5917c06f1974745adad842403d419362491939be889a6 \
--hash=sha256:8e36b8e07595fc6216d01e729c81a0b4ff029a93cc2ef987a73d3b650d6d559c \
--hash=sha256:9822fa4db0d8d50abf5eebe081c01666a98120455090d0b71463d01d5d4153c1 \
--hash=sha256:9e28141883c0aa8525ad5418e519d8791b7dd75f35020d3b1457db89346c5dc8 \
--hash=sha256:a5920ff4d114025c51d3f925130ca3b0fad277631846b1109347c24948b29159 \
--hash=sha256:be46b37b569e3c8ffb7d78022bcc0eadeb987109f709c1cec01b00c261ed9595 \
--hash=sha256:cf7d554656bb8c5b7710300e04d86ab5137ebdd31fe309d66860a9d474b385f8 \
--hash=sha256:d16ae6b97eb77f478dfe51d6eb3627048d3f47bd04282d3006e6a212e541dba0 \
--hash=sha256:e32137ba8202b1291e879e8145113bfb543fcc992b5f043852a96d803788b83c
# via -r .nox/update_python_dependencies/tmp/uv.in
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements3.10.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ pyproject-hooks==1.1.0 \
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
# via build
setuptools==75.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:25af69c809d9334cd8e653d385277abeb5a102dca255954005a7092d282575ea \
--hash=sha256:791ae94f04f78c880b5e614e560dd32d4b4af5d151bd9e7483e3377846caf90a
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \
--hash=sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538
# via -r requirements.in
tomli==2.0.1 ; python_full_version < '3.11' \
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
Expand Down
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements3.11.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ pyproject-hooks==1.1.0 \
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
# via build
setuptools==75.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:25af69c809d9334cd8e653d385277abeb5a102dca255954005a7092d282575ea \
--hash=sha256:791ae94f04f78c880b5e614e560dd32d4b4af5d151bd9e7483e3377846caf90a
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \
--hash=sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538
# via -r requirements.in
wheel==0.44.0 ; python_full_version < '3.13' \
--hash=sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f \
Expand Down
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements3.12.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ pyproject-hooks==1.1.0 \
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
# via build
setuptools==75.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:25af69c809d9334cd8e653d385277abeb5a102dca255954005a7092d282575ea \
--hash=sha256:791ae94f04f78c880b5e614e560dd32d4b4af5d151bd9e7483e3377846caf90a
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \
--hash=sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538
# via -r requirements.in
wheel==0.44.0 ; python_full_version < '3.13' \
--hash=sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f \
Expand Down
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements3.8.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ pyproject-hooks==1.1.0 \
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
# via build
setuptools==75.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:25af69c809d9334cd8e653d385277abeb5a102dca255954005a7092d282575ea \
--hash=sha256:791ae94f04f78c880b5e614e560dd32d4b4af5d151bd9e7483e3377846caf90a
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \
--hash=sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538
# via -r requirements.in
tomli==2.0.1 ; python_full_version < '3.11' \
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
Expand Down
6 changes: 3 additions & 3 deletions docker/build_scripts/requirements3.9.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ pyproject-hooks==1.1.0 \
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
# via build
setuptools==75.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:25af69c809d9334cd8e653d385277abeb5a102dca255954005a7092d282575ea \
--hash=sha256:791ae94f04f78c880b5e614e560dd32d4b4af5d151bd9e7483e3377846caf90a
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \
--hash=sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538
# via -r requirements.in
tomli==2.0.1 ; python_full_version < '3.11' \
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
Expand Down
48 changes: 18 additions & 30 deletions tests/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,6 @@ set -exuo pipefail
# Get script directory
MY_DIR=$(dirname "${BASH_SOURCE[0]}")

if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
PACKAGE_MANAGER=yum
elif [ "${AUDITWHEEL_POLICY:0:10}" == "musllinux_" ]; then
PACKAGE_MANAGER=apk
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_34" ]; then
PACKAGE_MANAGER=dnf
else
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
exit 1
fi

if [ "${AUDITWHEEL_POLICY:0:10}" == "musllinux_" ]; then
EXPECTED_PYTHON_COUNT=9
EXPECTED_PYTHON_COUNT_ALL=9
Expand All @@ -32,6 +21,14 @@ else
EXPECTED_PYTHON_COUNT_ALL=9
fi
fi

# the following environment variable allows other manylinux-like projects to run
# the same tests as manylinux without the same number of CPython installations
if [ "${ADJUST_CPYTHON_COUNT:-}" != "" ]; then
EXPECTED_PYTHON_COUNT=$(( ${EXPECTED_PYTHON_COUNT} ${ADJUST_CPYTHON_COUNT} ))
EXPECTED_PYTHON_COUNT_ALL=$(( ${EXPECTED_PYTHON_COUNT_ALL} ${ADJUST_CPYTHON_COUNT} ))
fi

PYTHON_COUNT=$(manylinux-interpreters list --installed | wc -l)
if [ ${EXPECTED_PYTHON_COUNT} -ne ${PYTHON_COUNT} ]; then
echo "unexpected number of default python installations: ${PYTHON_COUNT}, expecting ${EXPECTED_PYTHON_COUNT}"
Expand Down Expand Up @@ -65,7 +62,7 @@ for PYTHON in /opt/python/*/bin/python; do
if [ "${IMPLEMENTATION}" == "cpython" ]; then
# Make sure sqlite3 module can be loaded properly and is the manylinux version one
# c.f. https://github.com/pypa/manylinux/issues/1030
$PYTHON -c 'import sqlite3; print(sqlite3.sqlite_version); assert sqlite3.sqlite_version_info[0:2] >= (3, 34)'
$PYTHON -c 'import sqlite3; print(sqlite3.sqlite_version); assert sqlite3.sqlite_version_info[0:2] >= (3, 31)'
# Make sure tkinter module can be loaded properly
$PYTHON -c 'import tkinter; print(tkinter.TkVersion); assert tkinter.TkVersion >= 8.6'
# cpython shall be available as python
Expand Down Expand Up @@ -120,9 +117,6 @@ if [ ${EXPECTED_PYTHON_COUNT_ALL} -ne ${PYTHON_COUNT} ]; then
exit 1
fi

# we stopped installing sqlite3 in manylinux_2_34
SQLITE_PREFIX=$(find /opt/_internal -maxdepth 1 -name 'sqlite*')

# minimal tests for tools that should be present
auditwheel --version
autoconf --version
Expand All @@ -132,32 +126,26 @@ patchelf --version
git --version
cmake --version
swig -version
if [ "${SQLITE_PREFIX}" == "" ]; then
sqlite3 --version
fi
pipx run nox --version
pipx install --pip-args='--no-python-version-warning --no-input' nox
nox --version
tar --version | grep "GNU tar"
# we stopped installing sqlite3 after manylinux_2_28 / musllinux_1_2
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
sqlite3 --version
fi

# check libcrypt.so.1 can be loaded by some system packages,
# as LD_LIBRARY_PATH might not be enough.
# c.f. https://github.com/pypa/manylinux/issues/1022
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
yum -y install openssh-clients
elif [ "${PACKAGE_MANAGER}" == "apk" ]; then
apk add --no-cache openssh-client
elif [ "${PACKAGE_MANAGER}" == "dnf" ]; then
dnf -y install --allowerasing openssh-clients
else
echo "Unsupported package manager: '${PACKAGE_MANAGER}'"
exit 1
eval "$(ssh-agent)"
eval "$(ssh-agent -k)"
fi
eval "$(ssh-agent)"
eval "$(ssh-agent -k)"

if [ "${SQLITE_PREFIX}" == "" ]; then
# compilation tests, intended to ensure appropriate headers, pkg_config, etc.
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
# sqlite compilation tests, intended to ensure appropriate headers, pkg_config, etc.
# are available for downstream compile against installed tools
source_dir="${MY_DIR}/ctest"
build_dir="$(mktemp -d)"
Expand Down

0 comments on commit 3bd48ee

Please sign in to comment.