mirror of https://github.com/KLayout/klayout.git
352 lines
9.6 KiB
YAML
352 lines
9.6 KiB
YAML
matrix:
|
|
include:
|
|
# python manylinux packages
|
|
|
|
- name: "manylinux1_x86_64 cp36-cp36m package"
|
|
os: linux
|
|
sudo: true
|
|
services:
|
|
- docker
|
|
env:
|
|
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
|
|
- PY_VERSION="cp36-cp36m"
|
|
- DOCKER_BUILD=true
|
|
- MATRIX_EVAL=""
|
|
cache:
|
|
directories:
|
|
- ccache
|
|
|
|
- name: "manylinux1_i686 cp36-cp36m package"
|
|
os: linux
|
|
sudo: true
|
|
services:
|
|
- docker
|
|
env:
|
|
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
|
|
- PY_VERSION="cp36-cp36m"
|
|
- DOCKER_BUILD=true
|
|
- MATRIX_EVAL=""
|
|
cache:
|
|
directories:
|
|
- ccache
|
|
|
|
|
|
# python 2 osx
|
|
|
|
- name: "klayout python2 osx10.13"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python2 osx10.12"
|
|
os: osx
|
|
osx_image: xcode8.3 # macOS 10.12
|
|
env:
|
|
- MATRIX_EVAL="brew install python2 || brew link --overwrite python@2" # deficient python2 in travis's xcode8.3 (no ssl)
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python2 osx10.11"
|
|
os: osx
|
|
osx_image: xcode8 # macOS 10.11
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
# python 3 osx
|
|
|
|
- name: "klayout python3 osx10.13"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- python3
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3.6.6 osx10.13"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew install sashkab/python/python36; brew link --force --overwrite python36; shopt -s expand_aliases; alias python='/usr/local/opt/python36/bin/python3.6'; alias pip='/usr/local/opt/python36/bin/pip3.6';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3.5.6 osx10.13"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew install sashkab/python/python35; brew link --force --overwrite python35; shopt -s expand_aliases; alias python='/usr/local/opt/python35/bin/python3.5'; alias pip='/usr/local/opt/python35/bin/pip3.5';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3.4.9 osx10.13"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew install sashkab/python/python34; brew link --force --overwrite python34; shopt -s expand_aliases; alias python='/usr/local/opt/python34/bin/python3.4'; alias pip='/usr/local/opt/python34/bin/pip3.4';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3 osx10.12"
|
|
os: osx
|
|
osx_image: xcode8.3 # macOS 10.12
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- python3
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3 osx10.11"
|
|
os: osx
|
|
osx_image: xcode8 # macOS 10.11
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew config; brew upgrade python; brew postinstall python; ls -l /usr/local/opt/python/libexec/bin/; shopt -s expand_aliases; alias python='/usr/local/opt/python/libexec/bin/python'; alias pip='/usr/local/opt/python/libexec/bin/pip';"
|
|
- ARCHFLAGS="-std=c++11"
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
|
|
- name: "klayout python3.7 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '3.7-dev'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python3.6 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '3.6'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python2.7 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '2.7'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python2.6 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '2.6'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="0" # setuptools installed from last pip has syntax error on py 2.6
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python3.3 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '3.3'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python3.4 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '3.4'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
- name: "klayout python3.5 package"
|
|
os: linux
|
|
dist: trusty # Ubuntu 14.04
|
|
sudo: false
|
|
language: python
|
|
python: '3.5'
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PIP_UPDATE="1"
|
|
- PYTHON_BUILD=true
|
|
- CC=clang
|
|
- CXX=clang++
|
|
|
|
# KLayout builds for mac
|
|
# Python 3
|
|
- name: "KLayout macOS 10.13 with py3.7"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- python3
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PYTHON_VERSION=B37
|
|
- MACOS_VERSION=HighSierra
|
|
- KLAYOUT_BUILD=true
|
|
|
|
- name: "KLayout macOS 10.12 with py3.7"
|
|
os: osx
|
|
osx_image: xcode8.3 # macOS 10.12
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- python3
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PYTHON_VERSION=B37
|
|
- MACOS_VERSION=Sierra
|
|
- KLAYOUT_BUILD=true
|
|
|
|
- name: "KLayout macOS 10.11 with py3.7"
|
|
os: osx
|
|
osx_image: xcode8 # macOS 10.11
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- python3
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew install qt" # homebrew addon fails for xcode8
|
|
- PYTHON_VERSION=B37
|
|
- MACOS_VERSION=ElCapitan
|
|
- KLAYOUT_BUILD=true
|
|
|
|
# Python 2
|
|
- name: "KLayout macOS 10.13 with py2.7"
|
|
os: osx
|
|
osx_image: xcode9.4 # macOS 10.13
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PYTHON_VERSION=Sys
|
|
- MACOS_VERSION=HighSierra
|
|
- KLAYOUT_BUILD=true
|
|
|
|
- name: "KLayout macOS 10.12 with py2.7"
|
|
os: osx
|
|
osx_image: xcode8.3 # macOS 10.12
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL=""
|
|
- PYTHON_VERSION=Sys
|
|
- MACOS_VERSION=Sierra
|
|
- KLAYOUT_BUILD=true
|
|
|
|
- name: "KLayout macOS 10.11 with py2.7"
|
|
os: osx
|
|
osx_image: xcode8 # macOS 10.11
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- qt
|
|
update: true
|
|
env:
|
|
- MATRIX_EVAL="brew update; brew install qt" # homebrew addon fails for xcode8
|
|
- PYTHON_VERSION=Sys
|
|
- MACOS_VERSION=ElCapitan
|
|
- KLAYOUT_BUILD=true
|
|
|
|
before_install:
|
|
- env
|
|
- gem install dropbox-deployment
|
|
- eval "${MATRIX_EVAL}"
|
|
- if [ "${PIP_UPDATE}" == "1" ]; then
|
|
pip --version;
|
|
pip install --upgrade pip || sudo pip install --upgrade pip;
|
|
pip --version;
|
|
pip install --upgrade setuptools wheel || sudo pip install --upgrade setuptools wheel;
|
|
fi
|
|
- python -c "import distutils.sysconfig as sysconfig; print(sysconfig.__file__)"
|
|
|
|
install:
|
|
- if [ "$DOCKER_BUILD" = true ]; then
|
|
docker pull $DOCKER_IMAGE;
|
|
fi
|
|
|
|
script:
|
|
- if [ "$DOCKER_BUILD" = true ]; then
|
|
mkdir -p ccache;
|
|
mkdir -p wheelhouse;
|
|
docker run --rm -e DOCKER_IMAGE -e PY_VERSION -v `pwd`:/io $DOCKER_IMAGE $PRE_CMD "/io/ci-scripts/docker/docker_build.sh";
|
|
mkdir -p deploy/dist-pymod;
|
|
cp -a wheelhouse/klayout-*manylinux1*.whl deploy/dist-pymod;
|
|
fi
|
|
- if [ "$PYTHON_BUILD" = true ]; then
|
|
python setup.py build;
|
|
python setup.py bdist_wheel;
|
|
python setup.py install;
|
|
python -m unittest testdata/pymod/import_db.py testdata/pymod/import_rdb.py testdata/pymod/import_tl.py;
|
|
mkdir -p deploy/dist-pymod;
|
|
cp -a dist/* deploy/dist-pymod/;
|
|
python -c 'import klayout.db as db; print(dir(db))';
|
|
python -c 'import klayout.rdb as rdb; print(dir(rdb))';
|
|
python -c 'import klayout.tl as tl; print(dir(tl))';
|
|
fi
|
|
- if [ "$KLAYOUT_BUILD" = true ]; then
|
|
./travis-build.sh;
|
|
fi
|
|
|
|
after_success:
|
|
- dropbox-deployment
|