A GitHub action for installing fish shell plugins.
This action requires fish shell. You can install it using the fish-shop/install-fish-shell action.
Add a suitable uses
step to your GitHub workflow and specify the plugin manager and plugin(s) to be installed by providing values for the plugin-manager
and plugins
inputs respectively:
jobs:
install-plugin:
runs-on: ubuntu-latest
steps:
- name: Install Pond plugin with Fisher
uses: fish-shop/install-plugin@v2
with:
plugin-manager: fisher
plugins: marcransome/pond
Tip
The plugins
input supports multiple space-separated plugin names/URLs. The exact format is dependent upon the plugin manager being used and you should refer to the plugin manager's documentation for additional information (see Supported plugin managers).
Note
For additional safety, the inputs plugin-manager
and plugins
are handled internally using intermediary environment variables and escaped to mitigate the risk of script injections.
The plugin manager will be installed only if not already present. If your workflow job contains multiple install-plugin
actions that use the same plugin manager then only the first action will install the plugin manager.
If you wish to install a plugin manager in isolation, without installing any plugins at the same time, consider using the fish-shop/install-plugin-manager action instead.
The following table lists the supported plugin managers and the corresponding plugin-manager
input value to use in your workflow:
Plugin manager | plugin-manager value |
---|---|
Fisher | fisher |
Oh My Fish | oh-my-fish 1 |
plug.fish |
Use one of the following patterns when specifying the version reference for this action in your workflow (i.e. the {ref}
value in uses: fish-shop/install-plugin@{ref}
):
Pattern | Example | Description |
---|---|---|
vX |
v2 |
the latest v2.* release including non-breaking changes and bug fixes |
vX.Y |
v2.1 |
the latest v2.1.* release including bug fixes |
vX.Y.Z |
v2.1.0 |
the v2.1.0 release only |
Tip
The recommended pattern is vX
(e.g. v2
). This will ensure that the version of the action used in your workflow includes the latest non-breaking changes and bug fixes, and guarantees compatibility with previous versions of that major release number.
Using a main
branch reference in your workflow is not recommended as this branch may include breaking changes intended for the next major release.
A number of related composite actions are also available from the fish-shop 🐟. Check them out:
- fish-shop/indent-check - A GitHub action for checking indentation in fish shell files
- fish-shop/install-fish-shell - A GitHub action for installing fish shell
- fish-shop/syntax-check - A GitHub action for syntax checking fish shell files
- fish-shop/install-plugin-manager - A GitHub action for installing a fish shell plugin manager
- fish-shop/run-fishtape-tests - A GitHub action for running Fishtape tests
- Fish market icon made by Freepik from www.flaticon.com
fish-shop/install-plugin
is provided under the terms of the MIT License.
Email me at marc.ransome@fidgetbox.co.uk or create an issue.
Footnotes
-
Oh My Fish is currently unmaintained and support for this plugin manager may be removed in a future update. ↩
-
plug.fish support was removed in
v2.0.0
due to upstream changes that are generally incompatible with the use of this plugin manager in the context of GitHub Actions. ↩