Skip to content

ci: run tests on Python 3.8 #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Nov 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 39 additions & 132 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,138 +1,76 @@
build-wheel: &build-wheel
working_directory: /work
steps:
- checkout
- run:
name: build wheel
command: bash /work/ci/build-wheels.sh
- run:
name: upload
command: |
if [ $CIRCLE_TAG ]; then source /work/ci/deploy.sh; fi
- store_artifacts:
path: wheelhouse/
test: &test
working_directory: ~/bencoder.pyx
steps:
- checkout
- run:
name: install dependencies
command: |
sudo pip install -r tox-requirements.txt
- restore_cache:
keys:
- tox-env-{{ checksum "test-requirements" }}-{{ checksum "build-requirements.txt" }}
- tox-env-
pip install -U pip setuptools wheel
pip install -r dev-requirements.txt
- run:
name: test
command: |
tox -e ${CIRCLE_JOB}
- save_cache:
key: tox-env-{{ checksum "test-requirements" }}-{{ checksum "build-requirements.txt" }}
paths:
- .tox
test_pypy: &test_pypy
working_directory: ~/bencoder.pyx
steps:
- checkout
- run:
name: install dependencies
command: |
pip install -r tox-requirements.txt
python setup.py test
- run:
name: test
name: upload coverage
command: |
tox -e ${CIRCLE_JOB}

pip install codecov
codecov --required
version: 2
jobs:
#
# test
#
py27:
docker:
- image: circleci/python:2.7
- image: python:2.7
<<: *test
py35:
docker:
- image: circleci/python:3.5
- image: python:3.5
<<: *test
py36:
docker:
- image: circleci/python:3.6
- image: python:3.6
<<: *test
py37:
docker:
- image: circleci/python:3.7
- image: python:3.7
<<: *test
py38:
docker:
- image: python:3.8
<<: *test
pypy:
docker:
- image: pypy:2
<<: *test_pypy
working_directory: ~/bencoder.pyx
steps:
- checkout
- run:
name: install dependencies
command: |
pip install -U pip setuptools wheel
pip install -r dev-requirements.txt
- run:
name: test
command: |
pypy setup.py test
pypy3:
docker:
- image: pypy:3
<<: *test_pypy

#
# build manylinux wheel
#

#
# x64
#
manylinux-x64_cp27-cp27m:
docker:
- image: quay.io/pypa/manylinux1_x86_64
<<: *build-wheel

manylinux-x64_cp27-cp27mu:
docker:
- image: quay.io/pypa/manylinux1_x86_64
<<: *build-wheel

manylinux-x64_cp35-cp35m:
docker:
- image: quay.io/pypa/manylinux1_x86_64
<<: *build-wheel

manylinux-x64_cp36-cp36m:
docker:
- image: quay.io/pypa/manylinux1_x86_64
<<: *build-wheel

manylinux-x64_cp37-cp37m:
docker:
- image: quay.io/pypa/manylinux1_x86_64
<<: *build-wheel

#
# x86
#
manylinux-x86_cp27-cp27m:
docker:
- image: quay.io/pypa/manylinux1_i686
<<: *build-wheel

manylinux-x86_cp27-cp27mu:
docker:
- image: quay.io/pypa/manylinux1_i686
<<: *build-wheel

manylinux-x86_cp35-cp35m:
docker:
- image: quay.io/pypa/manylinux1_i686
<<: *build-wheel

manylinux-x86_cp36-cp36m:
docker:
- image: quay.io/pypa/manylinux1_i686
<<: *build-wheel

manylinux-x86_cp37-cp37m:
docker:
- image: quay.io/pypa/manylinux1_i686
<<: *build-wheel
working_directory: ~/bencoder.pyx
steps:
- checkout
- run:
name: install dependencies
command: |
pip install -U pip setuptools wheel
pip install -r dev-requirements.txt
- run:
name: test
command: |
pypy3 setup.py test

workflows:
version: 2
Expand All @@ -142,37 +80,6 @@ workflows:
- py35
- py36
- py37
- py38
- pypy
- pypy3

- manylinux-x64_cp27-cp27m:
requires:
- py27
- manylinux-x64_cp27-cp27mu:
requires:
- py27
- manylinux-x64_cp35-cp35m:
requires:
- py35
- manylinux-x64_cp36-cp36m:
requires:
- py36
- manylinux-x64_cp37-cp37m:
requires:
- py37

