version: 2 jobs: flake8: docker: - image: circleci/python:3.7 steps: - checkout - restore_cache: keys: - flake8-dependencies - run: name: "create venv for caching" command: | python3 -m venv venv - run: name: "install flake8" command: | . venv/bin/activate pip install flake8 - save_cache: paths: - ./venv key: flake8-dependencies - run: name: "run flake8" command: | . venv/bin/activate flake8 build_ctp_gcc8: <<: &build_spec docker: - image: registry.cn-shanghai.aliyuncs.com/vnpy-ci/gcc-8-python-3.7:1.0 - image: circleci/postgres:latest environment: POSTGRES_DB: &db_name "vnpy" POSTGRES_USER: "postgres" POSTGRES_PASSWORD: &db_password "1234" - image: circleci/mysql:latest environment: MYSQL_DATABASE: *db_name MYSQL_ROOT_PASSWORD: *db_password - image: circleci/mongo:latest environment: <<: &build_environment VNPY_TEST_POSTGRESQL_PASSWORD: *db_password VNPY_TEST_MYSQL_PASSWORD: *db_password VNPY_BUILD_CTP: "1" VNPY_BUILD_OES: "0" # best suit for circle-ci VNPY_BUILD_PARALLEL: "2" steps: - checkout - run: name: "create venv for caching" command: | python3 -m venv venv - restore_cache: keys: - v2-dependencies-{{ checksum "requirements.txt" }} # fallback to using the latest cache if no exact match is found - v2-dependencies- - run: name: "showing environments" command: | . venv/bin/activate source ci/env.sh echo $PWD python -V pip list gcc --version free cat /proc/cpuinfo|grep -P "(processor|cpu MHz|model name)" set - run: name: "install some special pip packages" command: | . venv/bin/activate source ci/env.sh python -m pip --version python -m pip install --upgrade pip wheel setuptools python -m pip install https://pip.vnpy.com/colletion/ibapi-9.75.1-001-py3-none-any.whl bash ci/gitlab_pre_install.sh - run: name: "install vnpy and its dependents" command: | . venv/bin/activate source ci/env.sh bash ./install.sh - save_cache: paths: - ./venv key: v2-dependencies-{{ checksum "requirements.txt" }} - run: name: "test" command: | . venv/bin/activate source ci/env.sh set cd tests python test_all.py build_oes_gcc8: <<: *build_spec environment: <<: *build_environment VNPY_BUILD_CTP: "0" VNPY_BUILD_OES: "1" python_only: <<: *build_spec environment: <<: *build_environment VNPY_BUILD_CTP: "0" VNPY_BUILD_OES: "0" workflows: version: 2 build_ctp_gcc8: jobs: - build_ctp_gcc8 build_oes_gcc8: jobs: - build_oes_gcc8 flake8: jobs: - flake8 python_only: jobs: - python_only