project-config/roles/use-cached-repos/tasks/main.yaml

27 lines
927 B
YAML

- name: Find locally cached git repos
stat:
path: "/opt/git/{{ item.name }}"
with_items: "{{ zuul.projects }}"
register: cached_repos
- name: Clone cached repo to workspace
command: "git clone /opt/git/{{ item.0.name }} {{ ansible_user_dir }}/{{ item.0.src_dir}}"
creates: "{{ ansible_user_dir }}/{{ item.0.src_dir}}"
when: item.1.stat.exists
with_together:
- " {{ zuul.projects }}"
- " {{ cached_repos }}"
- name: Clone upstream repo to workspace
command: "git clone https://{{ item.0.canonical_hostname }}/{{ item.0.name}} {{ ansible_user_dir }}/{{ item.0.src_dir}}"
creates: "{{ ansible_user_dir }}/{{ item.0.src_dir}}"
when: not item.1.stat.exists
with_together:
- " {{ zuul.projects }}"
- " {{ cached_repos }}"
- name: Remove origin from local git repos
command: "git remote rm origin"
chdir: "{{ ansible_user_dir }}/{{ item.src_dir}}"
with_items: " {{ zuul.projects }}"