break: remove Travis CI support (#2682)
Stop testing on Travis CI. References to Travis CI are removed from docs. Travis CI specifics are kept as-is in cibuildwheel itself (mostly logging stuff).
This commit is contained in:
-79
@@ -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
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
<sup>⁵ manylinux armv7l support is experimental. As there are no RHEL based image for this architecture, it's using an Ubuntu based image instead.</sup><br>
|
||||
|
||||
- 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 | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅⁴ | |
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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/
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -19,7 +19,6 @@ keywords = [
|
||||
"macos",
|
||||
"packaging",
|
||||
"pypi",
|
||||
"travis",
|
||||
"wheel",
|
||||
"windows",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user