Skip to content

GitHub Actions

The GitHub Actions quickstart is:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3

If you are looking to customize your install then advanced usage if for you.

Docker Desktop EULA

Note that if you run this action on a Windows or macOS runner you are implicitly accepting the Docker Desktop End User License Agreement so please be sure that is appropriate.

Inputs

All inputs are optional. If you do nothing the latest stable Lando will be installed.

NameDescriptionDefaultExample
auto-setupThe lando setup command to run.lando setuplando setup --skip-common-plugins --plugin @lando/core@~/path/to/core
lando-versionThe version of Lando to install. If set this has primacy over lando-version-file.stable3.14.0
lando-version-fileA file that contains the version of Lando to install..lando-version.tool-versions
configA list of . delimited config. If set these have primacy over values in config-filenullengineConfig.port=2376
config-fileThe path to a Lando global config file to use.null/config/lando-global.yml
  • Note that auto-setup is only available in Lando 3 and in Lando 3.21+ specifically.
  • Also note that if you customize the auto-setup command it must contain lando setup.

Outputs

yaml
outputs:
  lando-path:
    description: "The path to the installed version of Lando."
    value: ${{ steps.setup-lando.outputs.lando-path }}

Advanced

Here are some examples of advanced things:

  • Install using a version-spec-ish eg 3, 3.12, 3.x, 3.14.0
  • Install using convenience aliases eg stable, 4-latest, dev 3-edge
  • Install preview branches eg pm-preview
  • Install from a URL eg https://github.com/lando/legacy-cli/releases/download/v3.18.0/lando-linux-x64-v3.18.0
  • Install from a local file eg /home/runner/work/setup-lando/setup-lando/bin/lando
  • Set global Lando config configuration
  • Specify how, or if, lando setup should run
  • Toggle lando debugging via GitHub Actions

Version examples:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version: stable | edge | dev | latest | 3 | 3.14.0 | 3.11 | pm-preview
yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version: https://url.to.my.lando.cli
yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version: /path/to/my/lando/cli

Version spec and config file example:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version: ">2"
    config-file: config.yaml

Version file and config list example:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version-file: .tool-versions
    config: |
      core.engine=docker-colima
      core.telemetry=false
      plugins.@lando/php=/home/runner/work/php/php

Version file and config list example:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version-file: .tool-versions
    config: |
      core.engine=docker-colima
      core.telemetry=false
      plugins.@lando/php=/home/runner/work/php/php

Setup example:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    lando-version: 3-dev
    auto-setup: auto | off | disable | lando setup --orchestrator 2.21.0

Everything, everywhere, all at once example:

yaml
- name: Setup Lando
  uses: lando/setup-lando@v3
  with:
    architecture: x64
    auto-setup: lando setup --orchestrator 2.22.0 --plugins @pirog/my-plugin
    config: |
      core.engine=docker-colima
      core.telemetry=false
      plugins.@lando/php=/home/runner/work/php/php
    config-file: config.yaml
    debug: true
    lando-version: 3.14.0
    lando-version-file: .tool-versions
    os: macOS
    telemetry: false
    token: ${{ github.token }}