Skip to content

Commit 4848fac

Browse files
committed
first setup of the github end to end test action
1 parent 3fe5e8c commit 4848fac

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Run Tests with Docker-Compose
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
test:
13+
runs-on: ubuntu-latest
14+
15+
env:
16+
DB_HOST: "db"
17+
DB_NAME: "expense_db"
18+
DB_USER: "postgres"
19+
DB_PASSWORD: "password"
20+
DB_PORT: "5432"
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Set up Docker Compose
27+
run: docker-compose up -d
28+
29+
- name: Wait for services to be ready
30+
run: |
31+
echo "Waiting for database..."
32+
while ! docker-compose exec -T db pg_isready -U $DB_USER -d $DB_NAME; do
33+
sleep 2
34+
done
35+
36+
- name: Run migrations
37+
run: docker-compose run --rm app alembic upgrade head
38+
39+
- name: Run tests
40+
run: docker-compose run --rm app pytest tests/end_to_end --cov=app --cov-report=term
41+
42+
- name: Copy coverage report from container
43+
run: |
44+
mkdir -p coverage_report
45+
docker cp $(docker-compose ps -q app):/app/htmlcov ./coverage_report
46+
47+
- name: Upload coverage report
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: coverage-report
51+
path: coverage_report/htmlcov
52+
retention-days: 7
53+
54+
- name: Stop Docker Compose
55+
run: docker-compose down
File renamed without changes.

0 commit comments

Comments
 (0)