--- - name: Set up SSH directory ansible.builtin.file: path: /home/ikiwiki/.ssh state: directory mode: '0700' - name: Install SSH key for EmacsConf wiki ansible.builtin.get_url: url: https://emacsconf.org/id_rsa_anon_git_emacsconf dest: /home/ikiwiki/.ssh/id_rsa_anon_git_emacsconf mode: '0600' owner: 'ikiwiki' - name: Set up packages become: yes block: - name: Add snapshot repository ansible.builtin.apt_repository: repo: deb http://emacs.ganneff.de/ buster main - name: Remove old package ansible.builtin.apt: name: emacs state: absent - name: Install Emacs snapshot ansible.builtin.apt: name: emacs-snapshot-nox state: present - name: Set up or update repositories tags: publish block: - name: Check out wiki repository ansible.builtin.git: repo: git://git.emacsconf.org/emacsconf-wiki dest: ~/emacsconf-wiki - name: Check out emacsconf-el ansible.builtin.git: repo: git@git.emacsconf.org:pub/emacsconf-el dest: ~/emacsconf-el register: elisp - name: Check out emacsconf-2022-private ansible.builtin.git: repo: git@git.emacsconf.org:emacsconf-2022-private dest: ~/emacsconf-2022-private register: private - name: Publish tags: publish block: - name: Publish the schedule command: emacs -l ~/.emacs.d/init.el --batch --exec '(emacsconf-generate-main-schedule)' when: force_publish or ((private.changed or elisp.changed) and slug is not defined) - name: Update a specific talk's nav page tags: publish-talk command: emacs -l ~/.emacs.d/init.el --batch --exec '(emacsconf-with-talk-heading "{{ slug }}" (emacsconf-update-talk))' when: slug is defined - name: Commit the wiki and push shell: cd ~/emacsconf-wiki; git commit -m 'Update from ansible' -a; git push