Remove official Appveyor support (#2386)
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ cibuildwheel
|
||||
[](https://cibuildwheel.pypa.io/en/stable/?badge=stable)
|
||||
[](https://github.com/pypa/cibuildwheel/actions)
|
||||
[](https://travis-ci.com/github/pypa/cibuildwheel)
|
||||
[](https://ci.appveyor.com/project/joerick/cibuildwheel/branch/main)
|
||||
[](https://circleci.com/gh/pypa/cibuildwheel)
|
||||
[](https://dev.azure.com/joerick0429/cibuildwheel/_build/latest?definitionId=4&branchName=main)
|
||||
|
||||
@@ -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?
|
||||
@@ -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
|
||||
|
||||
@@ -61,7 +60,6 @@ Usage
|
||||
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅³ |
|
||||
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅³ |
|
||||
| Travis CI | ✅ | | ✅ | ✅ | | | |
|
||||
| AppVeyor | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅³ |
|
||||
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅³ |
|
||||
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅³ |
|
||||
| Cirrus CI | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅³ |
|
||||
@@ -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
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204
|
||||
APPVEYOR_JOB_NAME: "python312-x64-ubuntu"
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||
APPVEYOR_JOB_NAME: "python312-x64-vs2022"
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
|
||||
APPVEYOR_JOB_NAME: "python312-x64-macos"
|
||||
|
||||
stack: python 3.12
|
||||
|
||||
build: off
|
||||
|
||||
init:
|
||||
- ps: |
|
||||
$BRANCH = if ($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH) { $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH } else { $env:APPVEYOR_REPO_BRANCH }
|
||||
if (-not ($BRANCH -eq 'main' -or $BRANCH.ToLower().StartsWith('appveyor-'))) {
|
||||
$env:PYTEST_ADDOPTS = '-k "unit_test or test_0_basic" --suppress-no-test-exit-code'
|
||||
}
|
||||
if ($IsLinux) {
|
||||
docker run --rm --privileged docker.io/tonistiigi/binfmt:latest --install all
|
||||
}
|
||||
|
||||
install:
|
||||
- python -m pip install -U pip
|
||||
- python -m pip install -e ".[dev]" pytest-custom-exit-code
|
||||
|
||||
# the '-u' flag is required so the output is in the correct order.
|
||||
# See https://github.com/pypa/cibuildwheel/pull/24 for more info.
|
||||
test_script: python -u ./bin/run_tests.py
|
||||
|
||||
branches:
|
||||
only:
|
||||
- main
|
||||
|
||||
skip_commits:
|
||||
files:
|
||||
- docs/*
|
||||
@@ -33,7 +33,6 @@ import yaml
|
||||
from github import Github, GithubException
|
||||
|
||||
ICONS = (
|
||||
"appveyor",
|
||||
"github",
|
||||
"azurepipelines",
|
||||
"circleci",
|
||||
|
||||
@@ -41,11 +41,6 @@ class CIService(typing.NamedTuple):
|
||||
|
||||
|
||||
services = [
|
||||
CIService(
|
||||
name="appveyor",
|
||||
dst_config_path="appveyor.yml",
|
||||
badge_md="[](https://ci.appveyor.com/project/joerick/cibuildwheel/branch/{branch})",
|
||||
),
|
||||
CIService(
|
||||
name="azure-pipelines",
|
||||
dst_config_path="azure-pipelines.yml",
|
||||
|
||||
+5
-1
@@ -6,13 +6,17 @@ from .util.helpers import strtobool
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
|
||||
+6
-16
@@ -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,
|
||||
@@ -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).
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
"enum": [
|
||||
"github",
|
||||
"travisci",
|
||||
"appveyor",
|
||||
"circleci",
|
||||
"gitlab",
|
||||
"cirrusci",
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 24 24" width="16px" fill="#606060"><title>AppVeyor icon</title><path d="M 12,0 C 18.6,0 24,5.4 24,12 24,18.6 18.6,24 12,24 5.4,24 0,18.6 0,12 0,5.4 5.4,0 12,0 Z m 2.94,14.34 C 16.26,12.66 16.08,10.26 14.4,9 12.78,7.74 10.38,8.04 9,9.72 7.68,11.4 7.86,13.8 9.54,15.06 c 1.68,1.26 4.08,0.96 5.4,-0.72 z m -6.42,7.8 c 0.72,0.3 2.28,0.6 3.06,0.6 l 5.22,-7.56 c 1.68,-2.52 1.26,-5.94 -1.08,-7.8 -2.1,-1.68 -5.04,-1.62 -7.14,0 l -7.26,5.58 c 0.18,1.92 0.72,2.88 0.72,2.94 l 4.14,-4.5 c -0.3,1.98 0.42,4.02 2.1,5.28 1.44,1.14 3.18,1.44 4.86,1.08 z"/></svg>
|
||||
|
Before Width: | Height: | Size: 613 B |
@@ -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. |
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204
|
||||
APPVEYOR_JOB_NAME: "linux-x64"
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||
APPVEYOR_JOB_NAME: "windows-x64"
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
|
||||
APPVEYOR_JOB_NAME: "macos-x64"
|
||||
|
||||
stack: python 3.12
|
||||
|
||||
install: python -m pip install cibuildwheel==2.23.3
|
||||
|
||||
build_script: python -m cibuildwheel --output-dir wheelhouse
|
||||
|
||||
artifacts:
|
||||
- path: "wheelhouse\\*.whl"
|
||||
name: Wheels
|
||||
@@ -13,7 +13,6 @@ authors = [
|
||||
{ name = "Joe Rickerby", email = "joerick@mac.com" },
|
||||
]
|
||||
keywords = [
|
||||
"appveyor",
|
||||
"ci",
|
||||
"linux",
|
||||
"macos",
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
import os
|
||||
|
||||
import jinja2
|
||||
import pytest
|
||||
|
||||
from . import utils
|
||||
from .test_projects import TestProject
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user