52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
|||
|
|
# scripts/ci/m017_compat_matrix.sh - M-017 兼容矩阵生成脚本
|
|||
|
|
# 功能:生成组件版本兼容性矩阵
|
|||
|
|
# 输入:REPORT_DATE
|
|||
|
|
# 输出:compat_matrix_{date}.md
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|||
|
|
PROJECT_ROOT="${PROJECT_ROOT:-$(cd "$SCRIPT_DIR/.." && pwd)}"
|
|||
|
|
|
|||
|
|
REPORT_DATE="${1:-$(date +%Y-%m-%d)}"
|
|||
|
|
REPORT_DIR="${2:-${PROJECT_ROOT}/reports/dependency}"
|
|||
|
|
|
|||
|
|
mkdir -p "$REPORT_DIR"
|
|||
|
|
|
|||
|
|
echo "[M017-COMPAT-MATRIX] Starting compatibility matrix generation for ${REPORT_DATE}"
|
|||
|
|
|
|||
|
|
# 获取Go版本
|
|||
|
|
GO_VERSION=$(go version 2>/dev/null | grep -oP 'go\d+\.\d+' || echo "unknown")
|
|||
|
|
|
|||
|
|
# 生成报告
|
|||
|
|
cat > "${REPORT_DIR}/compat_matrix_${REPORT_DATE}.md" << 'MATRIX'
|
|||
|
|
# Dependency Compatibility Matrix - REPORT_DATE_PLACEHOLDER
|
|||
|
|
|
|||
|
|
## Go Dependencies (GO_VERSION_PLACEHOLDER)
|
|||
|
|
|
|||
|
|
| 组件 | 版本 | Go 1.21 | Go 1.22 | Go 1.23 | Go 1.24 |
|
|||
|
|
|------|------|----------|----------|----------|----------|
|
|||
|
|
| - | - | - | - | - | - |
|
|||
|
|
|
|||
|
|
## Known Incompatibilities
|
|||
|
|
|
|||
|
|
None detected.
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
- PASS: 兼容
|
|||
|
|
- FAIL: 不兼容
|
|||
|
|
- UNKNOWN: 未测试
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*Generated by M-017 Compatibility Matrix Script*
|
|||
|
|
MATRIX
|
|||
|
|
|
|||
|
|
# 替换日期和Go版本
|
|||
|
|
sed -i "s/REPORT_DATE_PLACEHOLDER/${REPORT_DATE}/g" "${REPORT_DIR}/compat_matrix_${REPORT_DATE}.md"
|
|||
|
|
sed -i "s/GO_VERSION_PLACEHOLDER/${GO_VERSION}/g" "${REPORT_DIR}/compat_matrix_${REPORT_DATE}.md"
|
|||
|
|
|
|||
|
|
echo "[M017-COMPAT-MATRIX] SUCCESS: Compatibility matrix generated at ${REPORT_DIR}/compat_matrix_${REPORT_DATE}.md"
|