openstack-ansible-tests/test-repo-setup.yml

56 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
become: no
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