Files
actions/docker-build/rules.yml
Ismo Vuorinen 7b14ba3b5a refactor: consolidate PHP testing actions with Laravel detection
Merge php-tests, php-laravel-phpunit, and php-composer into single php-tests action:

Consolidation:
- Merge three PHP actions into one with framework auto-detection
- Add framework input (auto/laravel/generic) with artisan file detection
- Inline PHP version detection from multiple sources
- Inline Composer setup, caching, and dependency installation
- Add conditional Laravel-specific setup steps

Features:
- Auto-detect Laravel via artisan file presence
- PHP version detection from .tool-versions, Dockerfile, composer.json, etc.
- Composer dependency management with retry logic and caching
- Laravel setup: .env copy, key generation, permissions, SQLite database
- Smart test execution: composer test for Laravel, direct PHPUnit for generic

Outputs:
- framework: Detected framework (laravel/generic)
- php-version, composer-version, cache-hit: Setup metadata
- test-status, tests-run, tests-passed: Test results

Deleted:
- php-laravel-phpunit/: Laravel-specific testing action
- php-composer/: Composer dependency management action
- Related test files and custom validators

Updated:
- CLAUDE.md: 26 → 24 actions
- generate_listing.cjs: Remove php-laravel-phpunit, php-composer
- validate-inputs: Remove php-laravel-phpunit custom validator

Result: 3 actions → 1 action, maintained all functionality with simpler interface.
2025-11-20 22:38:00 +02:00

80 lines
1.8 KiB
YAML

---
# Validation rules for docker-build action
# Generated by update-validators.py v1.0.0 - DO NOT EDIT MANUALLY
# Schema version: 1.0
# Coverage: 63% (17/27 inputs)
#
# This file defines validation rules for the docker-build GitHub Action.
# Rules are automatically applied by validate-inputs action when this
# action is used.
#
schema_version: '1.0'
action: docker-build
description: Builds a Docker image for multiple architectures with enhanced security and reliability.
generator_version: 1.0.0
required_inputs:
- tag
optional_inputs:
- architectures
- auto-detect-platforms
- build-args
- build-contexts
- buildkit-version
- buildx-version
- cache-export
- cache-from
- cache-import
- cache-mode
- context
- dockerfile
- dry-run
- image-name
- max-retries
- network
- parallel-builds
- platform-build-args
- platform-fallback
- push
- sbom-format
- scan-image
- secrets
- sign-image
- token
- verbose
conventions:
architectures: docker_architectures
auto-detect-platforms: docker_architectures
buildkit-version: semantic_version
buildx-version: semantic_version
cache-mode: boolean
dockerfile: file_path
dry-run: boolean
image-name: docker_image_name
max-retries: numeric_range_1_10
parallel-builds: numeric_range_0_16
platform-fallback: docker_architectures
sbom-format: report_format
scan-image: boolean
sign-image: boolean
tag: docker_tag
token: github_token
verbose: boolean
overrides:
cache-mode: cache_mode
sbom-format: sbom_format
statistics:
total_inputs: 27
validated_inputs: 17
skipped_inputs: 0
coverage_percentage: 63
validation_coverage: 63
auto_detected: true
manual_review_required: true
quality_indicators:
has_required_inputs: true
has_token_validation: true
has_version_validation: true
has_file_validation: true
has_security_validation: true