ci: 运行 PostgreSQL adapter 集成测试
This commit is contained in:
@@ -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
@@ -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
@@ -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 纵向切片一起实现,不能在文档中声称已经通过。
|
||||||
|
|
||||||
## 测试数据与泄漏检查
|
## 测试数据与泄漏检查
|
||||||
|
|||||||
Reference in New Issue
Block a user