Files
AI-Check-Test/.gitea/workflows/class-change-check.yml
dongzi c5bc52911b
All checks were successful
类变更检测 / class-change-check (push) Successful in 4m0s
Vo修改
2026-06-05 18:25:31 +08:00

58 lines
1.9 KiB
YAML

name: 类变更检测
run-name: ${{ gitea.actor }}的类变更检测
on: [push]
jobs:
class-change-check:
if: ${{ gitea.ref != 'refs/heads/pre' && gitea.ref != 'refs/heads/dev' && gitea.ref != 'refs/heads/master-2.0' }}
runs-on: ubuntu-latest
steps:
- name: 检出代码
run: |
git config --global http.sslVerify false
git clone "https://${{ gitea.token }}@git.niujiekeji.com/${{ gitea.repository }}.git" .
git checkout ${{ gitea.sha }}
echo "当前提交: $(git rev-parse HEAD)"
echo "上一提交: $(git rev-parse HEAD~1 2>/dev/null || echo '无')"
- name: 检查配置文件
run: |
if [ ! -f .gitea/config.yaml ]; then
echo "错误: 缺少 .gitea/config.yaml"
exit 1
fi
- name: 安装 JDK 和 Maven
run: |
if ! command -v java >/dev/null 2>&1; then
apt-get update -qq
apt-get install -y openjdk-11-jdk
fi
if ! command -v mvn >/dev/null 2>&1; then
apt-get update -qq
apt-get install -y maven
fi
echo "Java: $(java -version 2>&1 | head -1)"
echo "Maven: $(mvn -version 2>&1 | head -1)"
- name: 编译检测工具
run: mvn -q -f .gitea/class-checker/pom.xml package -DskipTests
- name: 执行类变更检测
run: |
OLD_SHA=$(git rev-parse HEAD~1 2>/dev/null || echo "")
if [ -z "$OLD_SHA" ]; then
echo "首次提交,跳过类变更检测"
exit 0
fi
COMMIT_TIME=$(git log -1 --format=%cd --date=format:'%Y-%m-%d %H:%M:%S')
java -jar .gitea/class-checker/target/class-checker.jar \
--config .gitea/config.yaml \
--repo-root . \
--old-sha "$OLD_SHA" \
--new-sha "$(git rev-parse HEAD)" \
--modifier "${{ gitea.actor }}" \
--modify-time "$COMMIT_TIME"