summaryrefslogtreecommitdiffstats
path: root/roles/wiki-publish/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/wiki-publish/tasks')
-rw-r--r--roles/wiki-publish/tasks/emacs.yml38
-rw-r--r--roles/wiki-publish/tasks/main.yml94
2 files changed, 0 insertions, 132 deletions
diff --git a/roles/wiki-publish/tasks/emacs.yml b/roles/wiki-publish/tasks/emacs.yml
deleted file mode 100644
index 8d75979..0000000
--- a/roles/wiki-publish/tasks/emacs.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-- name: Install dependencies
- apt:
- name:
- - build-essential
- - libncurses5-dev
- - git
- - gnutls-bin
- - pkg-config
- - libjansson-dev
- - libgnutls28-dev
- - automake
- - texinfo
- state: present
-- name: Create directory
- file:
- path: "{{ emacs_build_parent }}"
- state: directory
-- name: Download Emacs
- unarchive:
- src: https://ftp.gnu.org/gnu/emacs/emacs-{{emacs_version}}.tar.gz
- remote_src: yes
- dest: "{{ emacs_build_parent }}"
- creates: "{{ emacs_build_dir }}"
-- name: Configure
- command: ./configure --with-x-toolkit=no
- args:
- chdir: "{{ emacs_build_dir }}"
- creates: '{{ emacs_build_dir }}/Makefile'
-- name: Build
- command: make -j{{ cpus }}
- args:
- chdir: "{{ emacs_build_dir }}"
- creates: '{{ emacs_build_dir }}/src/emacs'
-- name: Install
- command: make install
- args:
- chdir: "{{ emacs_build_dir }}"
- creates: '/usr/local/bin/emacs'
diff --git a/roles/wiki-publish/tasks/main.yml b/roles/wiki-publish/tasks/main.yml
deleted file mode 100644
index 28566a5..0000000
--- a/roles/wiki-publish/tasks/main.yml
+++ /dev/null
@@ -1,94 +0,0 @@
----
-- name: Set up SSH directory
- ansible.builtin.file:
- path: "/home/{{ emacsconf_user }}/.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/{{ emacsconf_user }}/.ssh/id_rsa_anon_git_emacsconf"
- mode: '0600'
-- name: Install the SSH key for orga
- template:
- src: id_rsa
- dest: "/home/{{ emacsconf_user }}/.ssh/id_rsa"
- mode: '0600'
-- name: Change ownership of SSH directory
- file:
- path: "/home/{{ emacsconf_user }}/.ssh"
- recurse: true
- owner: "{{ emacsconf_user }}"
-
-- name: Set up Emacs
- include: emacs.yml
-- name: Ensure configuration directory exists
- file:
- path: "{{ emacs_config_dir }}"
- state: directory
-- name: Set up Emacs configuration for non-interactive publishing
- template:
- src: emacsconf-config.el
- dest: "{{ emacs_config_dir }}/emacsconf-config.el"
-
-- name: Check if Emacs base configuration already exists
- become: true
- lineinfile:
- dest: "{{ emacs_config_dir }}/init.el"
- state: present
- regexp: "emacsconf-config"
- line: "(load-file \"emacsconf-config.el\")"
- create: yes
-- name: Set up or update repositories
- become: false
- tags: publish
- block:
- - name: Check out wiki repository
- ansible.builtin.git:
- repo: git://git.emacsconf.org/emacsconf-wiki
- dest: "{{ emacsconf_edit_wiki_dir }}"
- register: wiki_clone
- failed_when:
- - wiki_clone.failed
- - not 'Local modifications exist in repository' in wiki_clone.msg
- - not 'Failed to checkout branch' in wiki_clone.msg
- - name: Check out emacsconf-el
- ansible.builtin.git:
- repo: git@git.emacsconf.org:pub/emacsconf-el
- dest: "{{ emacsconf_el_dir }}"
- register: elisp
- failed_when:
- - elisp.failed
- - not 'Local modifications exist in repository' in elisp.msg
- - not 'Failed to checkout branch' in elisp.msg
- - name: Check out emacsconf-2022-private
- ansible.builtin.git:
- repo: git@git.emacsconf.org:emacsconf-2022-private
- dest: "{{ emacsconf_private_dir }}"
- register: private
- failed_when:
- - private.failed
- - not 'Local modifications exist in repository' in private.msg
- - not 'Failed to checkout branch' in private.msg
-- name: Change ownership
- file:
- path: "{{ item }}"
- owner: "{{ emacsconf_user }}"
- recurse: true
- with_items:
- - "{{ emacsconf_config_dir }}"
- - "{{ emacsconf_el_dir }}"
- - "{{ emacsconf_private_dir }}"
- - "{{ emacsconf_edit_wiki_dir }}"
-- name: Publish
- tags: publish
- block:
- - name: Publish the schedule
- command: emacs -l "{{ emacsconf_config_dir }}/emacsconf-config.el" --batch --exec '(emacsconf-generate-main-schedule)'
- when: (force_publish|d(false)) 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 "{{ emacsconf_config_dir }}/emacsconf-config.el" --batch --exec '(emacsconf-with-talk-heading "{{ slug }}" (emacsconf-update-talk))'
- when: slug is defined
- - name: Commit the wiki and push
- shell: cd {{ emacsconf_edit_wiki_dir }}; git commit -m 'Update from ansible' -a; git push