klayout/.travis.yml

582 lines
16 KiB
YAML
Raw Normal View History

2018-07-16 07:53:10 +02:00
matrix:
include:
# python manylinux packages
2018-12-20 21:19:30 +01:00
- name: "cp37-cp37m-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '3.7-dev'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp37-cp37m"
- DOCKER_BUILD=true
- TEST_IN_HOST=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp37-cp37m-manylinux1_i686.whl"
os: linux
sudo: true
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- PY_VERSION="cp37-cp37m"
- DOCKER_BUILD=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp36-cp36m-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '3.6'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp36-cp36m"
- DOCKER_BUILD=true
- TEST_IN_HOST=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp36-cp36m-manylinux1_i686.whl"
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
2018-12-20 21:19:30 +01:00
- name: "cp35-cp35m-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '3.5'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp35-cp35m"
- DOCKER_BUILD=true
- TEST_IN_HOST=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp35-cp35m-manylinux1_i686.whl"
os: linux
sudo: true
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- PY_VERSION="cp35-cp35m"
- DOCKER_BUILD=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp34-cp34m-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '3.4'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp34-cp34m"
- DOCKER_BUILD=true
- TEST_IN_HOST=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp34-cp34m-manylinux1_i686.whl"
os: linux
sudo: true
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- PY_VERSION="cp34-cp34m"
- DOCKER_BUILD=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp27-cp27mu-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '2.7'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp27-cp27mu"
- DOCKER_BUILD=true
- TEST_IN_HOST=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp27-cp27mu-manylinux1_i686.whl"
os: linux
sudo: true
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- PY_VERSION="cp27-cp27mu"
- DOCKER_BUILD=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp27-cp27m-manylinux1_x86_64.whl"
os: linux
sudo: true
language: python
python: '2.7'
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- PY_VERSION="cp27-cp27m"
- DOCKER_BUILD=true
- TEST_IN_HOST=false # travis's python 2.7 uses ucs4 (mu), so this test fails.
- MATRIX_EVAL=""
cache:
directories:
- ccache
2018-12-20 21:19:30 +01:00
- name: "cp27-cp27m-manylinux1_i686.whl"
os: linux
sudo: true
services:
- docker
env:
- DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- PY_VERSION="cp27-cp27m"
- DOCKER_BUILD=true
- MATRIX_EVAL=""
cache:
directories:
- ccache
# python 2 osx
2018-12-20 21:19:30 +01:00
# - name: "klayout python2 osx10.13"
- name: "cp27-cp27m-macosx_10_13_x86_64.whl"
os: osx
2018-08-02 06:07:35 +02:00
osx_image: xcode9.4 # macOS 10.13
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
env:
- MATRIX_EVAL=""
2018-08-01 21:57:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- PIP_UPDATE="1"
- PYTHON_BUILD=true
2018-12-20 21:19:30 +01:00
# - name: "klayout python2 osx10.12"
- name: "cp27-cp27m-macosx_10_12_x86_64.whl"
os: osx
osx_image: xcode8.3 # macOS 10.12
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
env:
- MATRIX_EVAL="brew install python2 || brew link --overwrite python@2" # deficient python2 in travis's xcode8.3 (no ssl)
2018-08-01 21:57:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- PIP_UPDATE="1"
- PYTHON_BUILD=true
2018-12-20 21:19:30 +01:00
# - name: "klayout python2 osx10.11"
- name: "cp27-cp27m-macosx_10_11_x86_64.whl"
os: osx
osx_image: xcode8 # macOS 10.11
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
env:
- MATRIX_EVAL=""
2018-08-01 21:57:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- PIP_UPDATE="1"
- PYTHON_BUILD=true
# python 3 osx
2018-12-20 21:19:30 +01:00
# - name: "klayout python3 osx10.13"
- name: "cp37-cp37m-macosx_10_13_x86_64.whl"
os: osx
2018-08-02 06:07:35 +02:00
osx_image: xcode9.4 # macOS 10.13
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- python3
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
update: true
2018-08-02 06:07:35 +02:00
env:
- MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
2018-08-02 06:07:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- PIP_UPDATE="1"
- PYTHON_BUILD=true
2018-12-20 21:19:30 +01:00
# - name: "klayout python3.6.6 osx10.13"
- name: "cp36-cp36m-macosx_10_13_x86_64.whl"
os: osx
osx_image: xcode9.4 # macOS 10.13
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
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
2018-12-20 21:19:30 +01:00
# - name: "klayout python3.5.6 osx10.13"
- name: "cp35-cp35m-macosx_10_13_x86_64.whl"
os: osx
osx_image: xcode9.4 # macOS 10.13
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
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"
# - name: "cp34-cp34m-macosx_10_13_x86_64.whl"
# os: osx
# osx_image: xcode9.4 # macOS 10.13
# cache: ccache
# addons:
# homebrew:
# packages:
# - ccache
# 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
2018-12-20 21:19:30 +01:00
# - name: "klayout python3 osx10.12"
- name: "cp37-cp37m-macosx_10_12_x86_64.whl"
os: osx
2018-08-02 06:07:35 +02:00
osx_image: xcode8.3 # macOS 10.12
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- python3
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
update: true
2018-08-02 06:07:35 +02:00
env:
- MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
2018-08-02 06:07:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- PIP_UPDATE="1"
- PYTHON_BUILD=true
2018-12-20 21:19:30 +01:00
# - name: "klayout python3 osx10.11"
- name: "cp37-cp37m-macosx_10_11_x86_64.whl"
os: osx
2018-08-02 06:07:35 +02:00
osx_image: xcode8 # macOS 10.11
2018-12-20 20:09:56 +01:00
cache: ccache
addons:
homebrew:
packages:
- ccache
2018-08-02 06:07:35 +02:00
env:
2018-10-08 04:56:44 +02:00
- 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';"
2018-08-02 06:07:35 +02:00
- ARCHFLAGS="-std=c++11"
2018-08-02 15:21:52 +02:00
- 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
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- python3
- qt
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
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
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- python3
- qt
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
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
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- python3
update: true
env:
- MATRIX_EVAL="brew update; brew config; brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/56c500b569c724b049be7ab9e12d9693f85522f9/Formula/qt.rb" # Qt 5.11.2
- PYTHON_VERSION=B37
- MACOS_VERSION=ElCapitan
- KLAYOUT_BUILD=true
2018-07-12 01:43:07 +02:00
# Python 2
- name: "KLayout macOS 10.13 with py2.7"
os: osx
osx_image: xcode9.4 # macOS 10.13
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- qt
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
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
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
- qt
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
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
2018-12-20 20:09:56 +01:00
cache: ccache
2018-12-17 03:24:22 +01:00
addons:
homebrew:
packages:
2018-12-20 20:09:56 +01:00
- ccache
2018-12-17 03:24:22 +01:00
update: true
env:
- MATRIX_EVAL="brew update; brew config; brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/56c500b569c724b049be7ab9e12d9693f85522f9/Formula/qt.rb" # Qt 5.11.2
- PYTHON_VERSION=Sys
- MACOS_VERSION=ElCapitan
- KLAYOUT_BUILD=true
2018-07-16 07:53:10 +02:00
before_install:
2018-07-17 05:01:49 +02:00
- env
2018-07-17 04:26:17 +02:00
- gem install dropbox-deployment
2018-08-02 07:14:19 +02:00
- eval "${MATRIX_EVAL}"
2018-08-02 15:21:52 +02:00
- 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
2018-07-20 00:34:28 +02:00
- python -c "import distutils.sysconfig as sysconfig; print(sysconfig.__file__)"
2018-12-20 20:09:56 +01:00
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$PATH";
fi
2018-07-16 07:53:10 +02:00
install:
- if [ "$DOCKER_BUILD" = true ]; then
docker pull $DOCKER_IMAGE;
fi
2018-07-16 07:53:10 +02:00
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";
klayout_version=$(python -c 'import setup; print(setup.Config().version())');
mkdir -p deploy/dist-pymod/$klayout_version;
cp -a wheelhouse/klayout-*manylinux1*.whl deploy/dist-pymod/$klayout_version;
if [ "$TEST_IN_HOST" = true ]; then
pip install klayout --no-index -f ./wheelhouse;
python testdata/pymod/import_db.py;
python testdata/pymod/import_rdb.py;
python testdata/pymod/import_tl.py;
python testdata/pymod/pya_tests.py;
fi
fi
- if [ "$PYTHON_BUILD" = true ]; then
python setup.py build;
python setup.py bdist_wheel;
python setup.py install;
python testdata/pymod/import_db.py;
python testdata/pymod/import_rdb.py;
python testdata/pymod/import_tl.py;
2018-12-20 16:59:25 +01:00
python testdata/pymod/pya_tests.py;
klayout_version=$(python -c 'import setup; print(setup.Config().version())');
mkdir -p deploy/dist-pymod/$klayout_version;
2018-12-20 21:19:30 +01:00
cp -a dist/*.whl deploy/dist-pymod/$klayout_version;
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
2018-07-17 21:47:30 +02:00
2018-07-17 04:26:17 +02:00
after_success:
- dropbox-deployment