--- # 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 }}" mode: "0755" # Git clones for developer testing are expected to be in the # following structure, which mirrors how zuul v3 implements # the clones: # # /src// # # eg: /home/zuul/src/opendev.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 %} mode: "0755" vars_files: - test-vars.yml