8000 RHFest Action · Actions · GitHub Marketplace · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

RHFest Action

Actions
Validates manifests of community plugins for RotorHazard
v3.0.0
Latest
Star (0)

RHFest Action

A reusable GitHub Action that validates manifest.json files for RotorHazard plugins. It checks for missing fields, invalid formats, and unsupported values, and logs validation errors directly in GitHub Actions logs using GitHub-friendly annotations.

🛠️ Features

  • ✅ Schema validation for keys in manifest.json
  • ✅ Plugin repository structure validation
    • 📁 Presence of custom_plugins folder
    • 📁 Presence of single plugin domain folder
    • 📄 Presence of manifest.json file
  • 🚨 GitHub Action annotations for validation errors
  • ⚠️ Warnings for missing required fields
  • 🐳 Docker image for local testing (manual or pre-commit)
  • 📋 Validates for example:
    • domain format (e.g., lowercase letters, numbers, underscores)
    • version semver format (e.g., X.Y.Z)
    • dependencies using the version specifiers format (e.g., ==X.Y.Z)
    • documentation_uri URL format

🚀 How to Use

Create a file .github/workflows/validate.yml in your plugin repository with the following content:

name: Validate Plugin Manifest

on:
  push:
  pull_request:

jobs:
  validate:
    name: Run RHFest validation
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v4

      - name: Run RHFest validation
        uses: docker://ghcr.io/rotorhazard/rhfest-action:v3

Test plugin locally

Needs Docker installed

RHFest is available as a Docker image, which makes it easy to test locally without installing any dependencies. To test your RotorHazard plugin repository, you can use the following command:

docker run --rm -v "$(pwd)":/repo ghcr.io/rotorhazard/rhfest-action:latest

Development

How to setup the development environment.

Prerequisites

You need the following tools to get started:

  • uv - A python virtual environment/package manager
  • Python 3.13 - The programming language

Installation

  1. Clone the repository
  2. Install all dependencies with UV. This will create a virtual environment and install all dependencies
uv sync
  1. Setup the pre-commit check, you must run this inside the virtual environment
uv run pre-commit install
  1. Run the application
uv run python rhfest/core.py

Run pre-commit checks

As this repository uses the pre-commit framework, all changes are linted and tested with each commit. You can run all checks and tests manually, using the following command:

uv run pre-commit run --all-files

To manual run only on the staged files, use the following command:

uv run pre-commit run

Test Docker image

To build the Docker image locally, run the following command:

docker build -t rhfest-action:latest .

To run the Docker image, use the following command:

docker run --rm -v "$(pwd)":/repo rhfest-action:latest

🌟 Credits

This project was inspired by:

License

Distributed under the MIT License. See LICENSE for more information.

RHFest Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Validates manifests of community plugins for RotorHazard
v3.0.0
Latest

RHFest Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

0