diff --git a/roles/_init/tasks/drupal7.yml b/roles/_init/tasks/drupal7.yml index c84bb0be..f6a2abbd 100644 --- a/roles/_init/tasks/drupal7.yml +++ b/roles/_init/tasks/drupal7.yml @@ -1,7 +1,7 @@ --- - name: Define Drush path. set_fact: - drush_bin: "{{ drush_bin | default('{{ bin_directory }}/drush-{{ drush.version }}/drush') }}" + drush_bin: "{{ drush_bin | default('{{ bin_directory }}/drush') }}" - name: Ensure we have Drush binary. import_role: diff --git a/roles/_init/tasks/drupal8.yml b/roles/_init/tasks/drupal8.yml index c84bb0be..f6a2abbd 100644 --- a/roles/_init/tasks/drupal8.yml +++ b/roles/_init/tasks/drupal8.yml @@ -1,7 +1,7 @@ --- - name: Define Drush path. set_fact: - drush_bin: "{{ drush_bin | default('{{ bin_directory }}/drush-{{ drush.version }}/drush') }}" + drush_bin: "{{ drush_bin | default('{{ bin_directory }}/drush') }}" - name: Ensure we have Drush binary. import_role: diff --git a/roles/cli/drush/tasks/main.yml b/roles/cli/drush/tasks/main.yml index 940ade31..6282cd82 100644 --- a/roles/cli/drush/tasks/main.yml +++ b/roles/cli/drush/tasks/main.yml @@ -1,5 +1,5 @@ --- -- name: Set Drush major version integer. +- name: Set Drush major version. ansible.builtin.set_fact: _drush_major_version: "{{ drush.version[0] }}" @@ -41,6 +41,19 @@ - not drush_global.stat.exists or not drush_global_version.stdout == drush.version - _drush_major_version == '8' +# Standalone drush requires the drush-launcher from version 9.x onwards. +- name: Download Drush Launcher for standalone Drush. + ansible.builtin.get_url: + url: https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar + dest: "{{ drush_bin }}" + mode: 0755 + force: true + when: + - deploy_operation == 'deploy' + - not drush.use_vendor + - not drush_global.stat.exists or not drush_global_version.stdout == drush.version + - _drush_major_version != '8' + - name: Download Drush archive. ansible.builtin.get_url: url: "https://github.com/drush-ops/drush/archive/refs/tags/{{ drush.version }}.tar.gz"