5555 - ubuntu-latest
5656 - windows-latest
5757 python :
58- - " 3.9 "
58+ - " 3.10 "
5959 - " 3.11"
6060 steps :
6161 # This allows temp file creation on drive D, which won't trigger windows defender scan and leads to faster IO
@@ -65,10 +65,13 @@ jobs:
6565 echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
6666 if : ${{ matrix.os == 'windows-latest' }}
6767 - uses : actions/checkout@v6
68- - uses : actions /setup-python@v6
68+ - uses : astral-sh /setup-uv@v7
6969 with :
7070 python-version : ${{ matrix.python }}
71- - uses : astral-sh/setup-uv@v7
71+ cache-python : false
72+ - name : Install and activate Python
73+ run : bash tests/setup-python-uv.sh ${{ matrix.python }}
74+ shell : bash
7275 - run : test -f "./.github/ISSUE_TEMPLATE/Bug_report.md" # prevent Bug_report.md from being renamed or deleted
7376 - run : make pr
7477
@@ -81,10 +84,12 @@ jobs:
8184 runs-on : ubuntu-latest
8285 steps :
8386 - uses : actions/checkout@v6
84- - uses : actions/setup-python@v6
85- name : Install Python 3.11
87+ - uses : astral-sh/setup-uv@v7
8688 with :
87- python-version : 3.11
89+ python-version : " 3.11"
90+ cache-python : false
91+ - name : Install and activate Python
92+ run : bash tests/setup-python-uv.sh 3.11
8893 - run : make init
8994 - run : |
9095 diff <( cat schema/samcli.json ) <( python -m schema.make_schema && cat schema/samcli.json ) && \
@@ -116,7 +121,7 @@ jobs:
116121 - ubuntu-latest
117122 - windows-latest
118123 python :
119- - " 3.9 "
124+ - " 3.10 "
120125 - " 3.11"
121126 # folders that is commented below requires credentials, no need to spare time to run them
122127 tests_config :
@@ -152,18 +157,12 @@ jobs:
152157 mkdir "D:\\Temp"
153158 echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
154159 if : ${{ matrix.os == 'windows-latest' }}
155- - uses : actions /setup-python@v6
160+ - uses : astral-sh /setup-uv@v7
156161 with :
157- # set last version as the one in matrix to make it default
158- python-version : |
159- 3.9
160- 3.10
161- 3.11
162- 3.12
163- 3.13
164- 3.14
165- ${{ matrix.python }}
166- cache : ' pip'
162+ python-version : ${{ matrix.python }}
163+ cache-python : false
164+ - name : Install Python versions
165+ run : bash tests/setup-python-uv.sh 3.9 3.10 3.11 3.12 3.13 3.14 ${{ matrix.python }}
167166 - uses : actions/setup-go@v6
168167 with :
169168 go-version : ' 1.19'
@@ -188,11 +187,11 @@ jobs:
188187 # Install and configure Rust & Cargo Lambda
189188 - name : Install Rust toolchain and cargo-lambda
190189 if : ${{ matrix.os == 'ubuntu-latest' }}
191- run : bash tests/install-rust.sh
190+ run : bash tests/install-rust.sh --uv
192191 - name : Init samdev
193192 run : make init
194193 - name : uv install setuptools in Python3.12
195- run : uv pip install --system --python python3 .12 --upgrade pip setuptools
194+ run : uv pip install --break- system-packages --python "$(uv python find 3 .12)" --upgrade pip setuptools
196195 - name : Run integration tests for ${{ matrix.tests_config.name }}
197196 run : pytest -vv ${{ matrix.tests_config.params }}
198197 env :
@@ -213,7 +212,7 @@ jobs:
213212 fail-fast : false
214213 matrix :
215214 python :
216- - " 3.9 "
215+ - " 3.10 "
217216 - " 3.11"
218217 tests_config :
219218 - name : " Smoke & Functional Tests - All"
@@ -239,10 +238,12 @@ jobs:
239238 mkdir "D:\\Temp"
240239 echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
241240 if : ${{ matrix.os == 'windows-latest' }}
242- - uses : actions /setup-python@v6
241+ - uses : astral-sh /setup-uv@v7
243242 with :
244243 python-version : ${{ matrix.python }}
245- cache : ' pip'
244+ cache-python : false
245+ - name : Install and activate Python
246+ run : bash tests/setup-python-uv.sh ${{ matrix.python }}
246247 - name : Init samdev
247248 run : make init
248249 - name : Run ${{ matrix.tests_config.name }}
@@ -269,16 +270,13 @@ jobs:
269270 mkdir "D:\\Temp"
270271 echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
271272 if : ${{ matrix.os == 'windows-latest' }}
272- - uses : actions /setup-python@v6
273+ - uses : astral-sh /setup-uv@v7
273274 with :
274- # These are the versions of Python that correspond to the supported Lambda runtimes
275- python-version : |
276- 3.14
277- 3.9
278- 3.10
279- 3.11
280- 3.12
281- 3.13
275+ python-version : " 3.10"
276+ cache-python : false
277+ - name : Install Python versions
278+ shell : bash
279+ run : bash tests/setup-python-uv.sh 3.9 3.10 3.11 3.12 3.13 3.14
282280 - name : Stop Docker Linux
283281 if : ${{ matrix.os == 'ubuntu-latest' }}
284282 run : |
@@ -292,7 +290,7 @@ jobs:
292290 - name : Init samdev
293291 run : make init
294292 - name : uv install setuptools in Python3.12
295- run : uv pip install --system --python python3 .12 --upgrade pip setuptools
293+ run : uv pip install --break- system-packages --python "$(uv python find 3 .12)" --upgrade pip setuptools
296294 - name : Check Docker not Running
297295 run : docker info
298296 id : run-docker-info
0 commit comments