31
31
fetch-depth : 0
32
32
env :
33
33
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
34
- - uses : actions/setup-python@v2
34
+ - uses : actions/setup-python@v4
35
35
with :
36
36
python-version : ${{ matrix.python-version }}
37
37
- run : pip install '.[test]'
55
55
fetch-depth : 0
56
56
env :
57
57
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
58
- - uses : actions/setup-python@v2
58
+ - uses : actions/setup-python@v4
59
59
with :
60
60
python-version : 3.8.x
61
61
- run : pip install --pre '.[test]'
@@ -74,14 +74,14 @@ jobs:
74
74
fetch-depth : 0
75
75
env :
76
76
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
77
- - uses : actions/setup-python@v2
77
+ - uses : actions/setup-python@v4
78
78
with :
79
79
python-version : 3.8.x
80
80
- run : pip install -e '.[test]'
81
81
- run : pip freeze
82
82
- run : make dist
83
83
id : create_dist
84
- - uses : actions/upload-artifact@v2
84
+ - uses : actions/upload-artifact@v3
85
85
with :
86
86
name : distributions
87
87
path : dist/
@@ -131,12 +131,12 @@ jobs:
131
131
fetch-depth : 0
132
132
env :
133
133
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
134
- - uses : actions/setup-python@v2
134
+ - uses : actions/setup-python@v4
135
135
with :
136
136
python-version : 3.8.x
137
137
- run : pip freeze
138
138
- run : make docs
139
- - uses : actions/upload-artifact@v2
139
+ - uses : actions/upload-artifact@v3
140
140
with :
141
141
name : docs
142
142
path : docs/site/
@@ -175,7 +175,7 @@ jobs:
175
175
runs-on : ubuntu-latest
176
176
steps :
177
177
- uses : actions/checkout@v4
178
- - uses : actions/setup-python@v2
178
+ - uses : actions/setup-python@v4
179
179
with :
180
180
python-version : 3.8
181
181
- name : Install dependencies
@@ -247,3 +247,84 @@ jobs:
247
247
path : integration-testing/cypress/screenshots
248
248
if-no-files-found : ignore
249
249
retention-days : 1
250
+
251
+ test-connect :
252
+ needs : distributions
253
+ runs-on : ubuntu-latest
254
+ strategy :
255
+ fail-fast : false
256
+ matrix :
257
+ PY_VERSION :
258
+ - 3.8.10
259
+ - 3.9.5
260
+ PYTHON_BUILD : [binary]
261
+ steps :
262
+ - uses : extractions/setup-just@v1
263
+ env :
264
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
265
+ - uses : actions/checkout@v4
266
+ with :
267
+ fetch-depth : 0
268
+ env :
269
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
270
+ # Checkout the rsconnect-python tests from Connect
271
+ - uses : actions/checkout@v4
272
+ with :
273
+ repository : rstudio/connect
274
+ path : ' test/connect-rsconnect-python'
275
+ sparse-checkout : |
276
+ test/rsconnect-python
277
+ scripts
278
+ examples
279
+ sparse-checkout-cone-mode : false
280
+ token : ${{ secrets.CONNECT_PAT }}
281
+
282
+ - name : Build docker container-image
283
+ run : |
284
+ cd test/connect-rsconnect-python/test/rsconnect-python/
285
+ docker-compose --profile rsconnect build
286
+
287
+ - name : Restore dist
288
+ uses : actions/download-artifact@v3
289
+ with :
290
+ name : distributions
291
+ path : dist/
292
+
293
+ - name : Run rsconnect-python Tests
294
+ env :
295
+ CONNECT_LICENSE : " ${{ secrets.RSC_LICENSE }}"
296
+ PY_VERSION : ${{ matrix.PY_VERSION }}
297
+ TEST_SUBSET : " CI"
298
+ RSC_AUTOMATION_PAT : " ${{ secrets.CONNECT_PAT }}"
299
+ ADMIN_API_KEY : " ${{ secrets.ADMIN_API_KEY }}"
300
+ PYTHON_BUILD : " ${{ matrix.PYTHON_BUILD }}"
301
+ QUARTO_VERSION : " 1.3.340"
302
+
303
+ # This allows us to start Connect separately in our own docker container
304
+ CONNECT_SERVER : " http://localhost:3939"
305
+ remote : " yes"
306
+ run : |
307
+ cd integration-testing
308
+ docker compose pull connect
309
+ docker compose up -d connect
310
+ just ../test/connect-rsconnect-python/test/rsconnect-python/test-rsconnect-python-repo-${PYTHON_BUILD}
311
+
312
+ # Videos are captured whether the suite fails or passes
313
+ - name : Save videos
314
+ uses : actions/upload-artifact@v3
315
+ if : failure()
316
+ with :
317
+ name : cypress-videos_${{ matrix.PY_VERSION }}_native
318
+ path : test/connect-rsconnect-python/cypress/videos
319
+ if-no-files-found : ignore
320
+
321
+ # Screenshots are only captured on failure
322
+ - name : Save screenshots
323
+ uses : actions/upload-artifact@v3
324
+ if : failure()
325
+ with :
326
+ name : cypress-screenshots_${{ matrix.PY_VERSION }}_native
327
+ path : test/connect-rsconnect-python/cypress/screenshots
328
+ if-no-files-found : ignore
329
+
330
+
0 commit comments