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:
|
This is a summary of the host Python versions and platforms covered by the different CI platforms:
|
||||||
|
|
||||||
| | 3.11 | 3.12 | 3.13 |
|
| | 3.11 | 3.12 | 3.13 | 3.14 |
|
||||||
|---------|----------------------------------|---------------------------------------------|----------------|
|
|---------|----------------------------------|---------------------------------|----------------|----------------|
|
||||||
| Linux | Azure Pipelines / GitHub Actions | CircleCI¹ / Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
|
| Linux | Azure Pipelines / GitHub Actions | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | GitHub Actions |
|
||||||
| macOS | Azure Pipelines | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions |
|
| macOS | Azure Pipelines | CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | |
|
||||||
| Windows | Azure Pipelines | Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
|
| Windows | Azure Pipelines | Cirrus CI / GitLab¹ | GitHub Actions | |
|
||||||
|
|
||||||
> ¹ Runs a reduced set of tests to reduce CI load
|
> ¹ 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://pypi.python.org/pypi/cibuildwheel)
|
||||||
[](https://cibuildwheel.pypa.io/en/stable/?badge=stable)
|
[](https://cibuildwheel.pypa.io/en/stable/?badge=stable)
|
||||||
[](https://github.com/pypa/cibuildwheel/actions)
|
[](https://github.com/pypa/cibuildwheel/actions)
|
||||||
[](https://travis-ci.com/github/pypa/cibuildwheel)
|
|
||||||
[](https://circleci.com/gh/pypa/cibuildwheel)
|
[](https://circleci.com/gh/pypa/cibuildwheel)
|
||||||
[](https://dev.azure.com/joerick0429/cibuildwheel/_build/latest?definitionId=4&branchName=main)
|
[](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.
|
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?
|
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>
|
<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
|
- 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)
|
- 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
|
- Runs your library's tests against the wheel-installed version of your library
|
||||||
|
|
||||||
@@ -61,7 +60,6 @@ Usage
|
|||||||
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
|
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
|
||||||
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ | ✅³ |
|
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ | ✅³ |
|
||||||
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ | ✅³ |
|
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ | ✅³ |
|
||||||
| Travis CI | ✅ | | ✅ | ✅ | | | ✅⁴ | |
|
|
||||||
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅⁴ | ✅³ |
|
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅⁴ | ✅³ |
|
||||||
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅⁴ | ✅³ |
|
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅⁴ | ✅³ |
|
||||||
| Cirrus 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).
|
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}
|
### CircleCI [linux/mac] {: #circleci}
|
||||||
|
|
||||||
To build Linux and Mac wheels on CircleCI, create a `.circleci/config.yml` file in your repo,
|
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"
|
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"
|
!!! tab "CircleCI"
|
||||||
|
|
||||||
> .circleci/config.yml ([docs](https://circleci.com/docs/2.0/configuration-reference/#environment))
|
> .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)
|
[scikit-hep.org/developer/gha_wheels](https://scikit-hep.org/developer/gha_wheels)
|
||||||
for a complete guide.
|
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
|
## Manual method
|
||||||
|
|
||||||
On your development machine, install [pipx](https://pipx.pypa.io/) and do the following:
|
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",
|
"macos",
|
||||||
"packaging",
|
"packaging",
|
||||||
"pypi",
|
"pypi",
|
||||||
"travis",
|
|
||||||
"wheel",
|
"wheel",
|
||||||
"windows",
|
"windows",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user