The Ansible unarchive module in roles/trojan/tasks/main.yml line 23 fails because its dest: /tmp/trojan-go-extract/ directory does not exist on the remote host. The unarchive module requires the destination directory to be present before extraction, but no preceding task creates it. This blocks the entire trojan-go deployment playbook.
file task to create /tmp/trojan-go-extract/ directory before the unarchive step in roles/trojan/tasks/main.ymlroles/trojan/tasks/main.yml: one new task inserted before line 23