lando / setup-lando

Set up your GitHub Actions workflow with a specific version of Lando.
https://docs.lando.dev/install
GNU General Public License v3.0
7 stars 5 forks source link

Setup fails on GitHub Actions using Ubuntu #50

Open edaemon opened 1 month ago

edaemon commented 1 month ago

A GitHub Actions workflow that was previously working now fails due to missing dependencies. The application is a regular Drupal site using the drupal10 recipe. The Actions workflow doesn't take any action related to Lando until it's invoked with:

      - name: Install Lando
        uses: lando/setup-lando@v3

This fails after 5 seconds or so and displays this:

image

This setup started failing intermittently yesterday, August 1, but now fails on every run. I've tested this with Ubuntu 20.04, 22.04 (ubuntu-latest), and 24.04 and gotten the same result. The failure seems especially odd because the output indicates that lando setup may fix the issue even though that's supposed to run automatically, but that error message doesn't indicate which dependency is missing.

Since this package hasn't changed in a while could this be related to changes made in the Actions runner images? It doesn't seem likely to be this specifically but they recently removed Docker Compose v1. Is there anything we can do to compensate or work around the problem?

vml-bsummers commented 1 month ago

I am seeing similar errors

AaronFeledy commented 1 month ago

In the failed actions run, click the "re-run" button and enable the debug option. That should give more info about what is actually failing.

reynoldsalec commented 1 month ago

Note that, in the cases where I was seeing failures due to the removal of Docker Compose from the GitHub Actions runners, making sure that setup-lando@v3 was being used, not v2, was the crux of the problem (thanks @AaronFeledy for identifying that).

thomaslhotta commented 1 month ago

I am having the same issue. Moving from setup-lando@v2 to v3 did not help.

Looking at the code, it seems to me like the lando version command failing:


Error: Command failed: /home/runner/work/_temp/18de01c4-ebc3-4d0c-8f6b-95f037c18085 version

  __  __  _  __           __  ____    __            __
 / / / / / |/ /__ ___ ___/ / / __/__ / /___ _____  / /
/ /_/ / /    / -_) -_) _  / _\ \/ -_) __/ // / _ \/_/ 
\____/ /_/|_/\__/\__/\_,_/ /___/\__/\__/\_,_/ .__(_)  
                                           /_/        

Lando has detected that it does not have all the dependencies it needs to run.
But FEAR NOT because we have a special hidden convenience command called lando setup
which will do the heavy lifting and set you right.

...

I fixed the issue in the meantime by installing docker compose before running setup-lando using KengoTODA/actions-setup-docker-compose

reynoldsalec commented 1 month ago

The error I've seen withlando version I believe is a regression where the command will bootstrap a .lando.yml if it exists in the project's root. For all our Lando plugins, this creates an error since we use the "dev-slim" release of Lando, and the Lando plugins use a type: node service that won't be available in the slim Lando releases.

Until that is fixed, one option is to specify the stable release of Lando (instead of using a dev release) in the setup-lando GHA options.