name: CI on: push: branches: [main, develop] pull_request: branches: [main, develop] jobs: # 代码检查 lint: name: 代码检查 runs-on: linux container: image: gitea-runner-php:latest steps: - name: 检出代码 uses: actions/checkout@v4 - name: 安装依赖 run: composer install --prefer-dist --no-progress --no-interaction - name: PHP 语法检查 run: | echo "📝 PHP 语法检查..." # 检查所有 PHP 文件(排除 vendor),保存完整输出 { find . -name "*.php" -not -path "./vendor/*" -exec sh -c 'php -l "$1" 2>&1 || true' _ {} \; } > /tmp/lint_output.txt # 检查是否有错误 if grep -q "^Parse error\|^Fatal error\|^Syntax error" /tmp/lint_output.txt; then echo "❌ PHP 语法错误:" cat /tmp/lint_output.txt exit 1 else echo "✅ 所有 PHP 文件语法正确" fi # 单元测试 test: name: 单元测试 runs-on: linux container: image: gitea-runner-php:latest needs: lint steps: - name: 检出代码 uses: actions/checkout@v4 - name: 安装依赖 run: composer install --prefer-dist --no-progress --no-interaction - name: 运行测试 run: composer test