Skip to content

Commit

Permalink
Make the skin deployment deterministic
Browse files Browse the repository at this point in the history
Before, the code implicitly relied on 'archive', which defaults to
'true' and implies:

  Mirrors the rsync archive flag, enables recursive, links, perms,
  times, owner, group flags and -D.

This made the deployment nondeterministic in environments which rely on
git, as that doesn't track times: results would be bound to the fact
*when* a git checkout happened.

This change ignores times, via 'archive' set to 'false'. Instead, it
relies on 'checksum', which is reliable. Besides, 'recursive' is set to
'true' explicitly, to mirror the former behaviour.
  • Loading branch information
nevart committed Dec 12, 2023
1 parent 0a77dee commit 9c04615
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions tasks/skin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

- name: Create custom skin dir for elastic skin
ansible.posix.synchronize:
src: "{{ roundcube_skin }}"
archive: false
checksum: true
dest: "{{ roundcube_working_dir }}/current/skins/"
owner: false
group: false
owner: false
recursive: true
src: "{{ roundcube_skin }}"
when: roundcube_skin == 'elastic_systemli'

- name: Ensure custom skin dir has correct permissions
Expand Down

0 comments on commit 9c04615

Please sign in to comment.