File tree Expand file tree Collapse file tree 6 files changed +169
-22
lines changed Expand file tree Collapse file tree 6 files changed +169
-22
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e -x
4
+
5
+ yum update -y
6
+ yum install -y libtool autoconf automake
7
+
8
+ PYTHON_VERSIONS=" cp35-cp35m"
9
+
10
+ # Compile wheels
11
+ for PYTHON_VERSION in ${PYTHON_VERSIONS} ; do
12
+ PYTHON=" /opt/python/${PYTHON_VERSION} /bin/python"
13
+ PIP=" /opt/python/${PYTHON_VERSION} /bin/pip"
14
+ ${PIP} install --upgrade pip wheel
15
+ ${PIP} install --upgrade setuptools
16
+ ${PIP} install -r /io/.ci/requirements.txt
17
+ make -C /io/ PYTHON=" ${PYTHON} " distclean
18
+ make -C /io/ PYTHON=" ${PYTHON} "
19
+ ${PIP} wheel /io/ -w /io/dist/
20
+ done
21
+
22
+ # Bundle external shared libraries into the wheels.
23
+ for whl in /io/dist/* .whl; do
24
+ auditwheel repair $whl -w /io/dist/
25
+ rm /io/dist/* -linux_* .whl
26
+ done
27
+
28
+ for PYTHON_VERSION in ${PYTHON_VERSIONS} ; do
29
+ PYTHON=" /opt/python/${PYTHON_VERSION} /bin/python"
30
+ PIP=" /opt/python/${PYTHON_VERSION} /bin/pip"
31
+ ${PIP} install ${PYMODULE} --no-index -f file:///io/dist
32
+ rm -rf /io/tests/__pycache__
33
+ make -C /io/ PYTHON=" ${PYTHON} " test
34
+ rm -rf /io/tests/__pycache__
35
+ done
Original file line number Diff line number Diff line change
1
+ cython >= 0.24
2
+ aiohttp
3
+ twine
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e -x
4
+
5
+
6
+ if [ -z " ${TRAVIS_TAG} " ]; then
7
+ # Not a release
8
+ exit 0
9
+ fi
10
+
11
+
12
+ pushd $( dirname $0 ) > /dev/null
13
+ _root=$( dirname $( pwd -P) )
14
+ popd > /dev/null
15
+
16
+
17
+ _upload_wheels () {
18
+ set +x
19
+ echo python -m twine upload \
20
+ --username " ${PYPI_USER} " --password " <secret>" \
21
+ " ${_root} /dist" /* .whl
22
+ python -m twine upload \
23
+ --username " ${PYPI_USER} " --password " ${PYPI_PASSWD} " \
24
+ " ${_root} /dist" /* .whl
25
+
26
+ set -x
27
+ sudo rm -rf " ${_root} /dist" /* .whl
28
+ }
29
+
30
+
31
+ # Release build
32
+ if [ " ${TRAVIS_OS_NAME} " == " linux" ]; then
33
+ docker pull quay.io/pypa/manylinux1_x86_64
34
+ docker run --rm \
35
+ -v " ${_root} " :/io -e " PYMODULE=${PYMODULE} " \
36
+ quay.io/pypa/manylinux1_x86_64 \
37
+ /io/.ci/build-manylinux-wheels.sh
38
+
39
+ _upload_wheels
40
+
41
+ docker pull quay.io/pypa/manylinux1_i686
42
+ docker run --rm \
43
+ -v " ${_root} " :/io -e " PYMODULE=${PYMODULE} " \
44
+ quay.io/pypa/manylinux1_i686 linux32 \
45
+ /io/.ci/build-manylinux-wheels.sh
46
+
47
+ _upload_wheels
48
+
49
+ elif [ " ${TRAVIS_OS_NAME} " == " osx" ]; then
50
+ eval " $( pyenv init -) "
51
+ pyenv local ${PYTHON_VERSION}
52
+
53
+ make -C " ${_root} " distclean
54
+ make -C " ${_root} "
55
+ pip wheel " ${_root} " -w " ${_root} /dist/"
56
+
57
+ pip install ${PYMODULE} --no-index -f " file:///${_root} /dist"
58
+ pushd / > /dev/null
59
+ make -C " ${_root} " test
60
+ popd > /dev/null
61
+
62
+ _upload_wheels
63
+
64
+ else
65
+ echo " Cannot build on ${TRAVIS_OS_NAME} ."
66
+ fi
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e -x
4
+
5
+ if [ " ${TRAVIS_OS_NAME} " == " osx" ]; then
6
+ brew update
7
+
8
+ brew install gnu-sed --with-default-names
9
+ brew outdated libtool || brew upgrade libtool
10
+ brew outdated autoconf || brew upgrade autoconf --with-default-names
11
+ brew outdated automake || brew upgrade automake --with-default-names
12
+
13
+ brew install pyenv
14
+ eval " $( pyenv init -) "
15
+ pyenv versions
16
+
17
+ if ! (pyenv versions | grep " ${PYTHON_VERSION} $" ); then
18
+ pyenv install ${PYTHON_VERSION}
19
+ fi
20
+ pyenv local ${PYTHON_VERSION}
21
+ fi
22
+
23
+ pip install --upgrade pip wheel
24
+ pip install --upgrade setuptools
25
+ pip install -r .ci/requirements.txt
Original file line number Diff line number Diff line change 1
- language : python
1
+ language : generic
2
2
3
- os :
4
- - linux
3
+ sudo : required
5
4
6
- python :
7
- - 3.5
5
+ env :
6
+ global :
7
+ - PYMODULE=uvloop
8
+ - PYPI_USER=magicstack-ci
9
+ - secure : " uVBP1RmdqLS8iQKDZLP8k5ByHAkwDorOztk1HynEr3gSnMLZH3bhibvtXfVoz+bpdDI+JY3RF1uNhR14XdQX6KMmBqSyU1c/fcOVURBVhKBeMbaUXR0nUAuh7Ac9xIuEhVvO6S/4vAsDzgnR4CJ/99Ns5tyo9GYMjlpdKAI87bqmnpHI2YZ7qaQ+yab4LUrAQzd6QVByJaaHoH0WgCUWqZ3CJfPBk8ROB1Jj+oPWpOB1zw70fh+MSxYtuS/527DbGkHWWg/h7fzDEIUvYX02rNnmdC48ewXlA+yZx03W4cAK0v+RT0XT4+hgGGPl2G+DDYyXLVvwQlqV4GnbTRFKLX8DI+Gu2Lc1Cyni125lq7TormDWMh0kA2miUIMg35Mp/YaYCQORSY3cXZsNZH1QvfaP25GIsRc+KrzXdmksXb6osZLXTpDFNKjSRVh1Os4JlaPTeSo48f90dk662bcdQQIfiNqEpqA3Lf96bHvw62J1QkKxWyzz7BodhOBwB6y+KH4h3GwuCI58DKjX6VIZvw9W6B0yvP9Yu7a2InNMAmsQsiB0SIICN5zT+O9BR/9bHZBWXC/hL5estVz5p6Q/+fmYzCaYbiSjuOJzFJ42ku8NxMQBaJvjG1lAH8wGHTiE1ApufWQBL9VJR1nY+nFdG6n9QgLKKHVe1QtseTVgStg="
10
+
11
+ matrix :
12
+ include :
13
+ - os : osx
14
+ osx_image : xcode7.1 # OS X 10.10
15
+ # Travis macOS env does not support Python yet,
16
+ # so we have to set things up manually in install.sh.
17
+ env : PYTHON_VERSION=3.5.2
18
+ PIP_USER=1
19
+
20
+ - os : linux
21
+ dist : trusty
22
+ language : python
23
+ python : " 3.5"
24
+ services : [docker]
25
+
26
+ cache :
27
+ pip
8
28
9
29
install :
10
- - " pip install cython"
11
- - " pip install aiohttp"
30
+ - .ci/travis-install.sh
12
31
13
32
script :
14
- - make && make test
15
- - make debug && make test
33
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then eval "$(pyenv init -)"; fi
34
+ - make distclean && make && make test
35
+ - make distclean && make debug && make test
16
36
17
37
before_deploy :
18
- - rm -rf dist
19
- - make sdist
20
- - mv `find dist -name 'uvloop-*.tar.gz' | head -1` uvloop-release.tar.gz
38
+ - .ci/travis-build-and-upload.sh
21
39
22
40
deploy :
23
- provider : releases
24
- skip_cleanup : true
25
- api_key :
26
- secure : Rf7uGIR9IH7wPXHKB7LcdjQN2i0P0l7zsOz1IDzT/aNla/tWkxDawIbWTFE1gqaRwAZNAQvLh3xjPAh4XWAtd3Q06NbOFrL3/2uhwzb7fOyRbtqTN3OWkxBDgaTyNee4zVG/guhuDAp2keMIOA6DAk3ZpbIx6QTWErjo8c5mubQqAFKPmFuRhvYTzqg0TZD+iAaen7neAOXa0LDa23T929J96rHE2JmFG21Wx6tPOV31c5/gQmd6fcmmNL524I6pSz7TeRFKveKX6RJzcQwxJtrCsQNMq1pLqm3bd7cd/2MaaPP1EyHt7FXejnXqB0FPSssCgG5TbRzCpatrzRugsWl86uqVxINK8pE/h5wA0T1EwsdJkTeYitZmpQL3mbndArNWkzS+5AuVNEByuzdSSfBMukCgq6vfQI8vUnfF74UIvuzYlGANvAyCTpI7g3g33pgL+BicG5qGOUGvFBG+j2gmiwqsmwC5OxT2JljhI2s6udOu56hNNa9M+MhEvrEya0mNOoReqrZrQruxM4M9WKEWd3y13VVN2aaPoyNh8BLXYnU+CZ+d+O/j0sXoUwx2NG1yU+xYirsoSR3NVURQu10ZvS+H8H3Uu8C6b+XJYfz3w7LXdyjXKSRIjtbsVNreda6dnRR7NfK9PCG9lgchmVkd9+Cc2DcDwfHOXjdy2qs=
27
- file :
28
- - uvloop-release.tar.gz
29
- on :
30
- repo : MagicStack/uvloop
31
- tags : true
41
+ skip_cleanup : true
42
+ provider : pypi
43
+ user : magicstack-ci
44
+ password :
45
+ secure : F08sPDASx4iqS7q9vXbaeIR/lgAaCQVgXQoKB6kXT1I/hMjjev86XesNeGmrAnyhz/nj9VlU5axl0Pjf3nk3t6dwPgH4W7SCxkqLrwWSNUcalEmFMZW3FWNSZApevrK1Tj0naY96j+7xcoO5UwoWQI5N5lJAEGRFYYXkenfp2YHLPRT0imTL78Xydom9Ab+HFyUWGnrF95aizC+c+19KKvRQBySxbSztNinztJ1mHa66UY/kv1x8irJPhvS33SWG7SVEAqUTnD7vZa/OtT96MD6RZTNNFS++wFPSI3TEsIwLeIPS26I/vR6ta5Hga3xa9q+1XZw/fx44Q+aVvOd0sTrr9ZvbpPlKO4QJJQZ04+6Mi7zvCrq+6fq5TDQmU0K9l3vWWpQFSL4cWejyDEv8qjB+fok7fWLOWHqDlaoBIUKAYJu9KwWMWx7r81cpPUhZaZ5mULgcXhZiYMiI2dWzZNYKPvrzkXm1Mw8csotM+GXguLUGVbgSO0KzUk+L6yiVjWC5zYNJbLDALrU0Iw+FYYE6JssWm8meXHn0M9kS3FABi/EgHlITVwTHrfQrfhCPvcZU3NBtgUnPiEEQpsrLw4tWL5jgh8Y71WJAkFn5Lmhx2UCsBE5HVWuCPMPfeYr2PrhtyXz1WoapTk8EM/RA3IeA1PmZkaLuairMX4pw56o=
46
+ distributions : sdist
47
+ on :
48
+ tags : true
49
+ all_branches : true
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ check-env:
20
20
21
21
22
22
clean-libuv :
23
- git -C vendor/libuv clean -dfX
23
+ (cd vendor/libuv; git clean -dfX)
24
24
25
25
26
26
sdist-libuv : clean-libuv
You can’t perform that action at this time.
0 commit comments