
Go ahead and actually clone project-config on bridge, because we're going to read the projects.yaml file with a lookup. Because it's a local action, not a remote action. Change-Id: I77454bcb10b797ce5b48018caef7fecb31947b97
33 lines
1.0 KiB
YAML
33 lines
1.0 KiB
YAML
- name: Get Gerrit project list
|
|
set_fact:
|
|
gerrit_projects: "{{ lookup('file', '/opt/project-config/gerrit/projects.yaml') | from_yaml }}"
|
|
- name: Parse Gerrit org list
|
|
set_fact:
|
|
gerrit_orgs: "{{ gerrit_projects | map(attribute='project') | map('regex_search', '^(.*?)/') | list | unique | select | map('regex_replace', '/', '') | list }}"
|
|
- name: debug
|
|
debug:
|
|
msg: "{{ gerrit_orgs }}"
|
|
- name: Get Gitea org list
|
|
# We assume that all the orgs we are interested in are owned by root
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/user/orgs"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
validate_certs: false
|
|
status_code: 200
|
|
register: gitea_org_list
|
|
- name: Parse Gitea org list
|
|
set_fact:
|
|
gitea_orgs: "{{ gitea_org_list.json | map(attribute='username') | list }}"
|
|
- name: Create orgs
|
|
loop: "{{ gerrit_orgs }}"
|
|
loop_control:
|
|
loop_var: org
|
|
include_tasks: 'setup-org.yaml'
|
|
- name: Create repos
|
|
loop: "{{ gerrit_projects }}"
|
|
loop_control:
|
|
loop_var: project
|
|
include_tasks: 'setup-repo.yaml'
|