You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
2.9 KiB
154 lines
2.9 KiB
# Python CircleCI 2.0 configuration file
|
|
#
|
|
# Check https://circleci.com/docs/2.0/language-python/ for more details
|
|
#
|
|
version: 2
|
|
jobs:
|
|
python3.8: &DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.8
|
|
|
|
environment:
|
|
TOX_ENV: py38
|
|
RUN_CHECK: 1
|
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
- checkout
|
|
|
|
# Download and cache dependencies
|
|
# - restore_cache:
|
|
# keys:
|
|
# - v1-dependencies-{{ .Environment.TOX_ENV }}-{{ checksum "requirements_dev.txt" }}
|
|
|
|
- run:
|
|
name: install dependencies
|
|
command: |
|
|
# pip install -U pip virtualenv --user
|
|
if ! which virtualenv; then
|
|
pip install 'virtualenv<=20.0.21' --user
|
|
fi
|
|
export PATH="~/.local/bin:$PATH"
|
|
|
|
virtualenv venv
|
|
. venv/bin/activate
|
|
|
|
pip install codecov
|
|
pip install tox
|
|
|
|
if [[ $RUN_CHECK == 1 ]]; then
|
|
pip install -U -r requirements_dev.txt
|
|
fi
|
|
|
|
if [[ $(python -c "import sys; print(sys.stdin.encoding)" |grep None) ]]; then
|
|
export PYTHONIOENCODING=utf-8
|
|
fi
|
|
#
|
|
# - save_cache:
|
|
# paths:
|
|
# - ./venv
|
|
# key: v1-dependencies-{{ .Environment.TOX_ENV }}-{{ checksum "requirements_dev.txt" }}
|
|
|
|
- run:
|
|
name: run tests
|
|
command: |
|
|
. venv/bin/activate
|
|
|
|
if [[ $RUN_CHECK == 1 ]]; then
|
|
pre-commit run --all-files
|
|
mypy pypinyin
|
|
fi
|
|
|
|
|
|
tox -e $TOX_ENV
|
|
|
|
python setup.py install
|
|
pypinyin hello
|
|
echo hello | pypinyin
|
|
pypinyin < setup.cfg
|
|
|
|
codecov
|
|
|
|
- store_artifacts:
|
|
path: test-reports
|
|
destination: test-reports
|
|
|
|
python3.9:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.9
|
|
environment:
|
|
TOX_ENV: py39
|
|
|
|
python3.7:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.7
|
|
environment:
|
|
TOX_ENV: py37
|
|
|
|
python3.6:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.6
|
|
environment:
|
|
TOX_ENV: py36
|
|
|
|
python3.5:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.5
|
|
environment:
|
|
TOX_ENV: py35
|
|
|
|
python3.4:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:3.4
|
|
environment:
|
|
TOX_ENV: py34
|
|
|
|
python2.7:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: circleci/python:2.7
|
|
environment:
|
|
TOX_ENV: py27
|
|
|
|
# python2.6:
|
|
# <<: *DEFAULT
|
|
# docker:
|
|
# - image: python:2.6
|
|
# environment:
|
|
# TOX_ENV: py33
|
|
|
|
pypy2:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: pypy:2
|
|
environment:
|
|
TOX_ENV: pypy
|
|
|
|
pypy3:
|
|
<<: *DEFAULT
|
|
docker:
|
|
- image: pypy:3
|
|
environment:
|
|
TOX_ENV: pypy3
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
testing:
|
|
jobs:
|
|
- python3.9
|
|
- python3.8
|
|
- python3.7
|
|
- python3.6
|
|
- python3.5
|
|
- python3.4
|
|
- python2.7
|
|
- pypy2
|
|
- pypy3
|