Skip to content

Merge branch 'master' of https://github.com/run-as-root/magento2-prom… #7

Merge branch 'master' of https://github.com/run-as-root/magento2-prom…

Merge branch 'master' of https://github.com/run-as-root/magento2-prom… #7

Workflow file for this run

name: Quick Check
on:
push:
branches: [master, develop]
pull_request:
branches: [master, develop]
jobs:
basic-validation:
name: Basic Validation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: composer
- name: Validate composer.json
run: |
echo "## πŸ” Basic Validation Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if composer validate --no-check-all --no-check-lock; then
echo "βœ… composer.json is valid" >> $GITHUB_STEP_SUMMARY
else
echo "❌ composer.json validation failed" >> $GITHUB_STEP_SUMMARY
exit 1
fi
- name: Check PHP syntax
run: |
SYNTAX_ERRORS=0
TOTAL_FILES=0
echo "### PHP Syntax Check" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
for file in $(find src lib -name "*.php" 2>/dev/null || echo ""); do
if [ -f "$file" ]; then
TOTAL_FILES=$((TOTAL_FILES + 1))
if ! php -l "$file" >/dev/null 2>&1; then
echo "❌ Syntax error in: $file" >> $GITHUB_STEP_SUMMARY
SYNTAX_ERRORS=$((SYNTAX_ERRORS + 1))
fi
fi
done
if [ $SYNTAX_ERRORS -eq 0 ]; then
echo "βœ… All $TOTAL_FILES PHP files have valid syntax" >> $GITHUB_STEP_SUMMARY
else
echo "❌ Found $SYNTAX_ERRORS syntax errors in $TOTAL_FILES files" >> $GITHUB_STEP_SUMMARY
exit 1
fi
- name: Check file structure
run: |
echo "" >> $GITHUB_STEP_SUMMARY
echo "### File Structure Check" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
REQUIRED_FILES=("composer.json" "registration.php" "README.md")
MISSING_FILES=()
for file in "${REQUIRED_FILES[@]}"; do
if [ ! -f "$file" ]; then
MISSING_FILES+=("$file")
fi
done
if [ ${#MISSING_FILES[@]} -eq 0 ]; then
echo "βœ… All required files present" >> $GITHUB_STEP_SUMMARY
else
echo "❌ Missing required files:" >> $GITHUB_STEP_SUMMARY
for file in "${MISSING_FILES[@]}"; do
echo " - $file" >> $GITHUB_STEP_SUMMARY
done
exit 1
fi
# Check directories
REQUIRED_DIRS=("src")
MISSING_DIRS=()
for dir in "${REQUIRED_DIRS[@]}"; do
if [ ! -d "$dir" ]; then
MISSING_DIRS+=("$dir")
fi
done
if [ ${#MISSING_DIRS[@]} -eq 0 ]; then
echo "βœ… All required directories present" >> $GITHUB_STEP_SUMMARY
else
echo "❌ Missing required directories:" >> $GITHUB_STEP_SUMMARY
for dir in "${MISSING_DIRS[@]}"; do
echo " - $dir" >> $GITHUB_STEP_SUMMARY
done
exit 1
fi
code-validation:
name: Code Validation
runs-on: ubuntu-latest
needs: basic-validation
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: composer
- name: Advanced code validation
run: |
echo "## πŸ” Advanced Code Validation" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
VALIDATION_ISSUES=0
# Check for proper PHP tags
echo "### PHP Opening Tags Check" >> $GITHUB_STEP_SUMMARY
for file in $(find src lib -name "*.php" 2>/dev/null); do
if [ -f "$file" ] && ! head -1 "$file" | grep -q "<?php"; then
echo "❌ **Missing PHP opening tag:** \`$file\`" >> $GITHUB_STEP_SUMMARY
VALIDATION_ISSUES=$((VALIDATION_ISSUES + 1))
fi
done
# Check for namespace declarations
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Namespace Declaration Check" >> $GITHUB_STEP_SUMMARY
for file in $(find src lib -name "*.php" 2>/dev/null); do
if [ -f "$file" ] && grep -q "^class\|^interface\|^trait" "$file" && ! grep -q "^namespace" "$file"; then
echo "⚠️ **Missing namespace:** \`$file\`" >> $GITHUB_STEP_SUMMARY
VALIDATION_ISSUES=$((VALIDATION_ISSUES + 1))
fi
done
# Check for basic PSR-4 compliance
echo "" >> $GITHUB_STEP_SUMMARY
echo "### PSR-4 Structure Check" >> $GITHUB_STEP_SUMMARY
if [ -d "src" ]; then
echo "βœ… Source directory exists" >> $GITHUB_STEP_SUMMARY
else
echo "❌ Source directory missing" >> $GITHUB_STEP_SUMMARY
VALIDATION_ISSUES=$((VALIDATION_ISSUES + 1))
fi
if [ $VALIDATION_ISSUES -eq 0 ]; then
echo "" >> $GITHUB_STEP_SUMMARY
echo "βœ… **All advanced validation checks passed**" >> $GITHUB_STEP_SUMMARY
else
echo "" >> $GITHUB_STEP_SUMMARY
echo "⚠️ **Found $VALIDATION_ISSUES validation issues**" >> $GITHUB_STEP_SUMMARY
echo "These should be addressed to improve code quality" >> $GITHUB_STEP_SUMMARY
fi
summary:
name: Quick Check Summary
runs-on: ubuntu-latest
needs: [basic-validation, code-validation]
if: always()
steps:
- name: Generate summary
run: |
echo "## πŸ“‹ Quick Check Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Check | Status |" >> $GITHUB_STEP_SUMMARY
echo "|-------|--------|" >> $GITHUB_STEP_SUMMARY
echo "| Basic Validation | ${{ needs.basic-validation.result == 'success' && 'βœ… Pass' || '❌ Fail' }} |" >> $GITHUB_STEP_SUMMARY
echo "| Code Validation | ${{ needs.code-validation.result == 'success' && 'βœ… Pass' || '⚠️ Issues Found' }} |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [[ "${{ needs.basic-validation.result }}" == "success" && "${{ needs.code-validation.result }}" == "success" ]]; then
echo "### βœ… All Quick Checks Passed!" >> $GITHUB_STEP_SUMMARY
echo "Your code passes basic validation and advanced code validation." >> $GITHUB_STEP_SUMMARY
echo "This indicates the code structure is sound and ready for more detailed analysis." >> $GITHUB_STEP_SUMMARY
else
echo "### ⚠️ Some Checks Need Attention" >> $GITHUB_STEP_SUMMARY
echo "Please review the issues above before proceeding." >> $GITHUB_STEP_SUMMARY
echo "Basic validation failures must be fixed before continuing." >> $GITHUB_STEP_SUMMARY
fi
echo "" >> $GITHUB_STEP_SUMMARY
echo "### πŸš€ Next Steps" >> $GITHUB_STEP_SUMMARY
echo "- Run the full CI workflow for comprehensive testing" >> $GITHUB_STEP_SUMMARY
echo "- Check code quality workflow for detailed analysis" >> $GITHUB_STEP_SUMMARY
echo "- Address any validation issues found above" >> $GITHUB_STEP_SUMMARY