15
15
# - '**/*.py'
16
16
workflow_dispatch :
17
17
18
+ env :
19
+ REGISTRY_URL : ${{ vars.REGISTRY_URL }}
20
+ REGISTRY_USER : ${{ github.repository_owner }}
21
+ IMAGE : ${{ vars.IMAGE }}
22
+ ALGORITHM : ${{ vars.ALGORITHM }}
23
+ BOT_USER_TOKEN : ${{ secrets.BOT_USER_TOKEN }}
24
+ CHANNEL : ${{ vars.CHANNEL }}
25
+ CLIENT_ID : ${{ secrets.CLIENT_ID }}
26
+ CLIENT_SECRET : ${{ secrets.CLIENT_SECRET }}
27
+ CSV_FN : ${{ vars.CSV_FN }}
28
+ DAYS : ${{ vars.DAYS }}
29
+ DB_HOST : ${{ secrets.DB_HOST }}
30
+ DB_NAME : ${{ secrets.DB_NAME }}
31
+ DB_PASS : ${{ secrets.DB_PASS }}
32
+ DB_PORT : ${{ vars.DB_PORT }}
33
+ DB_USER : ${{ secrets.DB_USER }}
34
+ JSON_FN : ${{ vars.JSON_FN }}
35
+ PORT : ${{ vars.PORT }}
36
+ PRIV_KEY_B64 : ${{ secrets.PRIV_KEY_B64 }}
37
+ PUB_KEY_B64 : ${{ secrets.PUB_KEY_B64 }}
38
+ REDIRECT_URI : ${{ vars.REDIRECT_URI }}
39
+ SECRET_KEY : ${{ secrets.SECRET_KEY }}
40
+ SELF_ID : ${{ secrets.SELF_ID }}
41
+ SIGNING_KEY_ID : ${{ secrets.SIGNING_KEY_ID }}
42
+ SIGNING_SECRET : ${{ secrets.SIGNING_SECRET }}
43
+ TOKEN_URL : ${{ vars.TOKEN_URL }}
44
+ TZ : ${{ vars.TZ }}
45
+ USER_TOKEN : ${{ secrets.USER_TOKEN }}
46
+
18
47
jobs :
19
48
test :
20
49
runs-on : ubuntu-latest
50
+
51
+ # TODO: avoid hardcoding the image name
52
+ services :
53
+ server :
54
+ image : ghcr.io/pythoninthegrass/meetup-bot
55
+ ports :
56
+ - 3000:3000
57
+ env :
58
+ ALGORITHM : ${{ env.ALGORITHM }}
59
+ BOT_USER_TOKEN : ${{ env.BOT_USER_TOKEN }}
60
+ CHANNEL : ${{ env.CHANNEL }}
61
+ CLIENT_ID : ${{ env.CLIENT_ID }}
62
+ CLIENT_SECRET : ${{ env.CLIENT_SECRET }}
63
+ CSV_FN : ${{ env.CSV_FN }}
64
+ DAYS : ${{ env.DAYS }}
65
+ DB_HOST : ${{ env.DB_HOST }}
66
+ DB_NAME : ${{ env.DB_NAME }}
67
+ DB_PASS : ${{ env.DB_PASS }}
68
+ DB_PORT : ${{ env.DB_PORT }}
69
+ DB_USER : ${{ env.DB_USER }}
70
+ JSON_FN : ${{ env.JSON_FN }}
71
+ PORT : ${{ env.PORT }}
72
+ PRIV_KEY_B64 : ${{ env.PRIV_KEY_B64 }}
73
+ PUB_KEY_B64 : ${{ env.PUB_KEY_B64 }}
74
+ REDIRECT_URI : ${{ env.REDIRECT_URI }}
75
+ SECRET_KEY : ${{ env.SECRET_KEY }}
76
+ SELF_ID : ${{ env.SELF_ID }}
77
+ SIGNING_KEY_ID : ${{ env.SIGNING_KEY_ID }}
78
+ SIGNING_SECRET : ${{ env.SIGNING_SECRET }}
79
+ TOKEN_URL : ${{ env.TOKEN_URL }}
80
+ TZ : ${{ env.TZ }}
81
+ USER_TOKEN : ${{ env.USER_TOKEN }}
82
+
21
83
container :
22
84
image : python:3.11.9-slim-bullseye
85
+
23
86
concurrency :
24
87
group : ${{ github.workflow }}-${{ github.ref }}
25
88
cancel-in-progress : true
@@ -43,5 +106,11 @@ jobs:
43
106
python -m pip install --upgrade pip pytest
44
107
python -m pip install -r requirements.txt
45
108
109
+ # - name: Wait for server to be ready
110
+ # run: |
111
+ # timeout 60s bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' server:3000/healthz)" != "200" ]]; do sleep 5; done' || false
112
+
46
113
- name : Run pytest
47
114
run : pytest -s
115
+ env :
116
+ URL : http://server:3000
0 commit comments