diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index a115ca2..1aea2df 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -76,8 +76,10 @@ jobs: - name: flutter analyze + test + coverage run: | + mkdir -p "$HOME/.cache/pangolin-ci/pubcache" docker run --rm \ -v "$PWD/client:/app" -w /app \ + -v "$HOME/.cache/pangolin-ci/pubcache:/root/.pub-cache" \ ghcr.io/cirruslabs/flutter:stable \ bash -c "flutter pub get && flutter analyze --no-fatal-infos && flutter test --coverage test/unit test/widget test/contract" # 覆盖率闸(host 侧解析 lcov):防断崖,低于阈值即失败。 @@ -127,8 +129,12 @@ jobs: - name: go build + vet + test + coverage run: | + # 宿主持久缓存(host-mode runner):省掉每次 `go: downloading` 全量拉依赖。 + mkdir -p "$HOME/.cache/pangolin-ci/gomod" "$HOME/.cache/pangolin-ci/gobuild" docker run --rm \ -v "$PWD/server:/app" -w /app \ + -v "$HOME/.cache/pangolin-ci/gomod:/go/pkg/mod" \ + -v "$HOME/.cache/pangolin-ci/gobuild:/root/.cache/go-build" \ golang:1.25 \ bash -c "go build ./... && go vet ./... && go test -coverprofile=cover.out ./... && go tool cover -func=cover.out > coverage.txt" tail -1 server/coverage.txt @@ -149,8 +155,11 @@ jobs: - name: 进程级端到端冒烟 (server 二进制 + miniredis + gRPC 全链路) run: | + mkdir -p "$HOME/.cache/pangolin-ci/gomod" "$HOME/.cache/pangolin-ci/gobuild" docker run --rm \ -v "$PWD:/repo" -w /repo \ + -v "$HOME/.cache/pangolin-ci/gomod:/go/pkg/mod" \ + -v "$HOME/.cache/pangolin-ci/gobuild:/root/.cache/go-build" \ golang:1.25 \ bash -c "apt-get update -qq && apt-get install -y -qq openssl curl python3 >/dev/null 2>&1 && bash scripts/e2e-smoke.sh" @@ -185,7 +194,9 @@ jobs: - name: flutter test golden (Linux 权威基线) run: | + mkdir -p "$HOME/.cache/pangolin-ci/pubcache" docker run --rm \ -v "$PWD/client:/app" -w /app \ + -v "$HOME/.cache/pangolin-ci/pubcache:/root/.pub-cache" \ ghcr.io/cirruslabs/flutter:stable \ bash -c "flutter pub get && flutter test test/golden/components_golden_test.dart test/golden/auth_redesign_golden_test.dart"