[Bot] Update dependencies (#2253)
* Update dependencies * ci(fix): use tonistiigi/binfmt:qemu-v8.1.5 image for qemu * fix(test): implement retry for test_container_removed The test is flaky on some platforms. Implement retry rather than just skip. --------- Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Co-authored-by: mayeut <mayeut@users.noreply.github.com>
This commit is contained in:
co-authored by
cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
mayeut
parent
3f123af8a1
commit
318a963cc3
@@ -64,6 +64,11 @@ jobs:
|
|||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
|
with:
|
||||||
|
# This should be temporary
|
||||||
|
# xref https://github.com/docker/setup-qemu-action/issues/188
|
||||||
|
# xref https://github.com/tonistiigi/binfmt/issues/215
|
||||||
|
image: tonistiigi/binfmt:qemu-v8.1.5
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -165,6 +170,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
|
with:
|
||||||
|
# This should be temporary
|
||||||
|
# xref https://github.com/docker/setup-qemu-action/issues/188
|
||||||
|
# xref https://github.com/tonistiigi/binfmt/issues/215
|
||||||
|
image: tonistiigi/binfmt:qemu-v8.1.5
|
||||||
|
|
||||||
- name: Run the emulation tests
|
- name: Run the emulation tests
|
||||||
run: uv run pytest --run-emulation ${{ matrix.arch }} test/test_emulation.py
|
run: uv run pytest --run-emulation ${{ matrix.arch }} test/test_emulation.py
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ cmake==3.31.4
|
|||||||
# via pyodide-build
|
# via pyodide-build
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
h11==0.14.0
|
h11==0.14.0
|
||||||
# via httpcore
|
# via httpcore
|
||||||
@@ -48,11 +48,11 @@ packaging==24.2
|
|||||||
# build
|
# build
|
||||||
# pyodide-build
|
# pyodide-build
|
||||||
# unearth
|
# unearth
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r .nox/update_constraints/tmp/constraints-pyodide.in
|
# via -r .nox/update_constraints/tmp/constraints-pyodide.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
pydantic==2.10.5
|
pydantic==2.10.6
|
||||||
# via
|
# via
|
||||||
# pyodide-build
|
# pyodide-build
|
||||||
# pyodide-lock
|
# pyodide-lock
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
importlib-metadata==8.5.0
|
importlib-metadata==8.6.1
|
||||||
# via build
|
# via build
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -18,7 +18,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -16,7 +16,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -16,7 +16,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -16,7 +16,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
importlib-metadata==8.5.0
|
importlib-metadata==8.6.1
|
||||||
# via build
|
# via build
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -18,7 +18,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ delocate==0.12.0
|
|||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
distlib==0.3.9
|
distlib==0.3.9
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
filelock==3.16.1
|
filelock==3.17.0
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
macholib==1.16.3
|
macholib==1.16.3
|
||||||
# via delocate
|
# via delocate
|
||||||
@@ -16,7 +16,7 @@ packaging==24.2
|
|||||||
# via
|
# via
|
||||||
# build
|
# build
|
||||||
# delocate
|
# delocate
|
||||||
pip==24.3.1
|
pip==25.0
|
||||||
# via -r cibuildwheel/resources/constraints.in
|
# via -r cibuildwheel/resources/constraints.in
|
||||||
platformdirs==4.3.6
|
platformdirs==4.3.6
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
url = "https://nodejs.org/dist/"
|
url = "https://nodejs.org/dist/"
|
||||||
v22 = "v22.13.0"
|
v22 = "v22.13.1"
|
||||||
v20 = "v20.18.1"
|
v20 = "v20.18.2"
|
||||||
|
|||||||
@@ -1,64 +1,64 @@
|
|||||||
[x86_64]
|
[x86_64]
|
||||||
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8
|
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.24-1
|
||||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.10.26-1
|
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.10.26-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.01.24-1
|
||||||
|
|
||||||
[i686]
|
[i686]
|
||||||
manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8
|
manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
||||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.10.26-1
|
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.10.26-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.01.24-1
|
||||||
|
|
||||||
[pypy_x86_64]
|
[pypy_x86_64]
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.24-1
|
||||||
|
|
||||||
[pypy_i686]
|
[pypy_i686]
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
||||||
|
|
||||||
[aarch64]
|
[aarch64]
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.24-1
|
||||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.10.26-1
|
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.10.26-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.01.24-1
|
||||||
|
|
||||||
[ppc64le]
|
[ppc64le]
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.01.24-1
|
||||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024.10.26-1
|
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024.10.26-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.01.24-1
|
||||||
|
|
||||||
[s390x]
|
[s390x]
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.01.24-1
|
||||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.10.26-1
|
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.10.26-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.01.24-1
|
||||||
|
|
||||||
[pypy_aarch64]
|
[pypy_aarch64]
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.19-2
|
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.24-1
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
||||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.19-2
|
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.24-1
|
||||||
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.19-2
|
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.24-1
|
||||||
|
|
||||||
[armv7l]
|
[armv7l]
|
||||||
manylinux_2_31 = ghcr.io/mayeut/manylinux_2_31:2025.01.19-1
|
manylinux_2_31 = ghcr.io/mayeut/manylinux_2_31:2025.01.25-1
|
||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.01.19-2
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.01.24-1
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ title: Working examples
|
|||||||
| [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python |
|
| [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python |
|
||||||
| [PyCryptodome][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A self-contained cryptographic library for Python |
|
| [PyCryptodome][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A self-contained cryptographic library for Python |
|
||||||
| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python |
|
| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python |
|
||||||
| [PyYAML][] | ![github icon][] | ![apple icon][] | Canonical source repository for PyYAML |
|
|
||||||
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
||||||
|
| [PyYAML][] | ![github icon][] | ![apple icon][] | Canonical source repository for PyYAML |
|
||||||
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more |
|
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more |
|
||||||
| [pikepdf][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by QPDF |
|
| [pikepdf][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by QPDF |
|
||||||
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
||||||
@@ -92,8 +92,8 @@ title: Working examples
|
|||||||
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
||||||
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
|
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
|
||||||
| [streaming-form-data][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Streaming parser for multipart/form-data written in Cython |
|
| [streaming-form-data][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Streaming parser for multipart/form-data written in Cython |
|
||||||
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
|
||||||
| [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis |
|
| [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis |
|
||||||
|
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
||||||
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
||||||
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
||||||
| [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 |
|
| [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 |
|
||||||
@@ -157,8 +157,8 @@ title: Working examples
|
|||||||
[coverage.py]: https://github.com/nedbat/coveragepy
|
[coverage.py]: https://github.com/nedbat/coveragepy
|
||||||
[PyCryptodome]: https://github.com/Legrandin/pycryptodome
|
[PyCryptodome]: https://github.com/Legrandin/pycryptodome
|
||||||
[Line Profiler]: https://github.com/pyutils/line_profiler
|
[Line Profiler]: https://github.com/pyutils/line_profiler
|
||||||
[PyYAML]: https://github.com/yaml/pyyaml
|
|
||||||
[PyAV]: https://github.com/PyAV-Org/PyAV
|
[PyAV]: https://github.com/PyAV-Org/PyAV
|
||||||
|
[PyYAML]: https://github.com/yaml/pyyaml
|
||||||
[numexpr]: https://github.com/pydata/numexpr
|
[numexpr]: https://github.com/pydata/numexpr
|
||||||
[pikepdf]: https://github.com/pikepdf/pikepdf
|
[pikepdf]: https://github.com/pikepdf/pikepdf
|
||||||
[h5py]: https://github.com/h5py/h5py
|
[h5py]: https://github.com/h5py/h5py
|
||||||
@@ -202,8 +202,8 @@ title: Working examples
|
|||||||
[iDynTree]: https://github.com/robotology/idyntree
|
[iDynTree]: https://github.com/robotology/idyntree
|
||||||
[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python
|
[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python
|
||||||
[streaming-form-data]: https://github.com/siddhantgoel/streaming-form-data
|
[streaming-form-data]: https://github.com/siddhantgoel/streaming-form-data
|
||||||
[bx-python]: https://github.com/bxlab/bx-python
|
|
||||||
[power-grid-model]: https://github.com/PowerGridModel/power-grid-model
|
[power-grid-model]: https://github.com/PowerGridModel/power-grid-model
|
||||||
|
[bx-python]: https://github.com/bxlab/bx-python
|
||||||
[pybase64]: https://github.com/mayeut/pybase64
|
[pybase64]: https://github.com/mayeut/pybase64
|
||||||
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
||||||
[Python-WebRTC]: https://github.com/MarshalX/python-webrtc
|
[Python-WebRTC]: https://github.com/MarshalX/python-webrtc
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import shutil
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
|
import time
|
||||||
from contextlib import nullcontext
|
from contextlib import nullcontext
|
||||||
from pathlib import Path, PurePath, PurePosixPath
|
from pathlib import Path, PurePath, PurePosixPath
|
||||||
|
|
||||||
@@ -138,25 +139,15 @@ def test_cwd(container_engine):
|
|||||||
assert container.call(["pwd"], capture_output=True, cwd="/opt") == "/opt\n"
|
assert container.call(["pwd"], capture_output=True, cwd="/opt") == "/opt\n"
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(
|
|
||||||
pm == "s390x" and detect_ci_provider() == CIProvider.travis_ci,
|
|
||||||
reason="test is flaky on this platform, see https://github.com/pypa/cibuildwheel/pull/1961#issuecomment-2334678966",
|
|
||||||
)
|
|
||||||
def test_container_removed(container_engine):
|
def test_container_removed(container_engine):
|
||||||
|
# test is flaky on some platforms, implement retry for 5 second
|
||||||
|
timeout = 50 # * 100 ms = 5s
|
||||||
with OCIContainer(
|
with OCIContainer(
|
||||||
engine=container_engine, image=DEFAULT_IMAGE, oci_platform=DEFAULT_OCI_PLATFORM
|
engine=container_engine, image=DEFAULT_IMAGE, oci_platform=DEFAULT_OCI_PLATFORM
|
||||||
) as container:
|
) as container:
|
||||||
docker_containers_listing = subprocess.run(
|
|
||||||
f"{container.engine.name} container ls",
|
|
||||||
shell=True,
|
|
||||||
check=True,
|
|
||||||
stdout=subprocess.PIPE,
|
|
||||||
text=True,
|
|
||||||
).stdout
|
|
||||||
assert container.name is not None
|
assert container.name is not None
|
||||||
assert container.name in docker_containers_listing
|
container_name = container.name
|
||||||
old_container_name = container.name
|
for _ in range(timeout):
|
||||||
|
|
||||||
docker_containers_listing = subprocess.run(
|
docker_containers_listing = subprocess.run(
|
||||||
f"{container.engine.name} container ls",
|
f"{container.engine.name} container ls",
|
||||||
shell=True,
|
shell=True,
|
||||||
@@ -164,7 +155,23 @@ def test_container_removed(container_engine):
|
|||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
text=True,
|
text=True,
|
||||||
).stdout
|
).stdout
|
||||||
assert old_container_name not in docker_containers_listing
|
if container_name in docker_containers_listing:
|
||||||
|
break
|
||||||
|
time.sleep(0.1)
|
||||||
|
assert container_name in docker_containers_listing
|
||||||
|
|
||||||
|
for _ in range(timeout):
|
||||||
|
docker_containers_listing = subprocess.run(
|
||||||
|
f"{container.engine.name} container ls",
|
||||||
|
shell=True,
|
||||||
|
check=True,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
text=True,
|
||||||
|
).stdout
|
||||||
|
if container_name not in docker_containers_listing:
|
||||||
|
break
|
||||||
|
time.sleep(0.1)
|
||||||
|
assert container_name not in docker_containers_listing
|
||||||
|
|
||||||
|
|
||||||
def test_large_environment(container_engine):
|
def test_large_environment(container_engine):
|
||||||
|
|||||||
Reference in New Issue
Block a user