mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-28 05:46:36 +08:00
497edfd564
- 一次性回灌:主包最新内容(含 565 个未同步键)全量写回 6 个 fragment 文件,fragments 成为完整唯一源;新增 core fragment(common/docs/home 等 9 个此前仅存在于主包的命名空间)
- merge-i18n-fragments.mjs 改为从零重建主包(不再以主包为基础),重建结果与原主包语义零差异
- 主包 messages/{zh-CN,en}.json 移出跟踪并加入 .gitignore
- 生成接入入口:predev/prebuild/prebuild:embed/precheck:i18n 钩子 + Makefile code-check 与 checks.sh vitest 前置生成
- 修复既有漂移:configVersions.title 现以 fragments(Config versions)为准
53 lines
1.8 KiB
Bash
Executable File
53 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# Correctness gate: must pass after every edit. Fails fast on real breakage.
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")/.."
|
||
|
||
echo "==> go vet ./..."
|
||
go vet ./... 2>&1 | tail -20
|
||
|
||
echo "==> go build ./..."
|
||
go build ./... 2>&1 | tail -20
|
||
|
||
echo "==> golangci-lint run (repo config)"
|
||
golangci-lint run 2>&1 | tail -20
|
||
|
||
# 全量单测(sqlite + miniredis,纯本地无需外部服务;2026-08-16 起全绿)
|
||
echo "==> go test ./internal/... ./pkg/..."
|
||
go test ./internal/... ./pkg/... 2>&1 | grep -E "^--- FAIL|^FAIL" | head -20 || true
|
||
if go test ./internal/... ./pkg/... > /tmp/auto_gotest.log 2>&1; then
|
||
:
|
||
else
|
||
tail -30 /tmp/auto_gotest.log
|
||
exit 1
|
||
fi
|
||
|
||
# 前端测试(vitest;2026-08-16 起全绿)
|
||
echo "==> pnpm exec vitest run (frontend)"
|
||
(cd frontend && node scripts/merge-i18n-fragments.mjs && pnpm exec vitest run --reporter=dot > /tmp/auto_vitest.log 2>&1) || {
|
||
tail -30 /tmp/auto_vitest.log
|
||
exit 1
|
||
}
|
||
|
||
# SPDX license 头门禁(repo 自带约定)
|
||
echo "==> make license-check"
|
||
make license-check 2>&1 | grep "needs license" | head -10 || true
|
||
if make license-check > /tmp/auto_license.log 2>&1; then
|
||
:
|
||
else
|
||
tail -15 /tmp/auto_license.log
|
||
exit 1
|
||
fi
|
||
|
||
# 并发密集包 -race 门禁(2026-08-16 全仓 -race 清零后纳入,防回归;
|
||
# frpc/frps 慢套件不含在此,另做全量周期验证)
|
||
echo "==> go test -race (concurrency packages)"
|
||
RACE_PKGS="./internal/apps/oauth/ ./internal/apps/openflare/tls/ ./internal/apps/openflare/uptimekuma/ ./internal/apps/upload/cache/ ./internal/repository/ ./pkg/cache/disk/ ./pkg/logger/ ./internal/infra/persistence/batchwriter/"
|
||
if go test -race -count=1 $RACE_PKGS > /tmp/auto_race.log 2>&1; then
|
||
:
|
||
else
|
||
grep -E "WARNING: DATA RACE|^--- FAIL|^FAIL" /tmp/auto_race.log | head -20
|
||
exit 1
|
||
fi
|
||
|
||
echo "OK: checks passed" |