diff options
5 files changed, 31 insertions, 1 deletions
diff --git a/resources/libraries/bash/entry/bootstrap_verify_perf.sh b/resources/libraries/bash/entry/bootstrap_verify_perf.sh index 1e742c546e..b9299b1422 100644 --- a/resources/libraries/bash/entry/bootstrap_verify_perf.sh +++ b/resources/libraries/bash/entry/bootstrap_verify_perf.sh @@ -48,4 +48,5 @@ select_tags || die compose_pybot_arguments || die run_pybot || die untrap_and_unreserve_testbed || die +copy_archives || die die_on_pybot_error || die diff --git a/resources/libraries/bash/entry/bootstrap_vpp_device.sh b/resources/libraries/bash/entry/bootstrap_vpp_device.sh index 32c77c99d5..209943fb89 100755 --- a/resources/libraries/bash/entry/bootstrap_vpp_device.sh +++ b/resources/libraries/bash/entry/bootstrap_vpp_device.sh @@ -45,4 +45,5 @@ activate_docker_topology || die select_vpp_device_tags || die compose_pybot_arguments || die run_pybot || die +copy_archives || die die_on_pybot_error || die diff --git a/resources/libraries/bash/entry/per_patch_device.sh b/resources/libraries/bash/entry/per_patch_device.sh index 4c9399a729..ac2c4a4ac5 100644 --- a/resources/libraries/bash/entry/per_patch_device.sh +++ b/resources/libraries/bash/entry/per_patch_device.sh @@ -55,5 +55,6 @@ activate_docker_topology || die select_vpp_device_tags || die compose_pybot_arguments || die run_pybot || die +copy_archives || die archive_test_results "csit_current" || die die_on_pybot_error || die diff --git a/resources/libraries/bash/entry/per_patch_perf.sh b/resources/libraries/bash/entry/per_patch_perf.sh index fd2d789d94..195d1a70e0 100644 --- a/resources/libraries/bash/entry/per_patch_perf.sh +++ b/resources/libraries/bash/entry/per_patch_perf.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # 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: @@ -70,6 +70,7 @@ for ((iter=0; iter<iterations; iter++)); do select_build "build_parent" || die check_download_dir || die run_pybot || die + copy_archives || die archive_parse_test_results "csit_parent/${iter}" || die die_on_pybot_error || die # TODO: Use less heavy way to avoid apt remove failures. @@ -77,6 +78,7 @@ for ((iter=0; iter<iterations; iter++)); do select_build "build_current" || die check_download_dir || die run_pybot || die + copy_archives || die archive_parse_test_results "csit_current/${iter}" || die die_on_pybot_error || die done diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index 549688f7bd..a7f79e0de9 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -286,6 +286,31 @@ function compose_pybot_arguments () { } +function copy_archives () { + + # Create additional archive if workspace variable is set. + # This way if script is running in jenkins all will be + # automatically archived to logs.fd.io. + # + # Variables read: + # - WORKSPACE - Jenkins workspace, copy only if the value is not empty. + # Can be unset, then it speeds up manual testing. + # - ARCHIVE_DIR - Path to directory with content to be copied. + # Directories updated: + # - ${WORKSPACE}/archives/ - Created if does not exist. + # Content of ${ARCHIVE_DIR}/ is copied here. + # Functions called: + # - die - Print to stderr and exit. + + set -exuo pipefail + + if [[ -n "${WORKSPACE-}" ]]; then + mkdir -p "${WORKSPACE}/archives/" || die "Archives dir create failed." + cp -rf "${ARCHIVE_DIR}"/* "${WORKSPACE}/archives" || die "Copy failed." + fi +} + + function deactivate_docker_topology () { # Deactivate virtual vpp-device topology by removing containers. |