version: 2 aliases: common: &common macos: xcode: 9.0 update-submodules: &update-submodules run: name: Update submodules command: git submodule update --init --recursive install-dependencies: &install-dependencies run: name: Install dependencies command: .circleci/install_dependencies.sh run-tests: &run-tests run: name: Run tests command: ./run_tests.py --coverage upload-coverage: &upload-coverage run: name: Upload coverage command: bash <(curl -s https://codecov.io/bash) # Increase the version key to clear the cache. save-cache: &save-cache save_cache: key: v2-ycm-{{ .Environment.CIRCLE_JOB }} paths: - ~/Library/Caches/Homebrew - ~/Library/Caches/pip - ~/.pyenv restore-cache: &restore-cache restore_cache: key: v2-ycm-{{ .Environment.CIRCLE_JOB }} jobs: python2: <<: *common steps: - checkout - *update-submodules - *restore-cache - *install-dependencies - *save-cache - *run-tests - *upload-coverage environment: YCMD_PYTHON_VERSION: 2.7 python3: <<: *common steps: - checkout - *update-submodules - *restore-cache - *install-dependencies - *save-cache - *run-tests - *upload-coverage environment: YCMD_PYTHON_VERSION: 3.4 workflows: version: 2 build: jobs: - python2 - python3