We have a project which does not contain a Drupal codebase. It's Cypress.io test with Drush 9 added using Composer. I would like to execute Drush with site alias to work with the remote site while running tests.
I'm able to call Drush from Cypress test just fine. The Cypress part actually does not matter at all as the behaviour is the same when I run Drush command directly.
The setup:
composer init
fresh projectcomposer require drush/drush
✔ rk:/tmp/drushtest> vendor/bin/drush version
Drush version : 9.7.1
✔ rk:/tmp/drushtest> vendor/bin/drush sa --debug
[preflight] Config paths: /tmp/drushtest/vendor/drush/drush/drush.yml
[preflight] Alias paths:
[preflight] Commandfile search paths: /tmp/drushtest/vendor/drush/drush/src
[bootstrap] Starting bootstrap to none [0.09 sec, 7.33 MB]
[bootstrap] Drush bootstrap phase 0 [0.09 sec, 7.34 MB]
[bootstrap] Try to validate bootstrap phase 0 [0.09 sec, 7.34 MB]
[success] No site aliases found. [0.09 sec, 7.36 MB]
- Already there is nothing in
Alias paths
. - Added some drush aliases to
drush/sites/remoteproject.site.yml
(valid yml file that is working in the Drupal project) - While debugging this I tried to add a
drush.yml
config file to point drush to the alias.
✔ rk:/tmp/drushtest> tree
.
├── composer.json
├── composer.lock
├── drush
│ └── sites
│ └── remoteproject.site.yml
├── drush.yml
└── vendor
├── ...
✔ rk:/tmp/drushtest> cat drush.yml
drush:
paths:
alias-path:
- drush/sites/remoteproject.site.yml
✔ rk:/tmp/drushtest> vendor/bin/drush sa --debug --config=drush.yml
[preflight] Config paths: /tmp/drushtest/drush.yml,/tmp/drushtest/vendor/drush/drush/drush.yml
[preflight] Alias paths: drush/sites/remoteproject.site.yml
[preflight] Commandfile search paths: /tmp/drushtest/vendor/drush/drush/src
[bootstrap] Starting bootstrap to none [0.08 sec, 7.34 MB]
[bootstrap] Drush bootstrap phase 0 [0.08 sec, 7.34 MB]
[bootstrap] Try to validate bootstrap phase 0 [0.08 sec, 7.34 MB]
[success] No site aliases found. [0.08 sec, 7.37 MB]
So I convinced Drush to see the site alias file, but the alias itself is not loading.
When I try to use the alias:
✔ rk:/tmp/drushtest> vendor/bin/drush @remoteproject.remotesite.dev status -debug --config=drush.yml
[preflight] The alias @remoteproject.remotesite.dev could not be found.
Is this conceptually wrong? (Having only Drush and calling remote site using site alias.) Am I just missing some option? Or is this ready to be "promoted" to Github bug report / feature request?
Thanks!
The alias @remoteproject.remotesite.dev could not be found.
(Also added this to the original question.)