summaryrefslogtreecommitdiff
path: root/per-service/git-servers/roles/grokmirror/tasks/master.yml
blob: 2902a31ed350a994721fb2b1891e0ae57cc1392e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- name: See if gitolite actions are needed
  stat: path=/home/{{ git_user }}/gitolite
  register: gitolite_st

- name: Ensure grokmirror trigger is installed in gitolite-admin
  command: "{{tools_checkout_dir}}/linaro-git-tools/grok-gitolite-setup.sh {{gitolite_admin_name}} {{repo_root}} {{apache_root}}/{{git_host}}/manifest.js.gz"
  when: gitolite_st.stat is defined and gitolite_st.stat.isdir
  register: groktrigger
  changed_when: "'updating gitolite-admin' in groktrigger.stdout"
  sudo_user: "{{git_user}}"

- name: See if gerrit hook is needed
  stat: path={{gerrit_root}}
  register: gerrit_st

- name: Install gerrit hook for hanlding changes being merged
  when: gerrit_st.stat is defined and gerrit_st.stat.isdir
  template: src=gerrit-ref-updated
            dest={{gerrit_root}}/hooks/ref-updated
            mode=0555 owner={{git_user}} group={{git_user}}

- name: Install gerrit hook for patchsets being reviewed
  when: gerrit_st.stat is defined and gerrit_st.stat.isdir
  file: src={{gerrit_root}}/hooks/ref-updated
        dest={{gerrit_root}}/hooks/patchset-created
        state=link

- name: Setup authorized_key entries for grokmirror slaves
  when: gitolite_st.stat is defined and gitolite_st.stat.isdir
  lineinfile: dest=/home/{{git_user}}/.ssh/authorized_keys
              regexp={{item.host}}
              line='command="{{tools_checkout_dir}}/linaro-git-tools/grok-shell master",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty {{item.key}} {{item.host}}'
  with_items: grok_public_keys