A GitHub Action for quickly installing and configuring the Pantheon CLI tool, Terminus.
In order to avoid deprecation warnings, it's recommended to use the
setup-php action rather than rely
on the version of PHP that is installed by default on GH runners.
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "7.4"
- name: Install Terminus
uses: pantheon-systems/terminus-github-actions@v1
with:
pantheon-machine-token: ${{ secrets.PANTHEON_MACHINE_TOKEN }}
- name: List sites
run: terminus site:listBy default, this action installs the latest version of Terminus that has been
released on GitHub. You can provide a specific version of Terminus to install
using the terminus-version input:
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "7.4"
- name: Install Terminus
uses: pantheon-systems/terminus-github-actions@v1
with:
pantheon-machine-token: ${{ secrets.PANTHEON_MACHINE_TOKEN }}
terminus-version: 2.6.5
- name: List sites
run: terminus site:listThis action will encrypt and cache the Terminus session by default to be re-used across jobs in a workflow to reduce the number of authorizations. If you need to disable this for some reason, you can set the disable-cache option to true.
steps:
- name: Install Terminus
uses: pantheon-systems/terminus-github-actions@v1
with:
pantheon-machine-token: ${{ secrets.PANTHEON_MACHINE_TOKEN }}
disable-cache: truePlease note that in order to run commands that require SSH (e.g. drush or wp-cli), you will need to setup a SSH key. There are plenty of options available in the Github Actions Marketplace. We recommend you to choose one of them and use them in your pipeline.
graph TD
subgraph Setup Terminus GitHub Action
A[Start] --> B{inputs.terminus-version}
B --> |Yes| C[Set TERMINUS_RELEASE to inputs.terminus-version]
B --> |No| D[Get latest Terminus release from GitHub API]
D --> E[Set TERMINUS_RELEASE to latest version]
C --> F[Install Terminus]
E --> F
F --> G[Cache Terminus Directory]
G --> H{inputs.pantheon-machine-token}
H --> |Yes| I[Login to Pantheon]
H --> |No| J[End]
I --> J
end
style A fill:#f9f,stroke:#333,stroke-width:2px;
style J fill:#f9f,stroke:#333,stroke-width:2px;
Big thanks to Gareth Jones and Ackama for the initial development work.