Mark all server-side git checkouts as safe

The ownership repair added in e5b8de8c2 is not sufficient on every Ansible privilege-escalation setup. Git may still see a different effective owner after the checkout has been recursively chowned, as demonstrated by #5065.

Pass an exact, task-scoped safe.directory setting to all 56 server-side git tasks. Keep the ownership repair as well, because it remains necessary for filesystem permissions. The two controller-side theme checkouts already use the same protection.
This commit is contained in:
Slavi Pantaleev
2026-09-22 15:01:15 +03:00
parent 5fcd9578f9
commit e6e19a20b4
55 changed files with 280 additions and 0 deletions
@@ -42,6 +42,11 @@
force: "yes"
become: true
become_user: "{{ matrix_user_name }}"
# Keep this even though the task above normalizes ownership. Git may still see an ownership mismatch when Ansible becomes an unprivileged user (see #5065).
environment:
GIT_CONFIG_COUNT: "1"
GIT_CONFIG_KEY_0: safe.directory
GIT_CONFIG_VALUE_0: "{{ matrix_corporal_container_src_files_path }}"
register: matrix_corporal_git_pull_results
when: matrix_corporal_container_image_self_build | bool