openstack-ansible-tests/test-repo-setup.yml
Jesse Pretorius 56a4eb8ade Ensure all pre-cloned git sources are found
Currently the find task only looks at one level deep
for repo folders, instead of the required three levels
deep.

Using the find module does not give us the ability to
set the depth level we want to do the find down to,
so we use a find command instead.

Change-Id: I0b218fe276292e13dbb40ab38c9a167025d16e45
2017-10-31 10:06:02 +00:00

55 lines
1.9 KiB
YAML

---
# 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.
- name: Playbook for setting facts for git repository
hosts: localhost
connection: local
gather_facts: false
any_errors_fatal: true
tasks:
- name: Ensure repo directory exists
file:
state: directory
path: "{{ development_repo_directory }}"
# Git clones for developer testing are expected to be in the
# following structure, which mirrors how zuul v3 implements
# the clones:
#
# <user home directory>/src/<git organisation>/<repo>
#
# eg: /home/zuul/src/git.openstack.org/keystone
# /home/zuul/src/github.com/projectcalico/felix
#
- name: Check for repositories that are cloned in the repos directory
command: "find {{ development_repo_directory }} -maxdepth 3 -mindepth 3 -type d"
register: projects_directory_find
tags:
- skip_ansible_lint
# For the constraint file we assume that the egg name
# matches the repo folder name.
- name: Set var for git install branch
copy:
dest: "{{ development_repo_directory }}/local-package-constraints-{{ test_branch | replace('/','_') }}.txt"
content: |
## Ansible Managed
{% for folder_path in projects_directory_find.stdout_lines %}
file://{{ folder_path }}#egg={{ folder_path.split("/")[-1] }}
{% endfor %}
vars_files:
- test-vars.yml