--- # Setup the Hugo website - name: "Get package facts" package_facts: manager: "apt" - name: "Install Hugo" ansible.builtin.apt: deb: "https://github.com/gohugoio/hugo/releases/download/v0.121.1/hugo_extended_0.121.1_linux-amd64.deb" state: present become: true when: "'hugo' not in ansible_facts.packages" - name: "Make sure repos directory exists" ansible.builtin.file: path: "~/repos" state: directory owner: fflux group: fflux mode: '1750' become: true become_user: fflux - name: "Clone website repo" ansible.builtin.git: accept_newhostkey: true repo: "ssh://kallithea@projects.c3l.lu/freifunk/web/website" dest: "/home/fflux/repos/website" version: "main" become: true become_user: fflux register: hugo_website_cloned - name: "Build the website" ansible.builtin.command: chdir: "/home/fflux/repos/website" cmd: "hugo --minify" become: true become_user: fflux when: hugo_website_cloned.after != hugo_website_cloned.before register: hugo_website_built changed_when: hugo_website_built.rc == 0 - name: "Symlink to website" ansible.builtin.file: src: "/home/fflux/repos/website" dest: "/var/www/website" owner: fflux group: fflux state: link become: true