A GitHub Action to export a Stream Deck plugin for distribution, using the official DistributionTool
binaries for Windows and MacOS.
For the DistributionTool
to find the inputted directory path, the environment variable $GITHUB_WORKSPACE
must be set. This can only be achieved using the official actions/checkout@v2
GitHub Action before using this action.
.github
- workflows
- your_workflow.yml
com.company.plugin_name.sdPlugin
- <your plugin files>
release
- name: StreamDeck Distribution Tool
uses: AdamCarballo/streamdeck-distribution-tool@v1
with:
input: com.company.plugin_name.sdPlugin
output: release
This example will take the contents of the com.company.plugin_name.sdPlugin
folder and export the plugin into the release
directory.
.github
- workflows
- your_workflow.yml
plugin
- com.company.plugin_name.sdPlugin
- <your plugin files>
release
- name: StreamDeck Distribution Tool
uses: AdamCarballo/streamdeck-distribution-tool@v1
with:
input: com.company.plugin_name.sdPlugin
output: ../release
working-directory: plugin
This example shows how to use the working-directory
input when the plugin source files are not in the root of the repository. In addition, the output
directory is set to ../release
to export the plugin into the release
directory, to show how to use relative paths, including parent directories.
The DistributionTool
requires both directories to exist (it can't create directories) and it must be run in a Windows or MacOS machine. Linux (ubuntu-latest
, etc.) is not supported.
Source files directory path.
The source folder name must end with .sdPlugin
, otherwise the tool will fail with Exception: Invalid Path
. This is a requirement imposed by the DistributionTool
binaries.
- Required: Yes
Exported plugin directory path. Use relative paths from the directory $GITHUB_WORKSPACE
/working-directory
. If omitted, the action will default to outputting the plugin file in the same directory as the source folder.
- Required: No
- Default: . (
$GITHUB_WORKSPACE
/working-directory
)
Working directory path. Relative to the value of $GITHUB_WORKSPACE
. If not set, the action will assume the .sdPlugin
folder is in the root of the repository.
- Required: No
- Default: . (No effect)
This GitHub Action wraps the original and official Stream Deck binaries to export and distribute plugins (DistributionTool
).
The binaries can be found as part of Stream Deck SDK documentation here. The download page and binaries have no versioning system, so if the binaries don't match, the source may have an updated version. If that's the case, please open an issue so I can update them.
Current included binaries version is 1.7
, updated as of 3rd of January 2023.
Along with this project's license, if you use this action you agree to any and all of Elgato privacy policies, data protection, etc.
I have no ownership and no knowledge of the content of the DistributionTool
and DistributionTool.exe
files.
Elgato® and "Stream Deck" are registered trademarks of Corsair Gaming, Inc.