@@ -38,15 +38,41 @@ jobs:
38
38
- name : Install Poetry
39
39
uses : snok/install-poetry@v1
40
40
41
+ - name : Configure Poetry for CI optimization
42
+ run : |
43
+ poetry config virtualenvs.create false
44
+ poetry config virtualenvs.in-project false
45
+
46
+ - name : Cache Poetry dependencies
47
+ uses : actions/cache@v4
48
+ with :
49
+ path : ~/.cache/pypoetry
50
+ key : poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
51
+ restore-keys : |
52
+ poetry-${{ runner.os }}-
53
+
41
54
- uses : actions/setup-node@v4
42
55
with :
43
56
node-version : 18
44
57
58
+ - name : Cache Nx
59
+ uses : actions/cache@v4
60
+ with :
61
+ path : .nx/cache
62
+ key : nx-${{ runner.os }}-${{ hashFiles('nx.json', 'package-lock.json') }}
63
+ restore-keys : |
64
+ nx-${{ runner.os }}-
65
+
45
66
- uses : nrwl/nx-set-shas@v4
46
67
- run : npm ci
47
68
- run : npx nx affected -t install --with dev
48
69
- run : npx nx affected -t lint --parallel=3
49
70
71
+ - name : Clean up build artifacts
72
+ run : |
73
+ find . -name "*.pyc" -delete
74
+ find . -name "__pycache__" -type d -exec rm -rf {} + || true
75
+
50
76
build-packages :
51
77
name : Build Packages
52
78
runs-on : ubuntu-latest
@@ -66,10 +92,32 @@ jobs:
66
92
- name : Install Poetry
67
93
uses : snok/install-poetry@v1
68
94
95
+ - name : Configure Poetry for CI optimization
96
+ run : |
97
+ poetry config virtualenvs.create false
98
+ poetry config virtualenvs.in-project false
99
+
100
+ - name : Cache Poetry dependencies
101
+ uses : actions/cache@v4
102
+ with :
103
+ path : ~/.cache/pypoetry
104
+ key : poetry-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
105
+ restore-keys : |
106
+ poetry-${{ runner.os }}-${{ matrix.python-version }}-
107
+ poetry-${{ runner.os }}-
108
+
69
109
- uses : actions/setup-node@v4
70
110
with :
71
111
node-version : 18
72
112
113
+ - name : Cache Nx
114
+ uses : actions/cache@v4
115
+ with :
116
+ path : .nx/cache
117
+ key : nx-${{ runner.os }}-${{ hashFiles('nx.json', 'package-lock.json') }}
118
+ restore-keys : |
119
+ nx-${{ runner.os }}-
120
+
73
121
- uses : nrwl/nx-set-shas@v4
74
122
75
123
- run : npm ci
@@ -80,6 +128,11 @@ jobs:
80
128
- name : Build
81
129
run : npx nx affected -t build-release --parallel=3
82
130
131
+ - name : Clean up build artifacts
132
+ run : |
133
+ find . -name "*.pyc" -delete
134
+ find . -name "__pycache__" -type d -exec rm -rf {} + || true
135
+
83
136
test-packages :
84
137
name : Test Packages
85
138
runs-on : ubuntu-latest
@@ -104,10 +157,40 @@ jobs:
104
157
- name : Install Poetry
105
158
uses : snok/install-poetry@v1
106
159
160
+ - name : Configure Poetry for CI optimization
161
+ run : |
162
+ poetry config virtualenvs.create false
163
+ poetry config virtualenvs.in-project false
164
+
165
+ - name : Cache Poetry dependencies
166
+ uses : actions/cache@v4
167
+ with :
168
+ path : ~/.cache/pypoetry
169
+ key : poetry-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
170
+ restore-keys : |
171
+ poetry-${{ runner.os }}-${{ matrix.python-version }}-
172
+ poetry-${{ runner.os }}-
173
+
174
+ - name : Cache pip dependencies
175
+ uses : actions/cache@v4
176
+ with :
177
+ path : ~/.cache/pip
178
+ key : pip-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }}
179
+ restore-keys : |
180
+ pip-${{ runner.os }}-${{ matrix.python-version }}-
181
+
107
182
- uses : actions/setup-node@v4
108
183
with :
109
184
node-version : 18
110
185
186
+ - name : Cache Nx
187
+ uses : actions/cache@v4
188
+ with :
189
+ path : .nx/cache
190
+ key : nx-${{ runner.os }}-${{ hashFiles('nx.json', 'package-lock.json') }}
191
+ restore-keys : |
192
+ nx-${{ runner.os }}-
193
+
111
194
- uses : nrwl/nx-set-shas@v4
112
195
113
196
- run : npm ci
@@ -119,3 +202,8 @@ jobs:
119
202
env :
120
203
HAYSTACK_TELEMETRY_ENABLED : False
121
204
run : npx nx affected -t test --exclude='sample-app' --exclude='opentelemetry-instrumentation-haystack' --parallel=3
205
+
206
+ - name : Clean up build artifacts
207
+ run : |
208
+ find . -name "*.pyc" -delete
209
+ find . -name "__pycache__" -type d -exec rm -rf {} + || true
0 commit comments