Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevinjil/jellyfin-plugin-repo-action
A GitHub action which generates a Jellyfin plugin repository manifest file as a GitHub action.
https://github.com/kevinjil/jellyfin-plugin-repo-action
actions jellyfin-plugin
Last synced: about 1 month ago
JSON representation
A GitHub action which generates a Jellyfin plugin repository manifest file as a GitHub action.
- Host: GitHub
- URL: https://github.com/kevinjil/jellyfin-plugin-repo-action
- Owner: Kevinjil
- License: gpl-3.0
- Created: 2022-06-03T12:51:54.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-07-04T20:33:15.000Z (over 2 years ago)
- Last Synced: 2024-10-11T03:01:13.867Z (about 1 month ago)
- Topics: actions, jellyfin-plugin
- Language: JavaScript
- Homepage:
- Size: 471 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jellyfin-plugin-repo-action
A GitHub action which generates a Jellyfin plugin repository manifest file as a GitHub action.
This plugin can be used in a GitHub workflow which builds release builds or nightly prerelease builds and publishes the generated plugin repository manifest file to a selected branch.
Toghether with GitHub pages, this can form a convenient way to host the plugin repository completely on GitHub.## Usage
To use this plugin, integrate it in your workflow. A complete example for a release build workflow is given in the [Jellyfin.Xtream publish workflow](https://github.com/Kevinjil/Jellyfin.Xtream/blob/master/.github/workflows/publish.yaml)
For detailed information about the configuration parameters, take a look at the [action.yml](action.yml) file.## How it works
This pipeline queries the GitHub API for all releases of the given repository. This information, together with information in the git repository itself, is used as the only stateful information that this plugin uses.
For every release, the release notes are used as a changelog and the version information is extracted.
It also inspects the build artifacts to determine the download url of the plugin release by picking the asset with file extension `.zip` and the checksum by downloading the file with extension `.md5`.
Furthermore, it extracts the build information from the `build.yaml` file if it exists as release asset, and falls back to the `build.yaml` file at the release tag in the git repository.Global plugin information such as the `guid` is extracted from the `build.yaml` file at the main branch of the repository.