mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-28 02:06:12 -04:00
CI: Add new reusable workflows for GitHub Actions
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
name: Compatibility Data Validator
|
||||
description: Checks Windows compatibility data files
|
||||
inputs:
|
||||
repositorySecret:
|
||||
description: GitHub token for API access
|
||||
required: true
|
||||
workingDirectory:
|
||||
description: Working directory for checks
|
||||
required: false
|
||||
default: ${{ github.workspace }}
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Check Runner Operating System 🏃♂️
|
||||
if: runner.os == 'Windows'
|
||||
shell: bash
|
||||
run: |
|
||||
: Check Runner Operating System 🏃♂️
|
||||
echo "services-validation action requires a macOS-based or Linux-based runner."
|
||||
exit 2
|
||||
|
||||
- name: Install and Configure Python 🐍
|
||||
shell: bash
|
||||
run: |
|
||||
: Install and Configure Python 🐍
|
||||
if [[ "${RUNNER_DEBUG}" ]]; then set -x; fi
|
||||
|
||||
echo ::group::Python Set Up
|
||||
if [[ "${RUNNER_OS}" == Linux ]]; then
|
||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
|
||||
fi
|
||||
brew install --quiet python3
|
||||
python3 -m pip install jsonschema json_source_map
|
||||
echo ::endgroup::
|
||||
|
||||
- name: Validate Compatibility Files JSON Schema 🕵️
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.workingDirectory }}
|
||||
run: |
|
||||
: Validate services file JSON schema 🕵️
|
||||
if [[ "${RUNNER_DEBUG}" ]]; then set -x; fi
|
||||
shopt -s extglob
|
||||
|
||||
echo ::group::Schema Validation
|
||||
python3 -u \
|
||||
.github/scripts/utils.py/check-jsonschema.py \
|
||||
--loglevel INFO \
|
||||
plugins/win-capture/data/@(compatibility|package).json
|
||||
echo ::endgroup::
|
||||
|
||||
- name: Annotate Schema Validation Errors 🏷️
|
||||
uses: yuzutech/annotations-action@v0.4.0
|
||||
if: failure()
|
||||
with:
|
||||
repo-token: ${{ inputs.repositorySecret }}
|
||||
title: Compatibility JSON Errors
|
||||
input: ${{ inputs.workingDirectory }}/validation_errors.json
|
||||
Reference in New Issue
Block a user