Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions CI.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
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 | AppVeyor¹ / CircleCI¹ / Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
| macOS | Azure Pipelines | AppVeyor¹ / CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions |
| Windows | Azure Pipelines | AppVeyor¹ / Cirrus CI / GitLab¹ / Travis CI | GitHub Actions |
| | 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 |

> ¹ Runs a reduced set of tests to reduce CI load

Expand Down
7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ cibuildwheel
[![Documentation Status](https://readthedocs.org/projects/cibuildwheel/badge/?version=stable)](https://cibuildwheel.pypa.io/en/stable/?badge=stable)
[![Actions Status](https://github.com/pypa/cibuildwheel/workflows/Test/badge.svg)](https://github.com/pypa/cibuildwheel/actions)
[![Travis Status](https://img.shields.io/travis/com/pypa/cibuildwheel/main?logo=travis)](https://travis-ci.com/github/pypa/cibuildwheel)
[![Appveyor status](https://ci.appveyor.com/api/projects/status/gt3vwl88yt0y3hur/branch/main?svg=true)](https://ci.appveyor.com/project/joerick/cibuildwheel/branch/main)
[![CircleCI Status](https://img.shields.io/circleci/build/gh/pypa/cibuildwheel/main?logo=circleci)](https://circleci.com/gh/pypa/cibuildwheel)
[![Azure Status](https://dev.azure.com/joerick0429/cibuildwheel/_apis/build/status/pypa.cibuildwheel?branchName=main)](https://dev.azure.com/joerick0429/cibuildwheel/_build/latest?definitionId=4&branchName=main)

Expand All @@ -16,7 +15,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, AppVeyor, 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, Travis CI, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms.


What does it do?
Expand Down Expand Up @@ -45,7 +44,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 10.9+ (10.13+ for Python 3.12+), and Windows wheels for CPython, PyPy, and GraalPy
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
- Works on GitHub Actions, Azure Pipelines, Travis CI, 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

Expand All @@ -61,7 +60,6 @@ Usage
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅³ |
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅³ |
| Travis CI | ✅ | | ✅ | ✅ | | | |
| AppVeyor | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅³ |
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅³ |
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅³ |
| Cirrus CI | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅³ |
Expand Down Expand Up @@ -188,7 +186,6 @@ Here are some repos that use cibuildwheel.
[Prophet]: https://github.com/facebook/prophet
[Kivy]: https://github.com/kivy/kivy

[appveyor icon]: docs/data/readme_icons/appveyor.svg
[github icon]: docs/data/readme_icons/github.svg
[azurepipelines icon]: docs/data/readme_icons/azurepipelines.svg
[circleci icon]: docs/data/readme_icons/circleci.svg
Expand Down
38 changes: 0 additions & 38 deletions appveyor.yml

This file was deleted.

1 change: 0 additions & 1 deletion bin/projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
from github import Github, GithubException

ICONS = (
"appveyor",
"github",
"azurepipelines",
"circleci",
Expand Down
5 changes: 0 additions & 5 deletions bin/run_example_ci_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ class CIService(typing.NamedTuple):


services = [
CIService(
name="appveyor",
dst_config_path="appveyor.yml",
badge_md="[![Build status](https://ci.appveyor.com/api/projects/status/gt3vwl88yt0y3hur/branch/{branch}?svg=true)](https://ci.appveyor.com/project/joerick/cibuildwheel/branch/{branch})",
),
CIService(
name="azure-pipelines",
dst_config_path="azure-pipelines.yml",
Expand Down
6 changes: 5 additions & 1 deletion cibuildwheel/ci.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@


class CIProvider(Enum):
# official support
travis_ci = "travis"
appveyor = "appveyor"
circle_ci = "circle_ci"
azure_pipelines = "azure_pipelines"
github_actions = "github_actions"
gitlab = "gitlab"
cirrus_ci = "cirrus_ci"

# unofficial support
appveyor = "appveyor"

other = "other"


Expand Down
22 changes: 6 additions & 16 deletions docs/ci-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,22 +86,6 @@ Then setup a deployment method by following the [Travis CI deployment docs](http

[`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.

### AppVeyor [linux/mac/windows] {: #appveyor}

To build Linux, Mac, and Windows wheels on AppVeyor, create an `appveyor.yml` file in your repo.

> appveyor.yml

```yaml
{% include "../examples/appveyor-minimal.yml" %}
```

Commit this file, enable building of your repo on AppVeyor, and push.

AppVeyor will store the built wheels for you - you can access them from the project console. Alternatively, you may want to store them in the same place as the Travis CI build. See [AppVeyor deployment docs](https://www.appveyor.com/docs/deployment/) for more info, or see [Delivering to PyPI](deliver-to-pypi.md) below.

For more info on this config file, check out the [docs](https://www.appveyor.com/docs/).

### CircleCI [linux/mac] {: #circleci}

To build Linux and Mac wheels on CircleCI, create a `.circleci/config.yml` file in your repo,
Expand Down Expand Up @@ -149,6 +133,12 @@ Cirrus CI will store the built wheels for you - you can access them from the ind

> ⚠️ Got an error? Check the [FAQ](faq.md).

### Other CI services

#### AppVeyor {: #appveyor}

Appveyor official support was dropped in cibuildwheel v3.0, due to a lack of CI credits. However, it can probably still be used as-is. Check the Appveyor example from the cibuildwheel v2.0 branch: [appveyor-minimal.yml](https://github.com/pypa/cibuildwheel/blob/v2.23.3/examples/appveyor-minimal.yml).

## Next steps

Once you've got the wheel building successfully, you might want to set up [testing](options.md#test-command) or [automatic releases to PyPI](deliver-to-pypi.md#automatic-method).
Expand Down
1 change: 0 additions & 1 deletion docs/data/projects.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"enum": [
"github",
"travisci",
"appveyor",
"circleci",
"gitlab",
"cirrusci",
Expand Down
12 changes: 6 additions & 6 deletions docs/data/projects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# stars: GitHub repo (optional, if different from package, such as for Twisted)
# pypi: The pypi name, if different from the GitHub package name
# os: Operating system list, [windows, apple, linux] (optional)
# ci: [appveyor, github, azurepipelines, circleci, gitlab, travisci, cirrusci] (optional)
# ci: [github, azurepipelines, circleci, gitlab, travisci, cirrusci] (optional)
# notes: (text, optional)

- name: abess
Expand All @@ -19,11 +19,11 @@
ci: [github]
os: [windows, apple, linux]

- name: pyinstrument_cext
gh: joerick/pyinstrument_cext
ci: [travisci, appveyor]
- name: pyinstrument
gh: joerick/pyinstrument
ci: [github]
os: [windows, apple, linux]
notes: A simple C extension, without external dependencies
notes: Python profiler with a C extension. No external dependencies.

- name: websockets
gh: python-websockets/websockets
Expand Down Expand Up @@ -182,7 +182,7 @@

- name: python-rapidjson
gh: python-rapidjson/python-rapidjson
ci: [travisci, gitlab, appveyor]
ci: [travisci, gitlab]
os: [windows, linux]

- name: jq.py
Expand Down
1 change: 0 additions & 1 deletion docs/data/readme_icons/appveyor.svg

This file was deleted.

5 changes: 2 additions & 3 deletions docs/working-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ title: Working examples
| [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python |
| [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub |
| [tgcalls][] | ![github icon][] | ![apple icon][] ![windows icon][] | Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. |
| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson |
| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson |
| [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system |
| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. |
| [abess][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. |
Expand Down Expand Up @@ -115,7 +115,7 @@ title: Working examples
| [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
| [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. |
| [werpy][] | ![github icon][] | ![windows icon][] ![linux icon][] ![apple icon][] | An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER). |
| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
| [pyinstrument_cext][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
| [pybind11 cross build example][] | ![github icon][] ![gitlab icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Same as pybind11 cmake_example but used to demo Linux ARM + Windows + macOS builds on GitLab |

[scikit-learn]: https://github.com/scikit-learn/scikit-learn
Expand Down Expand Up @@ -228,7 +228,6 @@ title: Working examples
[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext
[pybind11 cross build example]: https://github.com/wbarnha/pybind_cmake_example_crossbuild

[appveyor icon]: data/readme_icons/appveyor.svg
[github icon]: data/readme_icons/github.svg
[azurepipelines icon]: data/readme_icons/azurepipelines.svg
[circleci icon]: data/readme_icons/circleci.svg
Expand Down
18 changes: 0 additions & 18 deletions examples/appveyor-minimal.yml

This file was deleted.

1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ authors = [
{ name = "Joe Rickerby", email = "[email protected]" },
]
keywords = [
"appveyor",
"ci",
"linux",
"macos",
Expand Down
6 changes: 0 additions & 6 deletions test/test_cpp_standards.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
import os

import jinja2
import pytest

from . import utils
from .test_projects import TestProject
Expand Down Expand Up @@ -100,9 +97,6 @@ def test_cpp17(tmp_path):
"""
cpp17_project.generate(project_dir)

if os.environ.get("APPVEYOR_BUILD_WORKER_IMAGE", "") == "Visual Studio 2015":
pytest.skip("Visual Studio 2015 does not support C++17")

add_env = {}
if utils.platform == "macos":
add_env["MACOSX_DEPLOYMENT_TARGET"] = "10.13"
Expand Down