Merge branch 'master' of https://github.com/run-as-root/magento2-prom⦠#7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |