diff options
Diffstat (limited to 'roles/wiki-publish/tasks')
-rw-r--r-- | roles/wiki-publish/tasks/emacs.yml | 38 | ||||
-rw-r--r-- | roles/wiki-publish/tasks/main.yml | 94 |
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 |