mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
ci/circle: speed up tests / coverage
Instead of running the testsuite twice when coverage is need, only run it once (without filtering out `nocov` tests): with `cluacov` installed, it's only 50% slower than a normal run.
This commit is contained in:
committed by
Frans de Jonge
parent
ea5d424868
commit
74c9347bba
@@ -7,11 +7,9 @@ source "${CI_DIR}/common.sh"
|
|||||||
set +e
|
set +e
|
||||||
|
|
||||||
if [ -z "${CIRCLE_PULL_REQUEST}" ] && [ "${CIRCLE_BRANCH}" = 'master' ]; then
|
if [ -z "${CIRCLE_PULL_REQUEST}" ] && [ "${CIRCLE_BRANCH}" = 'master' ]; then
|
||||||
travis_retry make --assume-old=all coverage
|
echo -e "\\n${ANSI_GREEN}Uploading coverage."
|
||||||
pushd install/koreader && {
|
cd install/koreader && {
|
||||||
# see https://github.com/codecov/example-lua
|
# see https://github.com/codecov/example-lua
|
||||||
bash <(curl -s https://codecov.io/bash)
|
bash <(curl -s https://codecov.io/bash)
|
||||||
} && popd || exit
|
}
|
||||||
else
|
|
||||||
echo -e "\\n${ANSI_GREEN}Not on official master branch. Skipping coverage."
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
10
.ci/test.sh
10
.ci/test.sh
@@ -4,6 +4,14 @@ CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
source "${CI_DIR}/common.sh"
|
source "${CI_DIR}/common.sh"
|
||||||
|
|
||||||
make testfront --assume-old=all T="-o '${PWD}/test-results.xml'"
|
if [[ -z "${CIRCLE_PULL_REQUEST}" ]] && [[ "${CIRCLE_BRANCH}" == 'master' ]]; then
|
||||||
|
# We're on master: do a full testsuite run with coverage.
|
||||||
|
target='coverage'
|
||||||
|
else
|
||||||
|
# Pull request / not on master: do a regular testsuite run.
|
||||||
|
target='testfront'
|
||||||
|
fi
|
||||||
|
|
||||||
|
make "${target}" --assume-old=all T="-o '${PWD}/test-results.xml'"
|
||||||
|
|
||||||
# vim: sw=4
|
# vim: sw=4
|
||||||
|
|||||||
@@ -103,11 +103,11 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Test
|
name: Test
|
||||||
command: .ci/test.sh
|
command: .ci/test.sh
|
||||||
# Docs, coverage, and test timing (can we use two outputs at once?); master branch only.
|
# Upload coverage statistics (master branch only).
|
||||||
- run:
|
- run:
|
||||||
name: Coverage
|
name: Uploading coverage
|
||||||
command: .ci/after_success.sh
|
command: .ci/after_success.sh
|
||||||
# By storing the test results CircleCI automatically distributes tests based on execution time.
|
# Store test results for better feedback / insights.
|
||||||
- store_test_results:
|
- store_test_results:
|
||||||
path: &TESTS_XML test-results.xml
|
path: &TESTS_XML test-results.xml
|
||||||
# CircleCI doesn't make the test results available as artifacts (October 2017).
|
# CircleCI doesn't make the test results available as artifacts (October 2017).
|
||||||
@@ -129,7 +129,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: fetch
|
name: fetch
|
||||||
command: .ci/fetch.sh
|
command: .ci/fetch.sh
|
||||||
# docs, coverage, and test timing (can we use two outputs at once?); master branch only
|
# Docs & translations (master branch only).
|
||||||
- run:
|
- run:
|
||||||
name: docs-and-translation
|
name: docs-and-translation
|
||||||
command: .ci/after_success_docs_translation.sh
|
command: .ci/after_success_docs_translation.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user