version: 2 common: &common docker: - image: neomake/vims-for-tests:50@sha256:7a9de350cebf98b1d67edc0fc74cc3e925a45b5a956ffbbf26a93d0262ada45d working_directory: ~/repo steps: - checkout - run: name: Run tests command: | cc-test-reporter before-build make --keep-going testcoverage TEST_VIM=$TEST_VIM - run: name: Handle coverage command: | set -x mkdir test-results cp -a .coverage_covimerage test-results/.coverage_covimerage.$CIRCLE_BUILD_NUM # Upload to codecov, which handles this per job itself. coverage xml # -Z: exit with 1 in case of failures. codecov -Z -X search -X gcov -X pycov -f coverage.xml \ -n "$CIRCLE_JOB" -F "${CIRCLE_JOB%%-*}" -e CIRCLE_JOB set +x - persist_to_workspace: root: . paths: - test-results/ jobs: nvim-038: <<: *common environment: TEST_VIM=/vim-build/bin/neovim-v0.3.8 nvim-017: <<: *common environment: TEST_VIM=/vim-build/bin/neovim-v0.1.7 nvim-master: <<: *common environment: TEST_VIM=/vim-build/bin/neovim-master vim-master: <<: *common environment: TEST_VIM=/vim-build/bin/vim-master vim-81: <<: *common environment: TEST_VIM=/vim-build/bin/vim81 vim-80: <<: *common environment: TEST_VIM=/vim-build/bin/vim80 vim-74-xenial: <<: *common environment: TEST_VIM=/vim-build/bin/vim74-xenial vim-74-trusty: <<: *common environment: TEST_VIM=/vim-build/bin/vim74-trusty vim-73: <<: *common environment: TEST_VIM=/vim-build/bin/vim73 checkqa: <<: *common steps: - checkout - run: make checkqa coverage: <<: *common steps: # TODO: checkout only necessary for covimerage plugin?! # Writing/using .coveragerc only might be enough. - checkout - attach_workspace: at: /tmp/workspace - run: name: Upload global coverage results command: | set -x cp -a /tmp/workspace/test-results/.coverage_covimerage.* . coverage combine coverage xml # Coveralls. # Only TRAVIS_JOB_ID is used by python-coveralls. env -u COVERALLS_PARALLEL TRAVIS_JOB_ID=$CIRCLE_WORKFLOW_ID coveralls # Codeclimate. cc-test-reporter after-build set +x workflows: version: 2 test: jobs: - nvim-038 - nvim-017 - vim-81 - vim-80 - vim-74-xenial - vim-74-trusty - vim-73 - nvim-master - vim-master - checkqa - coverage: requires: - nvim-master - nvim-038 - nvim-017 - vim-master - vim-81 - vim-80 - vim-74-xenial - vim-74-trusty - vim-73