Ryan Malloy 2f82e8d2e0 Implement comprehensive Docker development environment with major performance optimizations
* Docker Infrastructure:
  - Multi-stage Dockerfile.dev with optimized Go proxy configuration
  - Complete compose.dev.yml with service orchestration
  - Fixed critical GOPROXY setting achieving 42x performance improvement
  - Migrated from Poetry to uv for faster Python package management

* Build System Enhancements:
  - Enhanced Mage build system with caching and parallelization
  - Added incremental build capabilities with SHA256 checksums
  - Implemented parallel task execution with dependency resolution
  - Added comprehensive test orchestration targets

* Testing Infrastructure:
  - Complete API testing suite with OpenAPI validation
  - Performance testing with multi-worker simulation
  - Integration testing for end-to-end workflows
  - Database testing with migration validation
  - Docker-based test environments

* Documentation:
  - Comprehensive Docker development guides
  - Performance optimization case study
  - Build system architecture documentation
  - Test infrastructure usage guides

* Performance Results:
  - Build time reduced from 60+ min failures to 9.5 min success
  - Go module downloads: 42x faster (84.2s vs 60+ min timeouts)
  - Success rate: 0% → 100%
  - Developer onboarding: days → 10 minutes

Fixes critical Docker build failures and establishes production-ready
containerized development environment with comprehensive testing.
2025-09-09 12:11:08 -06:00
..

Test Data Directory

This directory contains test data files used by the Flamenco test suite.

Structure

test-data/
├── blender-files/          # Test Blender scenes
│   ├── simple.blend       # Basic cube scene for quick tests
│   ├── animation.blend    # Simple animation for workflow tests
│   └── complex.blend      # Complex scene for performance tests
├── assets/                # Test assets and textures
│   ├── textures/
│   └── models/
├── renders/               # Expected render outputs
│   ├── reference/         # Reference images for comparison
│   └── outputs/           # Test render outputs (generated)
└── configs/               # Test configuration files
    ├── job-templates/     # Job template definitions
    └── worker-configs/    # Worker configuration examples

Usage

Test data is automatically copied to the shared storage volume when running tests with Docker Compose. The test suite references these files using paths relative to /shared-storage/.

Adding Test Data

  1. Add your test files to the appropriate subdirectory
  2. Update test cases to reference the new files
  3. For Blender files, keep them minimal to reduce repository size
  4. Include documentation for complex test scenarios

File Descriptions

Blender Files

  • simple.blend: Single cube, 10 frames, minimal geometry (< 1MB)
  • animation.blend: Bouncing ball animation, 120 frames (< 5MB)
  • complex.blend: Multi-object scene with materials and lighting (< 20MB)

Expected Outputs

Reference renders are stored as PNG files with consistent naming:

  • simple_frame_001.png - Expected output for frame 1 of simple.blend
  • animation_frame_030.png - Expected output for frame 30 of animation.blend

Configurations

Job templates define common rendering scenarios:

  • basic-render.json - Standard single-frame render
  • animation-render.json - Multi-frame animation render
  • high-quality.json - High-resolution, high-sample render

File Size Guidelines

  • Keep individual files under 50MB
  • Total test data should be under 200MB
  • Use Git LFS for binary files over 10MB
  • Compress Blender files when possible

Maintenance

  • Clean up unused test files regularly
  • Update reference outputs when render engine changes
  • Verify test data integrity with checksums
  • Document any special requirements for test files