8
8
- main
9
9
10
10
schedule :
11
- - cron : " 0 2 * * *" # 2 AM UTC nightly
12
-
11
+ - cron : " 0 2 * * *" # 2 AM UTC nightly
12
+
13
13
workflow_dispatch :
14
14
15
15
env :
16
16
PYTHON_VERSION : " 3.11"
17
17
POETRY_VERSION : " 1.8.3"
18
18
19
19
jobs :
20
+ prime-cache :
21
+ name : Prime HuggingFace Model Cache
22
+ runs-on : ubuntu-latest
23
+ env :
24
+ HF_HOME : ${{ github.workspace }}/hf_cache
25
+ steps :
26
+ - name : Check out repository
27
+ uses : actions/checkout@v3
28
+
29
+ - name : Cache HuggingFace Models
30
+ id : hf-cache
31
+ uses : actions/cache@v3
32
+ with :
33
+ path : hf_cache
34
+ key : ${{ runner.os }}-hf-cache
35
+
36
+ - name : Set HuggingFace token
37
+ run : |
38
+ mkdir -p ~/.huggingface
39
+ echo '{"token":"${{ secrets.HF_TOKEN }}"}' > ~/.huggingface/token
40
+
41
+ - name : Set up Python 3.9
42
+ uses : actions/setup-python@v4
43
+ with :
44
+ python-version : 3.9
45
+ cache : pip
46
+
47
+ - name : Install Poetry
48
+ uses : snok/install-poetry@v1
49
+ with :
50
+ version : ${{ env.POETRY_VERSION }}
51
+
52
+ - name : Install dependencies
53
+ run : |
54
+ poetry install --all-extras
55
+
56
+ - name : Authenticate to Google Cloud
57
+ uses : google-github-actions/auth@v1
58
+ with :
59
+ credentials_json : ${{ secrets.GOOGLE_CREDENTIALS }}
60
+
61
+ - name : Run full test suite to prime cache
62
+ env :
63
+ HF_TOKEN : ${{ secrets.HF_TOKEN }}
64
+ HF_HOME : ${{ github.workspace }}/hf_cache
65
+ OPENAI_API_KEY : ${{ secrets.OPENAI_KEY }}
66
+ GCP_LOCATION : ${{ secrets.GCP_LOCATION }}
67
+ GCP_PROJECT_ID : ${{ secrets.GCP_PROJECT_ID }}
68
+ COHERE_API_KEY : ${{ secrets.COHERE_API_KEY }}
69
+ MISTRAL_API_KEY : ${{ secrets.MISTRAL_API_KEY }}
70
+ VOYAGE_API_KEY : ${{ secrets.VOYAGE_API_KEY }}
71
+ AZURE_OPENAI_API_KEY : ${{ secrets.AZURE_OPENAI_API_KEY }}
72
+ AZURE_OPENAI_ENDPOINT : ${{ secrets.AZURE_OPENAI_ENDPOINT }}
73
+ AZURE_OPENAI_DEPLOYMENT_NAME : ${{ secrets.AZURE_OPENAI_DEPLOYMENT_NAME }}
74
+ OPENAI_API_VERSION : ${{ secrets.OPENAI_API_VERSION }}
75
+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
76
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
77
+ run : |
78
+ make test-all
79
+
20
80
test :
21
81
name : Python ${{ matrix.python-version }} - ${{ matrix.connection }} [redis ${{ matrix.redis-version }}]
22
82
runs-on : ubuntu-latest
23
-
83
+ needs : prime-cache
84
+ env :
85
+ HF_HOME : ${{ github.workspace }}/hf_cache
24
86
strategy :
25
87
fail-fast : false
26
88
matrix :
27
- python-version : [3.9, '3.10', 3.11, 3.12, 3.13]
28
- connection : [' hiredis', ' plain' ]
29
- redis-version : [' 6.2.6-v9', ' latest', ' 8.0-M03' ]
89
+ python-version : ["3.10", " 3.11" , 3.12, 3.13]
90
+ connection : [" hiredis", " plain" ]
91
+ redis-version : [" 6.2.6-v9", " latest", " 8.0-M03" ]
30
92
31
93
steps :
32
94
- name : Check out repository
33
95
uses : actions/checkout@v3
34
96
97
+ - name : Cache HuggingFace Models
98
+ uses : actions/cache@v3
99
+ with :
100
+ path : hf_cache
101
+ key : ${{ runner.os }}-hf-cache
102
+
35
103
- name : Set up Python ${{ matrix.python-version }}
36
104
uses : actions/setup-python@v4
37
105
with :
38
106
python-version : ${{ matrix.python-version }}
39
- cache : ' pip'
107
+ cache : pip
40
108
41
109
- name : Install Poetry
42
110
uses : snok/install-poetry@v1
@@ -68,43 +136,46 @@ jobs:
68
136
- name : Run tests
69
137
if : matrix.connection == 'plain' && matrix.redis-version == 'latest'
70
138
env :
139
+ HF_HOME : ${{ github.workspace }}/hf_cache
71
140
OPENAI_API_KEY : ${{ secrets.OPENAI_KEY }}
72
141
GCP_LOCATION : ${{ secrets.GCP_LOCATION }}
73
142
GCP_PROJECT_ID : ${{ secrets.GCP_PROJECT_ID }}
74
143
COHERE_API_KEY : ${{ secrets.COHERE_API_KEY }}
75
144
MISTRAL_API_KEY : ${{ secrets.MISTRAL_API_KEY }}
76
145
VOYAGE_API_KEY : ${{ secrets.VOYAGE_API_KEY }}
77
- AZURE_OPENAI_API_KEY : ${{secrets.AZURE_OPENAI_API_KEY}}
78
- AZURE_OPENAI_ENDPOINT : ${{secrets.AZURE_OPENAI_ENDPOINT}}
79
- AZURE_OPENAI_DEPLOYMENT_NAME : ${{secrets.AZURE_OPENAI_DEPLOYMENT_NAME}}
80
- OPENAI_API_VERSION : ${{secrets.OPENAI_API_VERSION}}
146
+ AZURE_OPENAI_API_KEY : ${{ secrets.AZURE_OPENAI_API_KEY }}
147
+ AZURE_OPENAI_ENDPOINT : ${{ secrets.AZURE_OPENAI_ENDPOINT }}
148
+ AZURE_OPENAI_DEPLOYMENT_NAME : ${{ secrets.AZURE_OPENAI_DEPLOYMENT_NAME }}
149
+ OPENAI_API_VERSION : ${{ secrets.OPENAI_API_VERSION }}
81
150
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
82
151
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
83
152
run : |
84
153
make test-all
85
154
86
- - name : Run tests
155
+ - name : Run tests (alternate)
87
156
if : matrix.connection != 'plain' || matrix.redis-version != 'latest'
88
157
run : |
89
158
make test
90
159
91
160
- name : Run notebooks
92
161
if : matrix.connection == 'plain' && matrix.redis-version == 'latest'
93
162
env :
163
+ HF_HOME : ${{ github.workspace }}/hf_cache
94
164
OPENAI_API_KEY : ${{ secrets.OPENAI_KEY }}
95
165
GCP_LOCATION : ${{ secrets.GCP_LOCATION }}
96
166
GCP_PROJECT_ID : ${{ secrets.GCP_PROJECT_ID }}
97
167
COHERE_API_KEY : ${{ secrets.COHERE_API_KEY }}
98
168
MISTRAL_API_KEY : ${{ secrets.MISTRAL_API_KEY }}
99
169
VOYAGE_API_KEY : ${{ secrets.VOYAGE_API_KEY }}
100
- AZURE_OPENAI_API_KEY : ${{secrets.AZURE_OPENAI_API_KEY}}
101
- AZURE_OPENAI_ENDPOINT : ${{secrets.AZURE_OPENAI_ENDPOINT}}
102
- AZURE_OPENAI_DEPLOYMENT_NAME : ${{secrets.AZURE_OPENAI_DEPLOYMENT_NAME}}
103
- OPENAI_API_VERSION : ${{secrets.OPENAI_API_VERSION}}
170
+ AZURE_OPENAI_API_KEY : ${{ secrets.AZURE_OPENAI_API_KEY }}
171
+ AZURE_OPENAI_ENDPOINT : ${{ secrets.AZURE_OPENAI_ENDPOINT }}
172
+ AZURE_OPENAI_DEPLOYMENT_NAME : ${{ secrets.AZURE_OPENAI_DEPLOYMENT_NAME }}
173
+ OPENAI_API_VERSION : ${{ secrets.OPENAI_API_VERSION }}
104
174
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
105
175
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
106
176
run : |
107
177
docker run -d --name redis -p 6379:6379 redis/redis-stack-server:latest
178
+ make test-notebooks
108
179
if [[ "${{ matrix.python-version }}" > "3.9" ]]; then
109
180
make test-notebooks
110
181
else
@@ -121,17 +192,17 @@ jobs:
121
192
uses : actions/setup-python@v4
122
193
with :
123
194
python-version : ${{ env.PYTHON_VERSION }}
124
- cache : ' pip'
195
+ cache : pip
125
196
126
197
- name : Install Poetry
127
198
uses : snok/install-poetry@v1
128
199
with :
129
200
version : ${{ env.POETRY_VERSION }}
130
-
201
+
131
202
- name : Install dependencies
132
203
run : |
133
204
poetry install --all-extras
134
205
135
206
- name : Build docs
136
207
run : |
137
- make docs-build
208
+ make docs-build
0 commit comments