35
35
- uses : actions/checkout@v4
36
36
- uses : actions/setup-python@v5
37
37
with :
38
- python-version : ' 3.11 '
38
+ python-version : ' 3.12 '
39
39
-
uses :
pre-commit/[email protected]
40
40
41
41
48
48
os : [ubuntu-20.04, macos-12, windows-2022]
49
49
50
50
# if changing the below change the run-integration-tests versions and the check-deploy versions
51
- python : [3.8, '3.9', '3.10', '3.11']
51
+ # Make sure that we are running the integration tests on the first and last versions of the matrix
52
+ python : [3.8, '3.9', '3.10', '3.11', '3.12']
52
53
53
54
runs-on : ${{ matrix.os }}
54
55
62
63
- name : get-dependencies-location
63
64
shell : bash
64
65
run : |
65
- SITE_PACKAGES_LOCATION=$(python -c "from distutils. sysconfig import get_python_lib ; print(get_python_lib( ))")
66
- SITE_BIN_DIR=$(python3 -c "import os; import platform; import distutils. sysconfig; pre = distutils. sysconfig.get_config_var('prefix'); bindir = os.path.join(pre, 'Scripts' if platform.system() == 'Windows' else 'bin'); print(bindir)")
66
+ SITE_PACKAGES_LOCATION=$(python -c "from sysconfig import get_path ; print(get_path('purelib' ))")
67
+ SITE_BIN_DIR=$(python3 -c "import os; import platform; import sysconfig; pre = sysconfig.get_config_var('prefix'); bindir = os.path.join(pre, 'Scripts' if platform.system() == 'Windows' else 'bin'); print(bindir)")
67
68
echo "site_packages_loc=$SITE_PACKAGES_LOCATION" >> $GITHUB_OUTPUT
68
69
echo "site_bin_dir=$SITE_BIN_DIR" >> $GITHUB_OUTPUT
69
70
id : get-dependencies
@@ -100,7 +101,7 @@ jobs:
100
101
pytest -sv --cov-append --cov=. --cov-report xml tests/unit
101
102
- name : Check for Secret availability
102
103
id : secret-check
103
- if : ${{ contains(fromJSON('["3.9 "]'), matrix.python) }}
104
+ if : ${{ contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12 "]'), matrix.python) }}
104
105
# perform secret check & put boolean result as an output
105
106
shell : bash
106
107
run : |
@@ -159,7 +160,7 @@ jobs:
159
160
shell : bash
160
161
161
162
# keep versions consistent with the first and last from the strategy matrix
162
- if : ${{ contains(fromJSON('["3.9 "]'), matrix.python) && steps.secret-check.outputs.secrets_available == 'true'}}
163
+ if : ${{ ( contains(fromJSON('["3.8 "]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) ) && steps.secret-check.outputs.secrets_available == 'true'}}
163
164
run : |
164
165
# decrypt the encrypted test synapse configuration
165
166
openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d
@@ -192,7 +193,7 @@ jobs:
192
193
fi
193
194
194
195
# use loadscope to avoid issues running tests concurrently that share scoped fixtures
195
- pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n auto --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope
196
+ pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n 8 --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope
196
197
197
198
# Execute the CLI tests in a non-dist way because they were causing some test instability when being run concurrently
198
199
pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration/synapseclient/test_command_line_client.py
@@ -206,7 +207,7 @@ jobs:
206
207
- name : Upload coverage report
207
208
id : upload_coverage_report
208
209
uses : actions/upload-artifact@v4
209
- if : ${{ contains(fromJSON('["3.9 "]'), matrix.python) && contains(fromJSON('["ubuntu-20.04"]'), matrix.os)}}
210
+ if : ${{ contains(fromJSON('["3.12 "]'), matrix.python) && contains(fromJSON('["ubuntu-20.04"]'), matrix.os)}}
210
211
with :
211
212
name : coverage-report
212
213
path : coverage.xml
@@ -401,7 +402,7 @@ jobs:
401
402
os : [ubuntu-20.04, macos-12, windows-2022]
402
403
403
404
# python versions should be consistent with the strategy matrix and the runs-integration-tests versions
404
- python : [3.8, '3.9', '3.10', '3.11']
405
+ python : [3.8, '3.9', '3.10', '3.11', '3.12' ]
405
406
406
407
runs-on : ${{ matrix.os }}
407
408
0 commit comments