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 -l 输出到文件 > /tmp/lint_output.txt for file in $(find . -name "*.php" -not -path "./vendor/*"); do echo ">>> 检查文件: $file" >> /tmp/lint_output.txt php -l "$file" >> /tmp/lint_output.txt 2>&1 echo "" >> /tmp/lint_output.txt done # 显示输出 cat /tmp/lint_output.txt # 检查是否有错误 if grep -q "Parse error\|Fatal error\|Syntax error" /tmp/lint_output.txt; then echo "=== 发现语法错误,CI 失败 ===" 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