This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch jmac/performance-ci in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 08f6469121932c9262ea9633e59242fef110feec Author: Jim MacArthur <[email protected]> AuthorDate: Thu Mar 8 16:02:26 2018 +0000 .gitlab-ci.yml: Add the performance test. This invokes the `benchmarks` tool to do simple performance tests on the commit under test. --- .gitlab-ci.yml | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a31e0fa..9813e15 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,9 +15,6 @@ before_script: - mount - df -h - - useradd -Um buildstream - - chown -R buildstream:buildstream . - ##################################################### # Prepare stage # ##################################################### @@ -62,12 +59,20 @@ source_dist: # Test stage # ##################################################### +# This is a YAML anchor to set up users for linux-tests and unix-tests +# (it will not work on linux-perf-tests). +.user_setup: &shared_user_setup + before_script: + - useradd -Um buildstream; + - chown -R buildstream:buildstream .; + # Run premerge commits # linux-tests: stage: test variables: PYTEST_ADDOPTS: "--color=yes" + <<: *shared_user_setup # Add the before_script from .user_setup script: - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache" @@ -99,6 +104,7 @@ unix-tests: variables: BST_FORCE_BACKEND: "unix" PYTEST_ADDOPTS: "--color=yes" + <<: *shared_user_setup # Add the before_script from .user_setup script: - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache" @@ -149,6 +155,46 @@ docs: - source_dist +############################################ +# Performance test # +############################################ + +# This checks out a specific revision of the 'benchmark' repository and uses it to +# run a benchmark on the version of BuildStream currently under test. It can only run +# on specific runner hardware matching the 'benchmark' tag. This test is allowed to fail +# at the moment. +linux-perf-tests: + stage: test + allow_failure: true + tags: + - benchmarks + variables: + PYTEST_ADDOPTS: "--color=yes" + script: + + # No need to install BuildStream here, just tell the benchmarks repo + # to use the commit SHA and repository. + - git clone https://gitlab.com/BuildStream/benchmarks.git + - cd benchmarks + + # Use a fixed version of benchmarks so the results are comparable. + - git checkout 4e03d40d638eb2f3e2111d6eac9ec504d9d5737b + - | + cat > version_under_test.benchmark << EOF + version_defaults: + buildstream_repo: $CI_REPOSITORY_URL + + versions: + - name: version-under-test + base_docker_ref: latest + buildstream_ref: master + buildstream_commit: $CI_COMMIT_SHA + EOF + - python3 -m bst_benchmarks -c configs/buildstream-ci.benchmark -c version_under_test.benchmark > results.json + artifacts: + paths: + - benchmarks/results.json + ##################################################### # Post stage # #####################################################
