--- - name: Build frontend ansible.builtin.command: cmd: npm ci chdir: "{{ pi_musicmouse_build_cache }}/{{ musicmouse_version | regex_replace('/', '_') }}/web" delegate_to: localhost become: false vars: ansible_become: false # see the first delegated task in tasks/main.yml changed_when: true notify: Compile frontend - name: Compile frontend ansible.builtin.command: cmd: npm run build chdir: "{{ pi_musicmouse_build_cache }}/{{ musicmouse_version | regex_replace('/', '_') }}/web" delegate_to: localhost become: false vars: ansible_become: false # see the first delegated task in tasks/main.yml changed_when: true notify: Sync frontend - name: Sync frontend ansible.posix.synchronize: src: "{{ pi_musicmouse_build_cache }}/{{ musicmouse_version | regex_replace('/', '_') }}/web/dist/" dest: /opt/musicmouse/web/dist/ delete: true notify: Record which commit the frontend was built from - name: Record which commit the frontend was built from # After the sync, and outside dist/, which the sync empties of anything it did not # build. This is what lets the next run tell a current dist from a stale one. ansible.builtin.copy: content: "{{ pi_musicmouse_web_checkout.after }}\n" dest: /opt/musicmouse/web/.built-commit mode: "0644" notify: Restart musicmouse - name: Restart musicmouse ansible.builtin.systemd: name: musicmouse state: restarted enabled: "yes" daemon_reload: "yes" - name: Restart samba ansible.builtin.systemd: name: smbd state: restarted daemon_reload: true