Merge pull request #228 from SethMMorton/update-travis-examples
Update travis examples
This commit is contained in:
@@ -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
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user