diff --git a/.env.tpl b/.env.tpl index a9bc6459..3fdb1024 100644 --- a/.env.tpl +++ b/.env.tpl @@ -48,10 +48,12 @@ USER_PROPERTIES_PATH= KEYSTORE_PATH= KEYSTORE_PASSWORD= - # Optional database configuration options. # Uncomment and modify to customize database configuration. # JDBC_URL=jdbc:postgresql://db:5432/mpf # POSTGRES_USER=mpf # POSTGRES_PASSWORD=password # POSTGRES_DB=mpf + +# Set this if using "docker-compose.stress.test.yml". +EXTRA_TEST_DATA_PATH= \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index ab2e25fa..64b539de 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,7 +44,7 @@ def pollReposAndEndBuild = env.poll_repos_and_end_build?.toBoolean() ?: false def postBuildStatusEnabled = 'post_build_status' in env ? env.post_build_status.toBoolean() : true def githubAuthToken = env.github_auth_token def emailRecipients = env.email_recipients - +def testDataPath = env.test_data_path ?: '' class Repo { @@ -321,6 +321,9 @@ try { stage('Run Integration Tests') { dir('openmpf-docker') { def composeFiles = "docker-compose.integration.test.yml:$componentComposeFiles" + if (testDataPath) { + composeFiles = "docker-compose.stress.test.yml:$composeFiles" + } def nproc = shOutput('nproc') as int def servicesInSystemTests = ['ocv-face-detection', 'darknet-detection', 'dlib-face-detection', @@ -333,6 +336,7 @@ try { withEnv(["TAG=$inProgressTag", "EXTRA_MVN_OPTIONS=$mvnTestOptions", + "EXTRA_TEST_DATA_PATH=$testDataPath", // Use custom project name to allow multiple builds on same machine "COMPOSE_PROJECT_NAME=openmpf_$buildId", "COMPOSE_FILE=$composeFiles"]) { diff --git a/docker-compose.stress.test.yml b/docker-compose.stress.test.yml new file mode 100644 index 00000000..e3cd01a1 --- /dev/null +++ b/docker-compose.stress.test.yml @@ -0,0 +1,32 @@ +############################################################################# +# NOTICE # +# # +# This software (or technical data) was produced for the U.S. Government # +# under contract, and is subject to the Rights in Data-General Clause # +# 52.227-14, Alt. IV (DEC 2007). # +# # +# Copyright 2020 The MITRE Corporation. All Rights Reserved. # +############################################################################# + +############################################################################# +# Copyright 2020 The MITRE Corporation # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +############################################################################# + +version: '3.7' + +services: + workflow-manager: + volumes: + - ${EXTRA_TEST_DATA_PATH}:/mpfdata:ro