This commit is contained in:
48
.gitea/workflows/code-check-config.yaml
Normal file
48
.gitea/workflows/code-check-config.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
# ============================================================
|
||||
# 变更检测配置
|
||||
# 由 CI 流水线加载;jar 位于 .gitea/workflows/code-checker.jar
|
||||
# 修改后 push 即可生效,无需重新打包 jar(除非改动了 Java 源码)
|
||||
# ============================================================
|
||||
|
||||
|
||||
# 总开关:false 时跳过 class_check + api_check,流水线直接退出
|
||||
checker:
|
||||
enabled: true
|
||||
|
||||
# 类变更检测(Vo/Dto/Entity/Model 字段增删改等)
|
||||
class_check:
|
||||
enabled: true
|
||||
dto_entity_conversion:
|
||||
enabled: false
|
||||
|
||||
model_dirs:
|
||||
- jnpf-ftb/jnpf-ftb-entity/src/main/java
|
||||
|
||||
# 接口索引扫描目录,用于分析类变更对 API 的影响范围
|
||||
endpoint_scan:
|
||||
controllers:
|
||||
- jnpf-ftb/jnpf-ftb-biz/src/main/java
|
||||
feign_apis:
|
||||
- jnpf-ftb/jnpf-ftb-api/src/main/java
|
||||
|
||||
conversion_scan:
|
||||
- jnpf-ftb/jnpf-ftb-biz/src/main/java
|
||||
|
||||
|
||||
# API 变更检测(路径 / 请求方式 / 参数),与 class_check 同级
|
||||
api_check:
|
||||
enabled: false
|
||||
exclude_framework_params: true
|
||||
endpoint_scan:
|
||||
controllers:
|
||||
- jnpf-ftb/jnpf-ftb-biz/src/main/java
|
||||
feign_apis:
|
||||
- jnpf-ftb/jnpf-ftb-api/src/main/java
|
||||
|
||||
# 企业微信通知开关
|
||||
wecom:
|
||||
enabled: true
|
||||
webhook_url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=61f08cc9-b734-4dff-a931-7f33654c0a81"
|
||||
|
||||
notify:
|
||||
only_on_change: true
|
||||
@@ -1 +1,53 @@
|
||||
name: CodeChecker 变更检测
|
||||
name: CodeChecker 变更检测
|
||||
run-name: ${{ gitea.actor }}的CodeChecker变更检测
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- class-check
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
code-check:
|
||||
if: ${{ gitea.ref != 'refs/heads/pre' && gitea.ref != 'refs/heads/dev' && gitea.ref != 'refs/heads/master-2.0' }}
|
||||
runs-on: jdk11
|
||||
steps:
|
||||
- name: 检出代码
|
||||
run: |
|
||||
git config --global http.sslVerify false
|
||||
git clone "https://${{ gitea.token }}@git.niujiekeji.com/${{ gitea.repository }}.git" .
|
||||
git checkout ${{ gitea.sha }}
|
||||
|
||||
- name: 检查配置文件与预编译 jar
|
||||
run: |
|
||||
if [ ! -f .gitea/workflows/code-check-config.yaml ]; then
|
||||
echo "错误: 缺少 .gitea/workflows/code-check-config.yaml"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f .gitea/workflows/code-checker.jar ]; then
|
||||
echo "错误: 缺少 .gitea/workflows/code-checker.jar"
|
||||
echo "请本地执行: powershell -File scripts/build-code-checker.ps1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: 验证 JDK
|
||||
run: |
|
||||
echo "Java: $(java -version 2>&1 | head -1)"
|
||||
|
||||
- name: 执行 CodeChecker 变更检测
|
||||
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/workflows/code-checker.jar \
|
||||
--config .gitea/workflows/code-check-config.yaml \
|
||||
--repo-root . \
|
||||
--old-sha "$OLD_SHA" \
|
||||
--new-sha "$(git rev-parse HEAD)" \
|
||||
--modifier "${{ gitea.actor }}" \
|
||||
--modify-time "$COMMIT_TIME"
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user