Merge pull request #228 from SethMMorton/update-travis-examples

Update travis examples
This commit is contained in:
Joe Rickerby
2019-11-28 22:45:09 +00:00
committed by GitHub
4 changed files with 150 additions and 37 deletions
+17 -17
View File
@@ -48,43 +48,43 @@ Usage
Example setup Example setup
------------- -------------
To build manylinux and macOS wheels on Travis CI, and upload them to PyPI whenever you tag a version, you could use this `.travis.yml`: To build manylinux, macOS, and Windows wheels on Travis CI and upload them to PyPI whenever you tag a version, you could use this `.travis.yml`:
```yaml ```yaml
language: python language: python
matrix: jobs:
include: include:
# perform a linux build # perform a linux build
- sudo: required - services: docker
services:
- docker
env: PIP=pip
# and a mac build # and a mac build
- os: osx - os: osx
language: generic language: shell
env: PIP=pip2 # and a windows build
- os: windows
language: shell
before_install:
- choco install python --version 3.8.0
- export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
env: env:
global: global:
- TWINE_USERNAME=joerick - TWINE_USERNAME=joerick
# Note: TWINE_PASSWORD is set in Travis settings # Note: TWINE_PASSWORD is set in Travis settings
install:
- python -m pip install twine cibuildwheel==1.0.0
script: script:
- $PIP install cibuildwheel==1.0.0
# build the wheels, put them into './wheelhouse' # build the wheels, put them into './wheelhouse'
- cibuildwheel --output-dir wheelhouse - python -m cibuildwheel --output-dir wheelhouse
after_success:
# if the release was tagged, upload them to PyPI # if the release was tagged, upload them to PyPI
- | - if [[ $TRAVIS_TAG ]]; then python -m twine upload wheelhouse/*.whl; fi
if [[ $TRAVIS_TAG ]]; then
python -m pip install twine
python -m twine upload wheelhouse/*.whl
fi
``` ```
For more information, including how to build on Appveyor, Azure, CircleCI, check out the [documentation](https://cibuildwheel.readthedocs.org). For more information, including how to build on Appveyor, Azure, CircleCI, check out the [documentation](https://cibuildwheel.readthedocs.org) and also check out [the examples](https://github.com/joerick/cibuildwheel/tree/master/examples).
Options Options
------- -------
+22 -20
View File
@@ -47,37 +47,39 @@ Commit this file, enable building of your repo on Azure Pipelines, and push.
Wheels will be stored for you and available through the Pipelines interface. For more info on this file, check out the [docs](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema). Wheels will be stored for you and available through the Pipelines interface. For more info on this file, check out the [docs](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema).
# Travis CI [linux/mac] {: #travis-ci} # Travis CI [linux/mac/windows] {: #travis-ci}
To build Linux and Mac wheels on Travis CI, create a `.travis.yml` file in your repo. To build Linux, Mac, and Windows wheels on Travis CI, create a `.travis.yml` file in your repo.
> .travis.yml > .travis.yml
```yaml ```yaml
language: python language: python
matrix: jobs:
include: include:
- sudo: required # perform a linux build
services: - services: docker
- docker # and a mac build
env: PIP=pip
- os: osx - os: osx
language: generic language: shell
env: PIP=pip2 # and a windows build
script:
- $PIP install cibuildwheel==1.0.0
- cibuildwheel --output-dir wheelhouse
```
To build on Windows too, add this matrix entry:
```yaml
- os: windows - os: windows
language: shell language: shell
before_install: before_install:
- choco install python3 --version 3.6.8 --no-progress -y - choco install python --version 3.8.0
env: - export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
- PATH=/c/Python36:/c/Python36/Scripts:$PATH
env:
global:
- TWINE_USERNAME=joerick
# Note: TWINE_PASSWORD is set in Travis settings
install:
- python -m pip install twine cibuildwheel==1.0.0
script:
# build the wheels, put them into './wheelhouse'
- python -m cibuildwheel --output-dir wheelhouse
``` ```
Note that building Windows Python 2.7 wheels on Travis is unsupported. Note that building Windows Python 2.7 wheels on Travis is unsupported.
+34
View File
@@ -0,0 +1,34 @@
# As written, this configuration will build your wheels on every
# commit, but will only push to PyPI on tagged commits.
language: python
jobs:
include:
# perform a linux build
- services: docker
# and a mac build
- os: osx
language: shell
# and a windows build
- os: windows
language: shell
before_install:
- choco install python --version 3.8.0
- export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
env:
global:
- TWINE_USERNAME=joerick
# Note: TWINE_PASSWORD is set in Travis settings
install:
- python -m pip install twine cibuildwheel==1.0.0
script:
# build the wheels, put them into './wheelhouse'
- python -m cibuildwheel --output-dir wheelhouse
after_success:
# if the release was tagged, upload them to PyPI
- if [[ $TRAVIS_TAG ]]; then python -m twine upload wheelhouse/*.whl; fi
+77
View File
@@ -0,0 +1,77 @@
# In this configuration, the package is tested against multiple versions of python
# on Linux and on one version of Python on Windows. If and only if all tests pass
# will the wheels be built and deployed. Further, deployment is only initiated if
# the current branch is "master", the current commit is tagged, and the current
# repo is yours (e.g. it won't run on a Pull Request). For convenience, a source
# distribution is also created.
language: python
python:
- 3.5
- 3.6
- 3.7
- 3.8
before_install:
- |
if [[ "$TRAVIS_OS_NAME" = windows ]]; then
choco install python --version 3.8.0
export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
fi
install:
- python -m pip install pytest
script:
- python setup.py install
- pytest
stages:
- test
# Only execute deployment stage on master branch, tagged commits,
# and from your repository (e.g. not PRs). Replace with your repo name.
- name: deploy
if: branch = master AND tag IS PRESENT AND repo = joerick/cibuildwheel
jobs:
include:
# Optional: run a test on Windows
- os: windows
language: shell
name: Test on Windows
# Deploy source distribution
- stage: deploy
name: Deploy source distribution
install: skip
script: python setup.py sdist --formats=gztar
after_success: python -m twine upload --skip-existing dist/*.tar.gz
# Deploy on linux
- stage: deploy
name: Build and deploy Linux wheels
services: docker
install: python -m pip install twine cibuildwheel==1.0.0
script: python -m cibuildwheel --output-dir wheelhouse
after_success: python -m twine upload --skip-existing wheelhouse/*.whl
# Deploy on mac
- stage: deploy
name: Build and deploy macOS wheels
os: osx
language: shell
install: python -m pip install twine cibuildwheel==1.0.0
script: python -m cibuildwheel --output-dir wheelhouse
after_success: python -m twine upload --skip-existing wheelhouse/*.whl
# Deploy on windows
- stage: deploy
name: Build and deploy Windows wheels
os: windows
language: shell
install: python -m pip install twine cibuildwheel==1.0.0
script: python -m cibuildwheel --output-dir wheelhouse
after_success: python -m twine upload --skip-existing wheelhouse/*.whl
env:
global:
- TWINE_USERNAME=joerick
# Note: TWINE_PASSWORD is set in Travis settings