diff --git a/doc/source/js-roles.rst b/doc/source/js-roles.rst index bae72e7cf..2f502027c 100644 --- a/doc/source/js-roles.rst +++ b/doc/source/js-roles.rst @@ -3,6 +3,7 @@ Javascript Roles .. zuul:autorole:: ensure-javascript-packages .. zuul:autorole:: ensure-nodejs +.. zuul:autorole:: ensure-yarn .. zuul:autorole:: fetch-javascript-content-tarball .. zuul:autorole:: fetch-javascript-output .. zuul:autorole:: fetch-javascript-tarball diff --git a/playbooks/javascript/pre.yaml b/playbooks/javascript/pre.yaml index 8935d8a01..9511854fa 100644 --- a/playbooks/javascript/pre.yaml +++ b/playbooks/javascript/pre.yaml @@ -1,5 +1,5 @@ - hosts: all roles: - ensure-nodejs - - install-yarn + - ensure-yarn - ensure-javascript-packages diff --git a/roles/ensure-yarn/README.rst b/roles/ensure-yarn/README.rst new file mode 100644 index 000000000..18ffe3876 --- /dev/null +++ b/roles/ensure-yarn/README.rst @@ -0,0 +1,13 @@ +Install yarn from yarnpkg repos + +**Role Variables** + +.. zuul:rolevar:: zuul_work_dir + :default: {{ zuul.project.src_dir }} + + The directory to work in. + +.. zuul:rolevar:: yarn_lock_file_path + :default: {{ zuul_work_dir }}/yarn.lock + + Path to yarn.lock file used by a project. diff --git a/roles/install-yarn/defaults/main.yaml b/roles/ensure-yarn/defaults/main.yaml similarity index 100% rename from roles/install-yarn/defaults/main.yaml rename to roles/ensure-yarn/defaults/main.yaml diff --git a/roles/install-yarn/tasks/Debian.yaml b/roles/ensure-yarn/tasks/Debian.yaml similarity index 100% rename from roles/install-yarn/tasks/Debian.yaml rename to roles/ensure-yarn/tasks/Debian.yaml diff --git a/roles/install-yarn/tasks/RedHat.yaml b/roles/ensure-yarn/tasks/RedHat.yaml similarity index 100% rename from roles/install-yarn/tasks/RedHat.yaml rename to roles/ensure-yarn/tasks/RedHat.yaml diff --git a/roles/ensure-yarn/tasks/main.yaml b/roles/ensure-yarn/tasks/main.yaml new file mode 100644 index 000000000..508aedef3 --- /dev/null +++ b/roles/ensure-yarn/tasks/main.yaml @@ -0,0 +1,15 @@ +- name: Check for yarn.lock file + stat: + path: "{{ yarn_lock_file_path }}" + get_checksum: false + get_mime: false + get_md5: false + register: yarn_lock + +- name: Install yarn if needed + include: "{{ item }}" + with_first_found: + - "{{ ansible_distribution }}.yaml" + - "{{ ansible_os_family }}.yaml" + when: + - yarn_lock.stat.exists diff --git a/roles/install-yarn/tasks/yarn.yaml b/roles/ensure-yarn/tasks/yarn.yaml similarity index 100% rename from roles/install-yarn/tasks/yarn.yaml rename to roles/ensure-yarn/tasks/yarn.yaml diff --git a/roles/install-yarn/README.rst b/roles/install-yarn/README.rst index 18ffe3876..f767ec092 100644 --- a/roles/install-yarn/README.rst +++ b/roles/install-yarn/README.rst @@ -1,13 +1 @@ -Install yarn from yarnpkg repos - -**Role Variables** - -.. zuul:rolevar:: zuul_work_dir - :default: {{ zuul.project.src_dir }} - - The directory to work in. - -.. zuul:rolevar:: yarn_lock_file_path - :default: {{ zuul_work_dir }}/yarn.lock - - Path to yarn.lock file used by a project. +.. warning:: Deprecated, use ensure-yarn instead. diff --git a/roles/install-yarn/tasks/main.yaml b/roles/install-yarn/tasks/main.yaml index 508aedef3..4b0f873b4 100644 --- a/roles/install-yarn/tasks/main.yaml +++ b/roles/install-yarn/tasks/main.yaml @@ -1,15 +1,3 @@ -- name: Check for yarn.lock file - stat: - path: "{{ yarn_lock_file_path }}" - get_checksum: false - get_mime: false - get_md5: false - register: yarn_lock - -- name: Install yarn if needed - include: "{{ item }}" - with_first_found: - - "{{ ansible_distribution }}.yaml" - - "{{ ansible_os_family }}.yaml" - when: - - yarn_lock.stat.exists +- name: Include ensure-yarn. + include_role: + name: ensure-yarn