* fix: enforce minimum version of docker/podman This allows to always pass `--platform` to the OCI engine thus fixing issues with multiarch images. * Allow older versions with warnings * Upgrade docker on Travis CI * fix: use `docker cp` instead of `tar` * Enforce docker>=24.0 * move log to include container.copy_into * fix: travis-ci, only update docker on aarch64 * skip test_multiarch_image on s390x / ppc64le * skip flaky test * chore: only install test deps on Travis CI * fix: do not try to pull images tagged `cibw_local` * use "--pull=never" for local images * Use docker image inspect to check if an image needs to be pulled
73 lines
2.0 KiB
YAML
73 lines
2.0 KiB
YAML
os: linux
|
|
dist: focal
|
|
language: python
|
|
|
|
branches:
|
|
only:
|
|
- main
|
|
|
|
jobs:
|
|
include:
|
|
- name: Linux | x86_64 + i686 | Python 3.9
|
|
python: 3.9
|
|
services: docker
|
|
env: PYTHON=python
|
|
|
|
- name: Linux | arm64 | Python 3.9
|
|
python: 3.9
|
|
services: docker
|
|
arch: arm64-graviton2
|
|
group: edge
|
|
virt: vm
|
|
env: PYTHON=python
|
|
# docker is outdated in the arm64-graviton2 vm focal image (19.x)
|
|
# we need to upgrade to get >= 24.0
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: 'deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable'
|
|
packages:
|
|
- docker-ce docker-ce-cli containerd.io
|
|
|
|
- name: Linux | ppc64le | Python 3.9
|
|
python: 3.9
|
|
services: docker
|
|
arch: ppc64le
|
|
allow_failure: True
|
|
env:
|
|
- PYTHON=python
|
|
# skip test_manylinuxXXXX_only, it uses too much disk space
|
|
# c.f. https://travis-ci.community/t/running-out-of-disk-space-quota-when-using-docker-on-ppc64le/11634
|
|
- PYTEST_ADDOPTS='-k "not test_manylinuxXXXX_only"'
|
|
|
|
- name: Windows | x86_64 | Python 3.9
|
|
os: windows
|
|
language: shell
|
|
before_install:
|
|
- choco upgrade python3 -y --version 3.9.13 --limit-output --params "/InstallDir:C:\\Python39"
|
|
env:
|
|
- PYTHON=C:\\Python39\\python
|
|
|
|
- name: Linux | s390x | Python 3.9
|
|
python: 3.9
|
|
services: docker
|
|
arch: s390x
|
|
allow_failure: True
|
|
env: PYTHON=python
|
|
|
|
install:
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then docker run --rm --privileged docker.io/tonistiigi/binfmt:latest --install all; fi
|
|
- $PYTHON -m pip install -U pip
|
|
- $PYTHON -m pip install -e ".[test]" pytest-custom-exit-code
|
|
|
|
script: |
|
|
# travis_wait disable the output while waiting
|
|
# use the same kind of tricks as in multibuild
|
|
(while true; do echo "travis_keep_alive"; sleep 300; done) &
|
|
SPINNER_PID=$!
|
|
disown
|
|
result=0
|
|
$PYTHON ./bin/run_tests.py --num-processes 2 || result=1
|
|
kill -9 ${SPINNER_PID}
|
|
test ${result} -eq 0
|