diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 7b3160a18..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,79 +0,0 @@
-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
- # a build using CIBW_ENABLE=all does not fit into Travis' time limit,
- # so only the defaults are tested
-
- - name: Linux | arm64 | Python 3.12
- python: 3.12
- services: docker
- arch: arm64
- env:
- - PYTHON=python
- - CIBW_ENABLE=all
-
- - 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"'
- - CIBW_ENABLE=all
-
- - name: Windows | x86_64 | Python 3.12
- os: windows
- language: shell
- before_install:
- # http://woshub.com/updating-trusted-root-certificates-in-windows-10
- - certutil -generateSSTFromWU roots.sst
- - powershell -Command 'Get-ChildItem -Path roots.sst | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root'
- - rm -f roots.sst
- - choco upgrade python3 -y --version 3.12.8 --limit-output --params "/InstallDir:C:\\Python312"
- env:
- - PYTHON=C:\\Python312\\python
- # a build using CIBW_ENABLE=all does not fit into Travis' time limit,
- # so only the defaults are tested
-
- - name: Linux | s390x | Python 3.12
- python: 3.12
- services: docker
- arch: s390x
- allow_failure: True
- env:
- - PYTHON=python
- - CIBW_ENABLE=all
-
-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. --group test
-
-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
diff --git a/CI.md b/CI.md
index 6b45fffc3..b79b64051 100644
--- a/CI.md
+++ b/CI.md
@@ -1,11 +1,9 @@
This is a summary of the host Python versions and platforms covered by the different CI platforms:
-| | 3.11 | 3.12 | 3.13 |
-|---------|----------------------------------|---------------------------------------------|----------------|
-| Linux | Azure Pipelines / GitHub Actions | CircleCI¹ / Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
-| macOS | Azure Pipelines | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions |
-| Windows | Azure Pipelines | Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
+| | 3.11 | 3.12 | 3.13 | 3.14 |
+|---------|----------------------------------|---------------------------------|----------------|----------------|
+| Linux | Azure Pipelines / GitHub Actions | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | GitHub Actions |
+| macOS | Azure Pipelines | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | |
+| Windows | Azure Pipelines | Cirrus CI / GitLab¹ | GitHub Actions | |
> ¹ Runs a reduced set of tests to reduce CI load
-
-Non-x86 architectures are covered on Travis CI using Python 3.12.
diff --git a/README.md b/README.md
index 1c020cc0a..562856e35 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@ cibuildwheel
[](https://pypi.python.org/pypi/cibuildwheel)
[](https://cibuildwheel.pypa.io/en/stable/?badge=stable)
[](https://github.com/pypa/cibuildwheel/actions)
-[](https://travis-ci.com/github/pypa/cibuildwheel)
[](https://circleci.com/gh/pypa/cibuildwheel)
[](https://dev.azure.com/joerick0429/cibuildwheel/_build/latest?definitionId=4&branchName=main)
@@ -15,7 +14,7 @@ cibuildwheel
Python wheels are great. Building them across **Mac, Linux, Windows**, on **multiple versions of Python**, is not.
-`cibuildwheel` is here to help. `cibuildwheel` runs on your CI server - currently it supports GitHub Actions, Azure Pipelines, Travis CI, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms.
+`cibuildwheel` is here to help. `cibuildwheel` runs on your CI server - currently it supports GitHub Actions, Azure Pipelines, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms.
What does it do?
@@ -46,7 +45,7 @@ While cibuildwheel itself requires a recent Python version to run (we support th
⁵ manylinux armv7l support is experimental. As there are no RHEL based image for this architecture, it's using an Ubuntu based image instead.
- Builds manylinux, musllinux, macOS, and Windows wheels for CPython, PyPy, and GraalPy
-- Works on GitHub Actions, Azure Pipelines, Travis CI, CircleCI, GitLab CI, and Cirrus CI
+- Works on GitHub Actions, Azure Pipelines, CircleCI, GitLab CI, and Cirrus CI
- Bundles shared library dependencies on Linux and macOS through [auditwheel](https://github.com/pypa/auditwheel) and [delocate](https://github.com/matthew-brett/delocate)
- Runs your library's tests against the wheel-installed version of your library
@@ -61,7 +60,6 @@ Usage
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ | ✅³ |
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ | ✅³ |
-| Travis CI | ✅ | | ✅ | ✅ | | | ✅⁴ | |
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅⁴ | ✅³ |
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅⁴ | ✅³ |
| Cirrus CI | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅⁴ | |
diff --git a/docs/ci-services.md b/docs/ci-services.md
index 4a1e2009c..d87af74c5 100644
--- a/docs/ci-services.md
+++ b/docs/ci-services.md
@@ -72,22 +72,6 @@ Commit this file, enable building of your repo on Azure Pipelines, and push.
Wheels will be stored for you and available through the Pipelines interface. For more info on this file, check out the [docs](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema).
-### Travis CI [linux/windows] {: #travis-ci}
-
-To build Linux and Windows wheels on Travis CI, create a `.travis.yml` file in your repo.
-
-> .travis.yml
-
-```yaml
-{% include "../examples/travis-ci-minimal.yml" %}
-```
-
-Commit this file, enable building of your repo on Travis CI, and push.
-
-Then setup a deployment method by following the [Travis CI deployment docs](https://docs.travis-ci.com/user/deployment/), or see [Delivering to PyPI](deliver-to-pypi.md). For more info on `.travis.yml`, check out the [docs](https://docs.travis-ci.com/).
-
-[`examples/travis-ci-deploy.yml`](https://github.com/pypa/cibuildwheel/blob/main/examples/travis-ci-deploy.yml) extends this minimal example with a demonstration of how to automatically upload the built wheels to PyPI.
-
### CircleCI [linux/mac] {: #circleci}
To build Linux and Mac wheels on CircleCI, create a `.circleci/config.yml` file in your repo,
diff --git a/docs/configuration.md b/docs/configuration.md
index 1e83708c3..0bdfd01b4 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -30,17 +30,6 @@ cibuildwheel to run tests, add the following YAML to your CI config file:
CIBW_TEST_COMMAND: "pytest {project}/tests"
```
-!!! tab "Travis CI"
-
- > .travis.yml ([docs](https://docs.travis-ci.com/user/environment-variables/))
-
- ```yaml
- env:
- global:
- - CIBW_TEST_REQUIRES=pytest
- - CIBW_TEST_COMMAND="pytest {project}/tests"
- ```
-
!!! tab "CircleCI"
> .circleci/config.yml ([docs](https://circleci.com/docs/2.0/configuration-reference/#environment))
diff --git a/docs/deliver-to-pypi.md b/docs/deliver-to-pypi.md
index 18812d9be..60eea8b7d 100644
--- a/docs/deliver-to-pypi.md
+++ b/docs/deliver-to-pypi.md
@@ -71,12 +71,6 @@ for an example configuration that automatically uploads wheels to PyPI. Also see
[scikit-hep.org/developer/gha_wheels](https://scikit-hep.org/developer/gha_wheels)
for a complete guide.
-### TravisCI
-
-See
-[`examples/travis-ci-deploy.yml`](https://github.com/pypa/cibuildwheel/blob/main/examples/travis-ci-deploy.yml)
-for an example configuration.
-
## Manual method
On your development machine, install [pipx](https://pipx.pypa.io/) and do the following:
diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml
deleted file mode 100644
index 9240e2c98..000000000
--- a/examples/travis-ci-deploy.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-# As written, this configuration will build your wheels on every
-# commit, but will only push to PyPI on tagged commits.
-
-os: linux
-dist: jammy
-language: python
-python: "3.12"
-
-jobs:
- include:
- # perform a linux build
- - services: docker
- # and a windows build
- - os: windows
- language: shell
- before_install:
- - choco upgrade python -y --version 3.12.4
- - export PATH="/c/Python312:/c/Python312/Scripts:$PATH"
- # make sure it's on PATH as 'python3'
- - ln -s /c/Python312/python.exe /c/Python312/python3.exe
-
-install:
- - python3 -m pip install cibuildwheel==3.3.0
-
-script:
- # build the wheels, put them into './dist'
- - python3 -m cibuildwheel --output-dir dist
-
-deploy:
- provider: pypi
- username: "__token__"
- skip_cleanup: true
- on:
- tags: true
- password:
- secure: "" # Set to an encrypted API token. See https://docs.travis-ci.com/user/deployment/pypi/
diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml
deleted file mode 100644
index 108f8d110..000000000
--- a/examples/travis-ci-minimal.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-os: linux
-dist: jammy
-language: python
-python: "3.12"
-
-jobs:
- include:
- # perform a linux build
- - services: docker
- # perform a linux ARMv8 build
- - services: docker
- arch: arm64
- # perform a linux PPC64LE build
- - services: docker
- arch: ppc64le
- # perform a linux S390X build
- - services: docker
- arch: s390x
- # and a windows build
- - os: windows
- language: shell
- before_install:
- - choco upgrade python -y --version 3.12.4
- - export PATH="/c/Python312:/c/Python312/Scripts:$PATH"
- # make sure it's on PATH as 'python3'
- - ln -s /c/Python312/python.exe /c/Python312/python3.exe
-
-install:
- - python3 -m pip install cibuildwheel==3.3.0
-
-script:
- # build the wheels, put them into './wheelhouse'
- - python3 -m cibuildwheel --output-dir wheelhouse
diff --git a/examples/travis-ci-test-and-deploy.yml b/examples/travis-ci-test-and-deploy.yml
deleted file mode 100644
index e46cf9bf7..000000000
--- a/examples/travis-ci-test-and-deploy.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-# In this configuration, the package is tested against multiple versions of python
-# on Linux and on one version of Python on Windows. If and only if all tests pass
-# will the wheels be built and deployed. Further, deployment is only initiated if
-# the current branch is "main", the current commit is tagged, and the current
-# repo is yours (e.g. it won't run on a Pull Request). For convenience, a source
-# distribution is also created.
-
-os: linux
-dist: jammy
-language: python
-python: "3.12"
-
-before_install:
- - |
- if [[ "$TRAVIS_OS_NAME" = windows ]]; then
- choco upgrade python -y --version 3.12.4
- export PATH="/c/Python312:/c/Python312/Scripts:$PATH"
- # make sure it's on PATH as 'python3'
- ln -s /c/Python312/python.exe /c/Python312/python3.exe
- fi
-
-install:
- - python3 -m pip install pytest
-
-script:
- - python3 -m pip install .
- - pytest
-
-stages:
- - test
- # Only execute deployment stage on tagged commits, and from your repository
- # (e.g. not PRs). Replace with your repo name.
- - name: deploy
- if: tag IS PRESENT AND repo = pypa/cibuildwheel
- # To only build tags that look like vX.Y.Z:
- # if: tag =~ ^v\d+\.\d+\.\d+$ AND repo = pypa/cibuildwheel
-
-jobs:
- include:
- # Optional: run a test on Windows
- - os: windows
- language: shell
- name: Test on Windows
-
- # Deploy source distribution
- - stage: deploy
- name: Deploy source distribution
- install: python3 -m pip install build twine
- script: python3 -m build --sdist --formats=gztar
- after_success: python3 -m twine upload --skip-existing dist/*.tar.gz
- # Deploy on linux
- - stage: deploy
- name: Build and deploy Linux wheels
- services: docker
- install: python3 -m pip install cibuildwheel==3.3.0 twine
- script: python3 -m cibuildwheel --output-dir wheelhouse
- after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
- # Deploy on windows
- - stage: deploy
- name: Build and deploy Windows wheels
- os: windows
- language: shell
- install: python3 -m pip install cibuildwheel==3.3.0 twine
- script: python3 -m cibuildwheel --output-dir wheelhouse
- after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
-
-env:
- global:
- - TWINE_USERNAME=__token__
- # Note: TWINE_PASSWORD is set to a PyPI API token in Travis settings
diff --git a/pyproject.toml b/pyproject.toml
index 6e8345586..e8518f390 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -19,7 +19,6 @@ keywords = [
"macos",
"packaging",
"pypi",
- "travis",
"wheel",
"windows",
]