Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use zuul-cloner for tests repo in OpenStack-CI
When executing the tests repo clone in OpenStack-CI, use zuul-cloner instead of git to enable cross-repo testing. This ensures that if a dependent patch from the tests repo is noted using 'Depends-On: <change-id>' in the commit message, that patch will be included. Change-Id: If670c16726d8a2758dcae4b3097571dd2449418f Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
- Loading branch information
Jesse Pretorius
committed
May 4, 2017
1 parent
e6601b8
commit e0bea33
Showing
3 changed files
with
97 additions
and
12 deletions.
There are no files selected for viewing
Submodule common
added at
ce1466
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/bin/bash | ||
# Copyright 2017, Rackspace US, Inc. | ||
# | ||
# 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. | ||
|
||
# PURPOSE: | ||
# This script clones the openstack-ansible-tests repository to the | ||
# tests/common folder in order to be able to re-use test components | ||
# for role testing. | ||
|
||
# WARNING: | ||
# This file is maintained in the openstack-ansible-tests repository: | ||
# https://git.openstack.org/cgit/openstack/openstack-ansible-tests | ||
# If you need to change this script, then propose the change there. | ||
# Once it merges, the change will be replicated to the other repositories. | ||
|
||
## Shell Opts ---------------------------------------------------------------- | ||
|
||
set -e | ||
|
||
## Vars ---------------------------------------------------------------------- | ||
|
||
export TESTING_HOME=${TESTING_HOME:-$HOME} | ||
export WORKING_DIR=${WORKING_DIR:-$(pwd)} | ||
export CLONE_UPGRADE_TESTS=${CLONE_UPGRADE_TESTS:-no} | ||
|
||
## Main ---------------------------------------------------------------------- | ||
|
||
# Prepare the clonemap for zuul-cloner to use | ||
# This is placed here instead of inside the conditional | ||
# to prevent indentation problems. | ||
cat > ${TESTING_HOME}/tests-clonemap.yaml << EOF | ||
clonemap: | ||
- name: openstack/openstack-ansible-tests | ||
dest: ${WORKING_DIR}/tests/common | ||
EOF | ||
|
||
# If zuul-cloner is present, use it so that we | ||
# also include any dependent patches from the | ||
# tests repo noted in the commit message. | ||
if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then | ||
|
||
/usr/zuul-env/bin/zuul-cloner \ | ||
--cache-dir /opt/git \ | ||
--map ${TESTING_HOME}/tests-clonemap.yaml \ | ||
git://git.openstack.org \ | ||
openstack/openstack-ansible-tests | ||
|
||
# Alternatively, use a simple git-clone. We do | ||
# not re-clone if the directory exists already | ||
# to prevent overwriting any local changes which | ||
# may have been made. | ||
elif [[ ! -d tests/common ]]; then | ||
|
||
# The tests repo doesn't need a clone, we can just | ||
# symlink it. | ||
if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then | ||
ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common | ||
else | ||
git clone \ | ||
https://git.openstack.org/openstack/openstack-ansible-tests \ | ||
${WORKING_DIR}/tests/common | ||
fi | ||
fi | ||
|
||
# Clean up the clonemap. | ||
rm -f ${TESTING_HOME}/tests-clonemap.yaml | ||
|
||
# If this test set includes an upgrade test, the | ||
# previous stable release tests repo must also be | ||
# cloned. | ||
# Note: | ||
# Dependent patches to the previous stable release | ||
# tests repo are not supported. | ||
if [[ "${CLONE_UPGRADE_TESTS}" == "yes" ]]; then | ||
if [[ ! -d "${WORKING_DIR}/tests/common/previous" ]]; then | ||
git clone -b stable/ocata \ | ||
https://git.openstack.org/openstack/openstack-ansible-tests \ | ||
${WORKING_DIR}/tests/common/previous | ||
fi | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters