fix(ci): include product manifest in api image
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 4m58s
CD Pipeline / post-deploy-checks (push) Successful in 58s

This commit is contained in:
Your Name
2026-06-29 13:14:51 +08:00
parent caa3dee6d2
commit a19b659f07
5 changed files with 29 additions and 0 deletions

View File

@@ -83,6 +83,7 @@ COPY --chown=appuser:appuser k8s/ ./k8s/
COPY --chown=appuser:appuser infra/ansible/ ./infra/ansible/
# 2026-04-10 Claude Sonnet 4.6: RAG 知識庫索引來源 (ADR-067 Phase 33)
COPY --chown=appuser:appuser docs/ ./docs/
COPY --chown=appuser:appuser product.awoooi.yaml ./product.awoooi.yaml
COPY --chown=appuser:appuser .agents/skills/ ./.agents/skills/
# 2026-05-04 Claude Sonnet 4.6 (Task 1.2): hermes agent_loader 的 system prompt 來源
# agent_loader.py 預設讀 /app/.claude/agents/,對應 K8s AGENTS_DIR 環境變數

View File

@@ -1,5 +1,7 @@
from __future__ import annotations
from pathlib import Path
from fastapi import FastAPI
from fastapi.testclient import TestClient
@@ -44,3 +46,12 @@ def test_product_awoooi_manifest_standard_endpoint_returns_snapshot():
assert data["status"] == "ready_for_product_manifest_adoption"
assert data["rollups"]["source_readiness_percent"] == 100
assert data["operation_boundaries"]["repo_creation_allowed"] is False
def test_api_image_copies_product_manifest() -> None:
dockerfile = Path(__file__).resolve().parents[3] / "apps" / "api" / "Dockerfile"
assert (
"COPY --chown=appuser:appuser product.awoooi.yaml ./product.awoooi.yaml"
in dockerfile.read_text(encoding="utf-8")
)