summaryrefslogtreecommitdiffstats
path: root/playbook.yaml
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-10-08 12:47:52 -0400
committerSacha Chua <sacha@sachachua.com>2022-10-08 12:47:52 -0400
commit508aba7647be4037d3d4d50948dc5dae6b3dbc2d (patch)
tree83a0b72199da1f8442513da0aedda86c5cb0cb5d /playbook.yaml
parent81d655d5f23c73004fae0e4391ab8f518f0e2ed6 (diff)
downloademacsconf-ansible-508aba7647be4037d3d4d50948dc5dae6b3dbc2d.tar.xz
emacsconf-ansible-508aba7647be4037d3d4d50948dc5dae6b3dbc2d.zip
Starting point
Diffstat (limited to 'playbook.yaml')
-rw-r--r--playbook.yaml48
1 files changed, 48 insertions, 0 deletions
diff --git a/playbook.yaml b/playbook.yaml
new file mode 100644
index 0000000..665af55
--- /dev/null
+++ b/playbook.yaml
@@ -0,0 +1,48 @@
+- name: Set up publishing environment
+ hosts: publish
+ tasks:
+ - name: Set up packages
+ become: yes
+ block:
+ - name: Set up ikiwiki
+ ansible.builtin.apt:
+ name: ikiwiki
+ state: present
+ - 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
+ 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
+ - 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
+ hosts: publish
+ tasks:
+ - name: Publish the schedule
+ command: emacs -l ~/.emacs.d/init.el --batch --exec '(emacsconf-generate-main-schedule)'
+ when: private.changed
+ - 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