Files
ECC/.github/workflows/reusable-validate.yml
T

65 lines
1.7 KiB
YAML

name: Reusable Validation Workflow
on:
workflow_call:
inputs:
node-version:
description: 'Node.js version'
required: false
type: string
default: '20.x'
jobs:
validate:
name: Validate Components
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ inputs.node-version }}
- name: Install validation dependencies
run: npm ci --ignore-scripts
- name: Validate agents
run: node scripts/ci/validate-agents.js
- name: Validate hooks
run: node scripts/ci/validate-hooks.js
- name: Validate commands
run: node scripts/ci/validate-commands.js
- name: Validate skills
run: node scripts/ci/validate-skills.js
- name: Validate skill host compatibility
run: node scripts/ci/validate-skill-host-compat.js
- name: Validate install manifests
run: node scripts/ci/validate-install-manifests.js
- name: Validate Grok marketplace source pin
run: node scripts/ci/validate-grok-pin.js
- name: Validate workflow security
run: node scripts/ci/validate-workflow-security.js
- name: Validate rules
run: node scripts/ci/validate-rules.js
- name: Check unicode safety
run: node scripts/ci/check-unicode-safety.js
- name: Validate no personal paths
run: node scripts/ci/validate-no-personal-paths.js