Files
Owen/.github/workflows/animation-processing.yml
Kaj Kowalski b447abee00
Some checks failed
CI/CD Pipeline / Test & Lint (16.x) (push) Has been cancelled
CI/CD Pipeline / Test & Lint (18.x) (push) Has been cancelled
CI/CD Pipeline / Test & Lint (20.x) (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Release (push) Has been cancelled
Demo Deployment / Build Demo (push) Has been cancelled
Demo Deployment / Test Demo (push) Has been cancelled
Demo Deployment / Performance Audit (push) Has been cancelled
Demo Deployment / Deploy to Staging (push) Has been cancelled
Demo Deployment / Deploy to Production (push) Has been cancelled
Animation Processing Pipeline / Validate Animation Names (push) Has been cancelled
Animation Processing Pipeline / Process Blender Animation Assets (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (artist) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (hierarchical) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (legacy) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (semantic) (push) Has been cancelled
Multi-Scheme Testing / Test Scheme Conversions (push) Has been cancelled
Multi-Scheme Testing / Validate Demo Functionality (push) Has been cancelled
Multi-Scheme Testing / Performance Benchmarks (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, semantic) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, semantic) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, semantic) (push) Has been cancelled
Performance Testing / Memory Usage Analysis (push) Has been cancelled
Performance Testing / Demo Performance Audit (push) Has been cancelled
Animation Processing Pipeline / Update Animation Documentation (push) Has been cancelled
Animation Processing Pipeline / Deploy Animation Demo (push) Has been cancelled
Performance Testing / Generate Performance Report (push) Has been cancelled
Implement multi-scheme animation name mapper for Owen Animation System
- Added AnimationNameMapper class to handle conversion between different animation naming schemes (legacy, artist, hierarchical, semantic).
- Included methods for initialization, pattern matching, conversion, and validation of animation names.
- Developed comprehensive unit tests for the animation name converter and demo pages using Playwright.
- Created a Vite configuration for the demo application, including asset handling and optimization settings.
- Enhanced the demo with features for batch conversion, performance metrics, and responsive design.
2025-05-24 05:20:19 +02:00

170 lines
4.5 KiB
YAML

name: Animation Processing Pipeline
on:
push:
paths:
- 'assets/animations/**'
- 'src/animation/AnimationNameMapper.js'
- 'src/animation/AnimationConstants.js'
pull_request:
paths:
- 'assets/animations/**'
- 'src/animation/AnimationNameMapper.js'
- 'src/animation/AnimationConstants.js'
workflow_dispatch:
inputs:
animation_scheme:
description: 'Primary naming scheme to use'
required: true
default: 'semantic'
type: choice
options:
- legacy
- artist
- hierarchical
- semantic
jobs:
validate-animations:
name: Validate Animation Names
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Validate animation naming schemes
run: node scripts/validate-animations.js
env:
PRIMARY_SCHEME: ${{ github.event.inputs.animation_scheme || 'semantic' }}
- name: Generate animation constants
run: node scripts/generate-animation-constants.js
- name: Check for naming conflicts
run: node scripts/check-naming-conflicts.js
- name: Upload validation report
uses: actions/upload-artifact@v4
with:
name: animation-validation-report
path: |
reports/animation-validation.json
reports/naming-conflicts.json
process-blender-assets:
name: Process Blender Animation Assets
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, '[process-blender]') || github.event_name == 'workflow_dispatch'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Blender
uses: FlorianBreitwieser/setup-blender@v1
with:
blender-version: '3.6'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Process Blender files
run: |
python scripts/blender-animation-processor.py \
--input-dir assets/blender \
--output-dir assets/animations \
--naming-scheme artist
- name: Convert animation names
run: node scripts/convert-animation-names.js
- name: Validate processed animations
run: node scripts/validate-processed-animations.js
- name: Commit processed assets
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 'Auto-process Blender animation assets [skip ci]'
file_pattern: 'assets/animations/* src/animation/AnimationConstants.js'
update-documentation:
name: Update Animation Documentation
runs-on: ubuntu-latest
needs: [validate-animations]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Generate animation documentation
run: node scripts/generate-animation-docs.js
- name: Update API documentation
run: npm run docs
- name: Generate multi-scheme examples
run: node scripts/generate-scheme-examples.js
- name: Commit documentation updates
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 'Auto-update animation documentation [skip ci]'
file_pattern: |
docs/**
MULTI_SCHEME_GUIDE.md
examples/*/README.md
deploy-demo:
name: Deploy Animation Demo
runs-on: ubuntu-latest
needs: [validate-animations, update-documentation]
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build demo
run: npm run build:demo
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist-demo
cname: owen-animation-demo.your-domain.com