ci: 运行 PostgreSQL adapter 集成测试
E2E Tests / Run on Ubuntu (pull_request) Failing after 52s
Tests / Run on Ubuntu (pull_request) Failing after 7m49s
Lint / Run on Ubuntu (pull_request) Successful in 8m55s

This commit is contained in:
2026-09-10 09:30:58 +00:00
parent 558df2bbcd
commit c5746130bf
3 changed files with 21 additions and 5 deletions
+7
View File
@@ -30,5 +30,12 @@ jobs:
go mod tidy go mod tidy
make test make test
- name: Running PostgreSQL Integration Tests
run: make test-integration
- name: Clean up Integration Dependencies
if: always()
run: make dev-down
- name: Verify generated files and modules are current - name: Verify generated files and modules are current
run: git diff --exit-code run: git diff --exit-code
+2 -2
View File
@@ -65,8 +65,8 @@ homelab 日常集群。
Gitea Actions 直接使用 `.github/workflows` 中兼容 GitHub Actions 语法的工作流: Gitea Actions 直接使用 `.github/workflows` 中兼容 GitHub Actions 语法的工作流:
- `Tests`:运行生成、格式化、vet、envtest,并检查生成文件和 `go.mod`/`go.sum` - `Tests`:运行生成、格式化、vet、envtest、一次性 Docker adapter integration tests,
没有未提交漂移。 并检查生成文件和 `go.mod`/`go.sum` 没有未提交漂移。
- `Lint`:校验 golangci-lint 配置并运行静态检查。 - `Lint`:校验 golangci-lint 配置并运行静态检查。
- `E2E Tests`:在一次性 Kind 集群中安装 CRD 和 controller,执行端到端验证。 - `E2E Tests`:在一次性 Kind 集群中安装 CRD 和 controller,执行端到端验证。
+12 -3
View File
@@ -108,7 +108,16 @@ Kubernetes auth、最小 policy 和 ESO 必须在 Kind E2E fixture 中验证。
### 3. 运行针对临时依赖的测试或 controller ### 3. 运行针对临时依赖的测试或 controller
adapter 集成测试加入后,统一通过独立 Make target 执行,不默认塞进快速单元测试。 adapter 集成测试通过独立 Make target 执行,不默认塞进快速单元测试:
```sh
make test-integration
```
该 target 会启动一次性 Compose 依赖,并通过 `POSTGRES_TEST_DSN` 把测试指向开发
PostgreSQL。registry 测试会删除并重建固定的测试 schema,因此禁止将该变量指向真实
homelab database。测试后运行 `make dev-down` 清理依赖。
本机运行 controller 时,先确认当前 kubeconfig 指向专用 Kind,而不是真实 homelab: 本机运行 controller 时,先确认当前 kubeconfig 指向专用 Kind,而不是真实 homelab:
```sh ```sh
@@ -157,8 +166,8 @@ E2E fixture 必须把测试 PostgreSQL、OpenBao 和 ESO 部署进 Kind,并等
-> 删除 Kind -> 删除 Kind
``` ```
当前 controller 尚未实现 PostgreSQL/OpenBao adapter,脚手架 E2E 只能验证 CRD、 当前 controller 只实现 PostgreSQL registry adapter,尚未实现完整 PostgreSQL/OpenBao
manager Deployment 和 metrics endpoint。上述真实依赖 fixture 应与第一个完整 provisioning;现有 E2E 只能验证 CRD、manager Deployment 和 metrics endpoint。上述真实依赖 fixture 应与第一个完整
reconcile 纵向切片一起实现,不能在文档中声称已经通过。 reconcile 纵向切片一起实现,不能在文档中声称已经通过。
## 测试数据与泄漏检查 ## 测试数据与泄漏检查