-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (46 loc) · 1.33 KB
/
docker-compose.yaml
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
name: Docker Compose Up and Health Check
on:
pull_request:
push:
branches: [main]
schedule:
- cron: "0 0 * * *"
jobs:
docker-compose-up:
name: Docker Compose Up
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Wait for containers to start
run: make build
- name: Run docker-compose up -d
run: make run
# Wait for containers to start up (adjust the sleep time as needed)
- name: Wait for containers to start
run: sleep 60
- name: Check container health
run: docker-compose ps --filter "status=unhealthy" --quiet
continue-on-error: true
id: check_health
- name: Print container health status
run: |-
if [ -z "${{ steps.check_health.outputs.stdout }}" ]; then
echo "All containers are healthy"
exit 0
else
echo "Some containers are unhealthy"
exit 1
fi
- name: load tests requirements
run: pip install -r tests/requirements.txt
- name: launch tests
run: pytest tests/*
- name: Check container logs for errors
run: |-
docker-compose logs --tail=20 | grep -i -E "error|exception" | grep -v -i "hypercorn.error"
exit 0