-
Notifications
You must be signed in to change notification settings - Fork 0
72 lines (59 loc) · 2.08 KB
/
Copy pathci.yml
File metadata and controls
72 lines (59 loc) · 2.08 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
62
63
64
65
66
67
68
69
70
71
72
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Validate client.json
run: |
echo "📋 Validating client.json..."
if ! jq empty client.json 2>/dev/null; then
echo "❌ client.json is not valid JSON"
exit 1
fi
# Check required fields
REQUIRED_FIELDS="id slug name tier pod stack domains.production gates.payment_verified gates.dns_verified"
for field in $REQUIRED_FIELDS; do
VALUE=$(jq -r ".$field" client.json)
if [ "$VALUE" = "null" ]; then
echo "❌ Missing required field: $field"
exit 1
fi
done
echo "✅ client.json is valid"
- name: Check required files
run: |
echo "📋 Checking required files..."
REQUIRED_FILES=(
"README.md"
"client.json"
".github/workflows/deploy-staging.yml"
".github/workflows/deploy-production.yml"
"docs/presales/lead-brief.md"
"docs/presales/proposal-acceptance.md"
)
for file in "${REQUIRED_FILES[@]}"; do
if [ ! -f "$file" ]; then
echo "❌ Missing required file: $file"
exit 1
fi
done
echo "✅ All required files exist"
- name: CI Summary
run: |
echo "✅ CI checks passed"
echo ""
echo "Client: $(jq -r '.name' client.json)"
echo "Slug: $(jq -r '.slug' client.json)"
echo "Pod: $(jq -r '.pod' client.json)"
echo "Stack: $(jq -r '.stack' client.json)"
echo ""
echo "Gates:"
echo " - payment_verified: $(jq -r '.gates.payment_verified' client.json)"
echo " - dns_verified: $(jq -r '.gates.dns_verified' client.json)"