@@ -13,18 +13,67 @@ jobs:
1313    strategy :
1414      max-parallel : 4 
1515      matrix :
16-         python-version : [3.13] 
16+         python-version : [3.12] 
17+ 
18+     services :
19+       db :
20+         image : postgres:17.4 
21+         env :
22+           POSTGRES_DB : eCommerce 
23+           POSTGRES_USER : eCommerce 
24+           POSTGRES_PASSWORD : ${{ secrets.POSTGRES_PASSWORD }} 
25+         ports :
26+           - 5432:5432 
27+ 
28+       cache :
29+         image : redis:7.4.2 
30+         ports :
31+           - 6379:6379 
32+ 
33+       rabbitmq :
34+         image : rabbitmq:3-management 
35+         env :
36+           RABBITMQ_DEFAULT_USER : ${{ secrets.RABBITMQ_USER }} 
37+           RABBITMQ_DEFAULT_PASS : ${{ secrets.RABBITMQ_PASSWORD }} 
38+         ports :
39+           - 5672:5672 
40+           - 15672:15672 
1741
1842    steps :
1943    - uses : actions/checkout@v4 
44+ 
2045    - name : Set up Python ${{ matrix.python-version }} 
2146      uses : actions/setup-python@v3 
2247      with :
2348        python-version : ${{ matrix.python-version }} 
49+ 
2450    - name : Install Dependencies 
2551      run : | 
2652        python -m pip install --upgrade pip 
2753        pip install -r requirements.txt 
54+ 
2855     - name : Run Tests 
56+       env :
57+         DOMAIN : localhost:8000 
58+         SITE_NAME : " Hypex eCommerce" 
59+         DB_NAME : eCommerce 
60+         DB_USER : eCommerce 
61+         DB_PASSWORD : ${{ secrets.DB_PASSWORD }} 
62+         DB_HOST : localhost 
63+         REDIS_HOST : localhost 
64+         REDIS_PORT : 6379 
65+         EMAIL_HOST_USER : ${{ secrets.EMAIL_HOST_USER }} 
66+         EMAIL_HOST_PASSWORD : ${{ secrets.EMAIL_HOST_PASSWORD }} 
67+         DEFAULT_FROM_EMAIL : " Hypex Store <${{ secrets.EMAIL_HOST_USER }}>" 
68+         STRIPE_PUBLISHABLE_KEY : ${{ secrets.STRIPE_PUBLISHABLE_KEY }} 
69+         STRIPE_SECRET_KEY : ${{ secrets.STRIPE_SECRET_KEY }} 
70+         STRIPE_WEBHOOK_SECRET : ${{ secrets.STRIPE_WEBHOOK_SECRET }} 
71+         GOOGLE_OAUTH2_KEY : ${{ secrets.GOOGLE_OAUTH2_KEY }} 
72+         GOOGLE_OAUTH2_SECRET : ${{ secrets.GOOGLE_OAUTH2_SECRET }} 
73+         POSTGRES_DB : eCommerce 
74+         POSTGRES_USER : eCommerce 
75+         POSTGRES_PASSWORD : ${{ secrets.POSTGRES_PASSWORD }} 
76+         RABBITMQ_DEFAULT_USER : ${{ secrets.RABBITMQ_USER }} 
77+         RABBITMQ_DEFAULT_PASS : ${{ secrets.RABBITMQ_PASSWORD }} 
2978      run : | 
3079        python manage.py test 
0 commit comments