67 lines
2.0 KiB
YAML
67 lines
2.0 KiB
YAML
- name: Clone lab wiki
|
|
git:
|
|
repo: "{{ courseware_wiki_repo }}"
|
|
dest: "{{ courseware_wiki_repo_dir }}"
|
|
update: "{{ courseware_wiki_force_update | default(false) | bool }}"
|
|
force: "{{ courseware_wiki_force_update | default(false) | bool }}"
|
|
register: courseware_wiki_repo_sync
|
|
|
|
- name: Check whether wiki referrer policy patch is already applied
|
|
command:
|
|
argv:
|
|
- git
|
|
- apply
|
|
- --reverse
|
|
- --check
|
|
- "{{ role_path }}/files/referrer-policy.patch"
|
|
args:
|
|
chdir: "{{ courseware_wiki_repo_dir }}"
|
|
register: courseware_wiki_referrer_policy_patch
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: Apply managed wiki referrer policy patch
|
|
command:
|
|
argv:
|
|
- git
|
|
- apply
|
|
- "{{ role_path }}/files/referrer-policy.patch"
|
|
args:
|
|
chdir: "{{ courseware_wiki_repo_dir }}"
|
|
when: courseware_wiki_referrer_policy_patch.rc != 0
|
|
register: courseware_wiki_referrer_policy_apply
|
|
|
|
- name: Stat wiki Next dependency
|
|
stat:
|
|
path: "{{ courseware_wiki_repo_dir }}/node_modules/next/package.json"
|
|
register: courseware_wiki_next_dependency
|
|
|
|
- name: Install wiki dependencies with contained Node runtime
|
|
command: npm install
|
|
args:
|
|
chdir: "{{ courseware_wiki_repo_dir }}"
|
|
environment:
|
|
PATH: "{{ courseware_node_runtime_bin_dir }}:{{ ansible_env.PATH }}"
|
|
when:
|
|
- not courseware_wiki_next_dependency.stat.exists or courseware_wiki_repo_sync.changed
|
|
|
|
- name: Render wiki runtime config
|
|
template:
|
|
src: courseware-runtime.json.j2
|
|
dest: "{{ courseware_wiki_runtime_config_path }}"
|
|
mode: "0644"
|
|
|
|
- name: Stat wiki build output
|
|
stat:
|
|
path: "{{ courseware_wiki_repo_dir }}/.next/BUILD_ID"
|
|
register: courseware_wiki_build
|
|
|
|
- name: Build wiki for managed service startup
|
|
command: npm run build
|
|
args:
|
|
chdir: "{{ courseware_wiki_repo_dir }}"
|
|
environment:
|
|
PATH: "{{ courseware_node_runtime_bin_dir }}:{{ ansible_env.PATH }}"
|
|
when:
|
|
- not courseware_wiki_build.stat.exists or courseware_wiki_repo_sync.changed or courseware_wiki_referrer_policy_patch.rc != 0
|