-
Notifications
You must be signed in to change notification settings - Fork 0
61 lines (55 loc) · 1.8 KB
/
Copy pathci.yml
File metadata and controls
61 lines (55 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: ci
on:
push:
pull_request:
jobs:
smoke-memory:
runs-on: ubuntu-latest
timeout-minutes: 25
env:
OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
MEM0_LLM_MODEL: ${{ secrets.MEM0_LLM_MODEL }}
MEM0_EMBED_MODEL: ${{ secrets.MEM0_EMBED_MODEL }}
QDRANT_COLLECTION: foxmemory
steps:
- uses: actions/checkout@v4
- name: Prepare .env for CI smoke
run: |
cat > .env <<EOF
OPENAI_BASE_URL=${OPENAI_BASE_URL}
OPENAI_API_KEY=${OPENAI_API_KEY}
MEM0_LLM_MODEL=${MEM0_LLM_MODEL}
MEM0_EMBED_MODEL=${MEM0_EMBED_MODEL}
QDRANT_COLLECTION=${QDRANT_COLLECTION}
QDRANT_URL=http://qdrant:6333
EOF
- name: Validate required CI secrets
run: |
missing=0
for v in OPENAI_BASE_URL OPENAI_API_KEY MEM0_LLM_MODEL MEM0_EMBED_MODEL; do
if [ -z "${!v}" ]; then
echo "Missing required secret/env: $v" >&2
missing=1
fi
done
if [ "$missing" -ne 0 ]; then
echo "CI smoke blocked: set required repository secrets." >&2
exit 1
fi
- name: Run smoke suite
run: bash scripts/smoke-memory.sh
- name: Capture compose diagnostics on failure
if: failure()
run: |
docker compose -f compose.external.yml ps > compose-ps.txt || true
docker compose -f compose.external.yml logs --no-color > compose-logs.txt || true
- name: Upload diagnostics on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: foxmemory-deploy-smoke-logs
path: |
compose-ps.txt
compose-logs.txt
if-no-files-found: warn