diff --git a/README.md b/README.md index 932f05bb..5e6eb012 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Usage - os: osx script: - - pip install cibuildwheel==0.4.0 + - pip install cibuildwheel==0.4.1 - cibuildwheel --output-dir wheelhouse ``` @@ -54,7 +54,7 @@ Usage ``` build_script: - - pip install cibuildwheel==0.4.0 + - pip install cibuildwheel==0.4.1 - cibuildwheel --output-dir wheelhouse artifacts: - path: "wheelhouse\\*.whl" @@ -235,6 +235,7 @@ Working examples Here are some repos that use cibuildwheel. - [pyinstrument_cext](https://github.com/joerick/pyinstrument_cext) +- [websockets](https://github.com/aaugustin/websockets) > Add repo here! Send a PR. @@ -246,6 +247,11 @@ Since `cibuildwheel` runs the wheel through delocate or auditwheel, it will auto Changelog ========= +### 0.4.1 + +- Fixed a bug on Windows where subprocess' output was hidden (#23) +- Fixed a bug on Appveyor where logs would appear in the wrong order due to output buffering (#24, thanks @YannickJadoul!) + ### 0.4.0 - Fixed a bug that was increasing the build time by building the wheel twice. This was a problem for large projects that have a long build time. If you're upgrading and you need the old behaviour, use `CIBW_BEFORE_BUILD={pip} install .`, or install exactly the dependencies you need in `CIBW_BEFORE_BUILD`. See #18. diff --git a/appveyor.yml b/appveyor.yml index e75f0975..c96d6e2e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,3 +1,5 @@ build_script: - pip install -r requirements-dev.txt - - python ./bin/run_tests.py + # the '-u' flag is required so the output is in the correct order. + # See https://github.com/joerick/cibuildwheel/pull/24 for more info. + - python -u ./bin/run_tests.py diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index abeeedbf..f0ede3d3 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = '0.4.0' +__version__ = '0.4.1' diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 1c7afe38..d44125f1 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -11,6 +11,10 @@ from .util import prepare_command def build(project_dir, package_name, output_dir, test_command, test_requires, before_build, skip, environment): + # Python under AppVeyor/Windows seems to be buffering by default, giving problems interleaving subprocess call output with unflushed calls to 'print' + sys.stdout.flush() + sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) + # run_with_env is a cmd file that sets the right environment variables to run_with_env = os.path.join(tempfile.gettempdir(), 'appveyor_run_with_env.cmd') if not os.path.exists(run_with_env): @@ -22,7 +26,7 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be # print the command executing for the logs print('+ ' + ' '.join(args)) args = ['cmd', '/E:ON', '/V:ON', '/C', run_with_env] + args - return subprocess.check_output(' '.join(args), env=env, cwd=cwd) + return subprocess.check_call(' '.join(args), env=env, cwd=cwd) PythonConfiguration = namedtuple('PythonConfiguration', ['version', 'arch', 'identifier', 'path']) python_configurations = [ diff --git a/setup.cfg b/setup.cfg index 59cb282b..85cddc12 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.4.0 +current_version = 0.4.1 commit = True tag = True message = Bump version diff --git a/setup.py b/setup.py index 1191f54b..1ae56c9c 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ except ImportError: setup( name='cibuildwheel', - version='0.4.0', + version='0.4.1', install_requires=['bashlex'], description="Build Python wheels on CI with minimal configuration.", long_description='For readme please see http://github.com/joerick/cibuildwheel',