[PR #136] [CLOSED] support building compiled wheels packages using Appveyor + Travis #750

Open
opened 2026-01-29 20:50:41 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/google/brotli/pull/136
Author: @anthrotype
Created: 8/11/2015
Status: Closed

Base: masterHead: ci


📝 Commits (5)

  • 6e46f0f add support for Appveyor CI
  • cacfdbd add support for Travis CI (OS X only for now)
  • 21aa7e6 [travis] use Homebrew Python 2.7.10
  • a3f91d9 [travis] also compile for 'macpython' (official installers from Python.org);
  • 7e471ca [setup.py] pass extra compiler flags on OS X to enable support for C++11: -stdlib=libc++ -mmacosx-version-min=10.7

📊 Changes

7 files changed (+222 additions, -0 deletions)

View changed files

.gitmodules (+3 -0)
.travis.yml (+22 -0)
appveyor.yml (+62 -0)
appveyor/install.ps1 (+85 -0)
appveyor/run_with_compiler.cmd (+47 -0)
📝 setup.py (+2 -0)
terryfy (+1 -0)

📄 Description

Here's my attempt at using CI systems to run automated builds of Brotli Python extension module.

You can see the latest build logs here:
https://travis-ci.org/anthrotype/brotli
https://ci.appveyor.com/project/anthrotype/brotli

Only Windows (via Appveyor) and OS X (via Travis) are supported here.
PyPI does not accept precompiled Linux wheels anyway: see http://pythonwheels.com/

On Windows, I test both 32 and 64-bit Python, 2.7.x and 3.4.x. The extension is compiled using MSVC 2010.

On OS X, I use the MacPython/terrify utilities in order to download and configure different python setups.

I could successfully compile Brotli on Apple's system Python (2.7.x), as well as on Homebrew Python 2.7.10 and 3.4.3. However, I was not able to build Brotli using official Python installers from Python.org. The latter are compiled using OS X 10.6 SDK and GCC 4.2, which don't support advanced C++0x features required by Brotli.

We could configure both appveyor.yml and .travis.yml to deploy the compiled wheels to some public wheelhouse (even directly upload to PyPI) whenever a new release is tagged.

E.g. http://docs.travis-ci.com/user/deployment/pypi/

Let me know what you think.
Thanks


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/google/brotli/pull/136 **Author:** [@anthrotype](https://github.com/anthrotype) **Created:** 8/11/2015 **Status:** ❌ Closed **Base:** `master` ← **Head:** `ci` --- ### 📝 Commits (5) - [`6e46f0f`](https://github.com/google/brotli/commit/6e46f0f2e710f9790388ee585960cc2f594c6798) add support for Appveyor CI - [`cacfdbd`](https://github.com/google/brotli/commit/cacfdbd2edb235efb9f4a4c6aeddf26617df2388) add support for Travis CI (OS X only for now) - [`21aa7e6`](https://github.com/google/brotli/commit/21aa7e65efa23e61af88566d12b80ecc75ac11d8) [travis] use Homebrew Python 2.7.10 - [`a3f91d9`](https://github.com/google/brotli/commit/a3f91d99dd7c02ff6f88fdd3d46486e03ff16bd9) [travis] also compile for 'macpython' (official installers from Python.org); - [`7e471ca`](https://github.com/google/brotli/commit/7e471ca3d2f3b79e803dddfc57bc5a246baa17be) [setup.py] pass extra compiler flags on OS X to enable support for C++11: -stdlib=libc++ -mmacosx-version-min=10.7 ### 📊 Changes **7 files changed** (+222 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.gitmodules` (+3 -0) ➕ `.travis.yml` (+22 -0) ➕ `appveyor.yml` (+62 -0) ➕ `appveyor/install.ps1` (+85 -0) ➕ `appveyor/run_with_compiler.cmd` (+47 -0) 📝 `setup.py` (+2 -0) ➕ `terryfy` (+1 -0) </details> ### 📄 Description Here's my attempt at using CI systems to run automated builds of Brotli Python extension module. You can see the latest build logs here: https://travis-ci.org/anthrotype/brotli https://ci.appveyor.com/project/anthrotype/brotli Only Windows (via Appveyor) and OS X (via Travis) are supported here. PyPI does not accept precompiled Linux wheels anyway: see http://pythonwheels.com/ On Windows, I test both 32 and 64-bit Python, 2.7.x and 3.4.x. The extension is compiled using MSVC 2010. On OS X, I use the [MacPython/terrify](https://github.com/MacPython/terryfy) utilities in order to download and configure different python setups. I could successfully compile Brotli on Apple's system Python (2.7.x), as well as on Homebrew Python 2.7.10 and 3.4.3. However, I was not able to build Brotli using official Python installers from Python.org. The latter are compiled using OS X 10.6 SDK and GCC 4.2, which don't support advanced C++0x features required by Brotli. We could configure both `appveyor.yml` and `.travis.yml` to deploy the compiled wheels to some public wheelhouse (even directly upload to PyPI) whenever a new release is tagged. E.g. http://docs.travis-ci.com/user/deployment/pypi/ Let me know what you think. Thanks --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 20:50:41 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#750