os: linux dist: jammy language: python branches: only: - main # only build the main branch or PR that explicitely want to test with Travis CI if: (type = "push") OR (commit_message =~ /travis-ci/) jobs: include: - name: Linux | x86_64 + i686 | Python 3.12 python: 3.12 services: docker env: PYTHON=python - name: Linux | arm64 | Python 3.12 python: 3.12 services: docker arch: arm64 env: PYTHON=python - name: Linux | ppc64le | Python 3.12 python: 3.12 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.12 os: windows language: shell before_install: - choco upgrade python3 -y --version 3.12.8 --limit-output --params "/InstallDir:C:\\Python312" env: - PYTHON=C:\\Python312\\python - name: Linux | s390x | Python 3.12 python: 3.12 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 dependency-groups - $PYTHON -m dependency_groups test | xargs $PYTHON -m pip install -e. 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