- manylinux-x86_cp27-cp27m:
requires:
- py27
- manylinux-x86_cp27-cp27mu:
requires:
- py27
- manylinux-x86_cp35-cp35m:
requires:
- py35
- manylinux-x86_cp36-cp36m:
requires:
- py36
- manylinux-x86_cp37-cp37m:
requires:
- py37
25 changes: 14 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
os: osx
language: generic
language: python
env:
global:
- CIBW_BEFORE_BUILD="pip install -r build-requirements.txt"
- CIBW_TEST_REQUIRES=pytest
- CIBW_TEST_COMMAND="pytest {project}/tests"
- secure: "R5OivfMMAw1BhdwbBjEjfxhkqtj+Ntqf+jh+05Mr3y1aV8tC9J1vsq213Q7J7teweJ7WteHSj8ymJk2DdJ5mOIFEPAWQeuUIzcaplmfmsxYNdUhj19Ok8E8XG+ppBHccDaS3eE6GM6tDB9PouOE0MGA8/j9DLHXDSPTrjO/+G+AQ7V9M2+XqiEHJrPhlzas1h37XKLa5EzMIMK3atoUS1CLg6JOa+Rgz9OfXs+wQyErdQ5BjNfzZH4BKFhHl1zBViPv+j3SHDkyFw92mbXx14qn8xiyY3ZtKisMKT/X5o8DUJbWN3OdFF65NQq5lcnTFjIx06LJmy+zLjnZ83qggRuRPxAV2D9ODRBjDY3bdBMVSeaP/0yKldZyd14UXU3Ahwymi9lHC+MRgzRx5VyovptgOq3RfZ97peRT0NRDuotcxG1oFcAOIutH7oQZiAWZV7LLSSc3JdNCbwjRDm0MqzoD4TcMa8vCJMEZWSzLLygJYiZC0OklTnOYko5wdYms8aJw1FPjXbc2UNo6bVXXnbdoxEfadxtWKskNKF6tSdl766CMh/jM3gMv2bZkY2mYSnNp1RL1sslE33BZPgzW5fyFnUBskwQZEOidWx+uQ1eiPsnvb5FBC8on59fTVKkHh6Xiffqltq8Yvy33P12qoV+S9GHMT4DOm9bQf/qob2fQ="
matrix:
- VERSION=2.7
- VERSION=3.5
- VERSION=3.6
- VERSION=3.7

install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then source ci/travis_osx_install.sh; fi
matrix:
include:
- sudo: required
services:
- docker
- os: osx
language: generic

script:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then source ci/travis_osx_script.sh; fi
- python -m pip install cibuildwheel==1.0.0 twine
- cibuildwheel --output-dir wheelhouse

after_success:
- ls wheelhouse/
- if [ $TRAVIS_TAG ]; then source ci/deploy.sh; fi
- if [ $TRAVIS_TAG ]; then twine upload --username whtsky --password $PYPI_PASSWORD wheelhouse/bencoder*.whl; fi
27 changes: 8 additions & 19 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,12 @@ version: "{branch}-{build}"
cache:
- '%LOCALAPPDATA%\pip\Cache'
environment:
CIBW_BEFORE_BUILD: "pip install -r build-requirements.txt"
CIBW_TEST_REQUIRES: pytest
CIBW_TEST_COMMAND: "pytest {project}/tests"
PYPI_PASSWD:
secure: pp1j5lAB9NN8ZDasgY+oxoGrNw0+4gGzbNZmHVwJkCzUyrNBP5ZIuCrwjmx4q6ifg7RMiE3bVt9MljFCJh3XpsvVOAcx+AGKsHSjtXd40HM=

matrix:
- PYTHON: "C:\\Python27"
- PYTHON: "C:\\Python27-x64"
- PYTHON: "C:\\Python35"
- PYTHON: "C:\\Python35-x64"
- PYTHON: "C:\\Python36"
- PYTHON: "C:\\Python36-x64"
- PYTHON: "C:\\Python37"
- PYTHON: "C:\\Python37-x64"

init:
- ps: "ls C:/Python*"

Expand All @@ -23,24 +16,20 @@ install:
- echo "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 > "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"
- pip install -r dev-requirements.txt

build: off
build_script:
- python -m pip install -U pip setuptools
- pip install cibuildwheel==1.0.0
- cibuildwheel --output-dir wheelhouse

test_script:
- python -m pip install -U pip setuptools
- pip install codecov
- python setup.py test
- codecov --required

after_test:
- del bencoder.c
- pip install wheel
- pip wheel . -w wheelhouse/
- ps: "ls wheelhouse/*"

deploy_script:
- ps: >-
if($env:appveyor_repo_tag -eq 'True') {
$env:Path += ";C:\Python35;C:\Python35\scripts"
$env:Path += ";C:\Python37;C:\Python37\scripts"
pip install twine
twine upload --username whtsky --password $env:PYPI_PASSWD wheelhouse/bencoder*.whl
}
Expand Down
24 changes: 0 additions & 24 deletions ci/build-wheels.sh

This file was deleted.

3 changes: 0 additions & 3 deletions ci/deploy.sh

This file was deleted.

5 changes: 0 additions & 5 deletions ci/travis_osx_install.sh

This file was deleted.

4 changes: 0 additions & 4 deletions ci/travis_osx_script.sh

This file was deleted.

3 changes: 1 addition & 2 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
-r test-requirements.txt
-r tox-requirements.txt
-r test-requirements.txt
8 changes: 0 additions & 8 deletions release.sh

This file was deleted.

1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ def get_tag(self):
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Intended Audience :: Developers',
Expand Down
1 change: 0 additions & 1 deletion tox-requirements.txt

This file was deleted.

8 changes: 0 additions & 8 deletions tox-wheels.ini

This file was deleted.

Loading