Compare commits

...
18 Commits
Author SHA1 Message Date
Joe Rickerby 8124b14491 Bump version 2018-07-29 18:19:24 +01:00
Joe Rickerby b3b15f8404 Merge pull request #81 from madig/macos-test-cmd-in-shell
macOS: run test_command in shell
2018-07-29 14:05:57 +01:00
Joe Rickerby 9a96910919 Merge pull request #83 from mayeut/pybase64
Add pybase64 to the list of working examples
2018-07-29 14:01:43 +01:00
mayeut fce00dd77e Add pybase64 to the list of working examples 2018-07-11 00:03:15 +02:00
Joe Rickerby 6da52a544b Bump version 2018-07-10 19:03:48 +01:00
Joe Rickerby c8037fb237 Update changelog 2018-07-10 19:03:38 +01:00
Joe Rickerby 95a81f2216 Merge pull request #82 from mayeut/update-macos-python-3.6
Update Python 3.6 from 3.6.5 to 3.6.6 on macOS
2018-07-10 18:54:50 +01:00
Joe Rickerby 56c9c9864d Merge pull request #76 from jlaine/python37-windows
Build Windows wheels for Python 3.7 (fixes #75)
2018-07-10 18:51:47 +01:00
Joe Rickerby 0789842ef0 Add note about shell use on mac and linux 2018-07-10 18:46:10 +01:00
Joe Rickerby 5c47700d31 Add platform-specific notes to readme 2018-07-10 18:44:27 +01:00
Joe Rickerby 5ef7eeba4d Update readme: add @mayeut to maintainers team! 2018-07-10 18:39:29 +01:00
mayeut bb554acb28 Update Python 3.6 from 3.6.5 to 3.6.6 on macOS 2018-07-07 14:15:45 +02:00
Joe Rickerby ea3c52631f Add platform-specific CIBW_TEST_COMMAND and CIBW_TEST_REQUIRES variants 2018-07-05 09:58:05 +01:00
Joe Rickerby b18281867b Add test for CIBW_TEST_COMMAND running in a shell on mac and linux 2018-07-05 09:28:44 +01:00
Nikolaus Waxweiler 4a0d05df49 macOS: run test_command in shell
Fixes https://github.com/joerick/cibuildwheel/issues/39.
2018-07-04 15:56:12 +01:00
Joe Rickerby c1cd99ee4c Add check for python & pip within the configured python root 2018-07-01 21:38:14 +01:00
Joe Rickerby e68400b403 Update changelog 2018-07-01 21:30:53 +01:00
Jeremy Lainé 2f1f34f693 Build Windows wheels for Python 3.7 (fixes #75) 2018-07-01 22:30:22 +02:00
8 changed files with 46 additions and 16 deletions
+26 -4
View File
@@ -15,11 +15,13 @@ What does it do?
| | macOS 10.6+ | manylinux i686 | manylinux x86_64 | Windows 32bit | Windows 64bit |
|---|---|---|---|---|---|
| Python 2.7 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python 3.3 | | | | | |
| Python 3.3 | | | | ⚠️ | ⚠️ |
| Python 3.4 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python 3.5 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python 3.6 | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python 3.7 | ✅ | ✅ | ✅ | | |
| Python 3.7 | ✅ | ✅ | ✅ | | |
<small>[⚠️=deprecated]</small>
- Builds manylinux, macOS and Windows (32 and 64bit) wheels using Travis CI and Appveyor
- Bundles shared library dependencies on Linux and macOS through [auditwheel](https://github.com/pypa/auditwheel) and [delocate](https://github.com/matthew-brett/delocate)
@@ -50,7 +52,7 @@ Usage
env: PIP=pip2
script:
- $PIP install cibuildwheel==0.9.2
- $PIP install cibuildwheel==0.9.4
- cibuildwheel --output-dir wheelhouse
```
@@ -60,7 +62,7 @@ Usage
```
build_script:
- pip install cibuildwheel==0.9.2
- pip install cibuildwheel==0.9.4
- cibuildwheel --output-dir wheelhouse
artifacts:
- path: "wheelhouse\\*.whl"
@@ -236,8 +238,13 @@ Optional.
Shell command to run tests after the build. The wheel will be installed automatically and available for import from the tests. `{project}` can be used as a placeholder for the absolute path to the project's root and will be replaced by `cibuildwheel`.
On Linux and Mac, the command runs in a shell, so you can write things like `cmd1 && cmd2`.
Example: `nosetests {project}/tests`
Platform-specific variants also available:
`CIBW_TEST_COMMAND_MACOS` | `CIBW_TEST_COMMAND_WINDOWS` | `CIBW_TEST_COMMAND_LINUX`
| Environment variable: `CIBW_TEST_REQUIRES`
| ---
@@ -248,6 +255,9 @@ Space-separated list of dependencies required for running the tests.
Example: `pytest`
Example: `nose==1.3.7 moto==0.4.31`
Platform-specific variants also available:
`CIBW_TEST_REQUIRES_MACOS` | `CIBW_TEST_REQUIRES_WINDOWS` | `CIBW_TEST_REQUIRES_LINUX`
--
#### Example YML syntax
@@ -318,6 +328,7 @@ Here are some repos that use cibuildwheel.
- [websockets](https://github.com/aaugustin/websockets)
- [Parselmouth](https://github.com/YannickJadoul/Parselmouth)
- [python-admesh](https://github.com/admesh/python-admesh)
- [pybase64](https://github.com/mayeut/pybase64)
> Add repo here! Send a PR.
@@ -329,6 +340,16 @@ Since `cibuildwheel` runs the wheel through delocate or auditwheel, it will auto
Changelog
=========
### 0.9.3
- 🛠 Update to Python 3.6.6 on macOS (#82)
- ✨ Add support for building Python 3.7 wheels on Windows (#76)
- ⚠️ Deprecated support for Python 3.3 on Windows.
### 0.9.2
- 🛠 Update Python 3.7.0rc1 to 3.7.0 on macOS (#79)
### 0.9.1
- 🛠 Removed the need to use `{python}` and `{pip}` in `CIBW_BEFORE_BUILD` statements, by ensuring the correct version is always on the path at `python` and `pip` instead. (#60)
@@ -429,6 +450,7 @@ Maintainers
- Joe Rickerby [@joerick](https://github.com/joerick)
- Tomas Garcia [@tgarc](https://github.com/tgarc)
- Yannick Jadoul [@YannickJadoul](https://github.com/YannickJadoul)
- Matthieu Darbois [@mayeut](https://github.com/mayeut)
Credits
-------
+1 -1
View File
@@ -1 +1 @@
__version__ = '0.9.2'
__version__ = '0.9.4'
+6 -6
View File
@@ -6,7 +6,7 @@ import cibuildwheel.linux, cibuildwheel.windows, cibuildwheel.macos
from cibuildwheel.environment import parse_environment, EnvironmentParseError
from cibuildwheel.util import BuildSkipper
def get_option_from_environment(option_name, platform=None):
def get_option_from_environment(option_name, platform=None, default=None):
'''
Returns an option from the environment, optionally scoped by the platform.
@@ -21,7 +21,7 @@ def get_option_from_environment(option_name, platform=None):
if option is not None:
return option
return os.environ.get(option_name)
return os.environ.get(option_name, default)
def main():
@@ -70,13 +70,13 @@ def main():
exit(2)
output_dir = args.output_dir
test_command = os.environ.get('CIBW_TEST_COMMAND', None)
test_requires = os.environ.get('CIBW_TEST_REQUIRES', '').split()
test_command = get_option_from_environment('CIBW_TEST_COMMAND', platform=platform)
test_requires = get_option_from_environment('CIBW_TEST_REQUIRES', platform=platform, default='').split()
project_dir = args.project_dir
before_build = get_option_from_environment('CIBW_BEFORE_BUILD', platform=platform)
build_verbosity = get_option_from_environment('CIBW_BUILD_VERBOSITY', platform=platform) or ''
build_verbosity = get_option_from_environment('CIBW_BUILD_VERBOSITY', platform=platform, default='')
skip_config = os.environ.get('CIBW_SKIP', '')
environment_config = get_option_from_environment('CIBW_ENVIRONMENT', platform=platform) or ''
environment_config = get_option_from_environment('CIBW_ENVIRONMENT', platform=platform, default='')
try:
build_verbosity = min(3, max(-3, int(build_verbosity)))
+2 -2
View File
@@ -16,7 +16,7 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be
PythonConfiguration(version='2.7', identifier='cp27-macosx_10_6_intel', url='https://www.python.org/ftp/python/2.7.15/python-2.7.15-macosx10.6.pkg'),
PythonConfiguration(version='3.4', identifier='cp34-macosx_10_6_intel', url='https://www.python.org/ftp/python/3.4.4/python-3.4.4-macosx10.6.pkg'),
PythonConfiguration(version='3.5', identifier='cp35-macosx_10_6_intel', url='https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg'),
PythonConfiguration(version='3.6', identifier='cp36-macosx_10_6_intel', url='https://www.python.org/ftp/python/3.6.5/python-3.6.5-macosx10.6.pkg'),
PythonConfiguration(version='3.6', identifier='cp36-macosx_10_6_intel', url='https://www.python.org/ftp/python/3.6.6/python-3.6.6-macosx10.6.pkg'),
PythonConfiguration(version='3.7', identifier='cp37-macosx_10_6_intel', url='https://www.python.org/ftp/python/3.7.0/python-3.7.0-macosx10.6.pkg'),
]
get_pip_url = 'https://bootstrap.pypa.io/get-pip.py'
@@ -128,7 +128,7 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be
# (this ensures that Python runs the tests against the installed wheel
# and not the repo code)
test_command_prepared = prepare_command(test_command, project=abs_project_dir)
call(shlex.split(test_command_prepared), cwd=os.environ['HOME'], env=env)
call(test_command_prepared, cwd=os.environ['HOME'], env=env, shell=True)
# we're all done here; move it to output
shutil.move(delocated_wheel, output_dir)
+6
View File
@@ -40,6 +40,8 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be
PythonConfiguration(version='3.5.x', arch="64", identifier='cp35-win_amd64', path='C:\Python35-x64'),
PythonConfiguration(version='3.6.x', arch="32", identifier='cp36-win32', path='C:\Python36'),
PythonConfiguration(version='3.6.x', arch="64", identifier='cp36-win_amd64', path='C:\Python36-x64'),
PythonConfiguration(version='3.7.x', arch="32", identifier='cp37-win32', path='C:\Python37'),
PythonConfiguration(version='3.7.x', arch="64", identifier='cp37-win_amd64', path='C:\Python37-x64'),
]
abs_project_dir = os.path.abspath(project_dir)
@@ -50,6 +52,10 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be
if skip(config.identifier):
print('cibuildwheel: Skipping build %s' % config.identifier, file=sys.stderr)
continue
# check python & pip exist for this configuration
assert os.path.exists(os.path.join(config.path, 'python.exe'))
assert os.path.exists(os.path.join(config.path, 'Scripts', 'pip.exe'))
# setup dirs
if os.path.exists(built_wheel_dir):
+1 -1
View File
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.9.2
current_version = 0.9.4
commit = True
tag = True
message = Bump version
+1 -1
View File
@@ -8,7 +8,7 @@ except ImportError:
setup(
name='cibuildwheel',
version='0.9.2',
version='0.9.4',
install_requires=['bashlex'],
description="Build Python wheels on CI with minimal configuration.",
long_description='For readme please see http://github.com/joerick/cibuildwheel',
+3 -1
View File
@@ -1,4 +1,6 @@
{
"CIBW_TEST_REQUIRES": "nose",
"CIBW_TEST_COMMAND": "nosetests {project}/test"
"CIBW_TEST_COMMAND": "false || nosetests {project}/test",
"comment": "The 'false ||' bit is to ensure this command runs in a shell on Mac and Linux",
"CIBW_TEST_COMMAND_WINDOWS": "nosetests {project}/test"
}