Skip to content

Commit d0f479d

Browse files
authored
Merge branch 'develop' into tmp-disallow-relative-imports
2 parents af75532 + e322b81 commit d0f479d

146 files changed

Lines changed: 3865 additions & 1847 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 70 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ updates:
1313
open-pull-requests-limit: 10
1414

1515
- package-ecosystem: "pip"
16-
directory: "/requirements"
16+
directory: "/"
1717
schedule:
1818
interval: "daily"
1919
target-branch: "develop"
@@ -26,14 +26,13 @@ updates:
2626
groups:
2727
boto:
2828
patterns:
29-
- "boto3"
29+
- "boto3[crt]"
3030
- "boto3-stubs*"
31-
- "botocore"
31+
- "botocore[crt]"
3232
- "botocore-stubs"
3333
- "mypy-boto3-*"
34-
types:
35-
patterns:
36-
- "types-*"
34+
- "types-awscrt"
35+
- "types-s3transfer"
3736
pytest:
3837
patterns:
3938
- "pytest-*"
@@ -42,13 +41,78 @@ updates:
4241
# as of writing this
4342
- "pytest-metadata"
4443
- "pytest-json-report"
44+
cookiecutter:
45+
patterns:
46+
- "cookiecutter"
47+
- "arrow"
48+
- "binaryornot"
49+
- "chardet"
50+
- "python-slugify"
51+
- "text-unidecode"
52+
flask:
53+
patterns:
54+
- "flask"
55+
- "blinker"
56+
- "werkzeug"
57+
- "itsdangerous"
58+
cfn-lint:
59+
patterns:
60+
- "cfn-lint"
61+
- "networkx"
62+
- "sympy"
63+
- "mpmath"
64+
- "jsonpatch"
65+
- "jsonpointer"
66+
cryptography:
67+
patterns:
68+
- "cryptography"
69+
- "pyopenssl"
70+
- "cffi"
71+
- "pycparser"
72+
requests:
73+
patterns:
74+
- "requests"
75+
- "certifi"
76+
- "charset-normalizer"
77+
- "idna"
78+
- "urllib3"
79+
rich:
80+
patterns:
81+
- "rich"
82+
- "markdown-it-py"
83+
- "mdurl"
84+
- "pygments"
85+
jsonschema:
86+
patterns:
87+
- "jsonschema"
88+
- "jsonschema-specifications"
89+
- "referencing"
90+
- "attrs"
91+
- "rpds-py"
92+
pydantic:
93+
patterns:
94+
- "pydantic"
95+
- "pydantic-core"
96+
- "annotated-types"
97+
- "typing-inspection"
98+
jinja2:
99+
patterns:
100+
- "jinja2"
101+
- "markupsafe"
102+
pyyaml:
103+
patterns:
104+
- "pyyaml"
105+
- "ruamel-yaml"
45106
ignore:
46107
# Ignored intentionally since we have a GHA that updates to more
47108
# completely
48109
- dependency-name: "aws-sam-translator"
49110
# Ignored intentionally since we have a GHA that updates to more
50111
# completely
51112
- dependency-name: "aws_lambda_builders"
113+
# Ignored intentionally since watchdog v5+ breaks sync watch
114+
# file change detection; pinned to 4.0.2
115+
- dependency-name: "watchdog"
52116
# The dependencies are intentionally pinned to certain
53117
# version ranges for specific Python versions
54118
- dependency-name: "flake8"

.github/workflows/automated-updates-to-sam-cli.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,12 @@ jobs:
108108
echo "SAM-T cur version is $SAM_T_CUR_VERSION"
109109
cd ../aws-sam-cli
110110
git checkout -b update_sam_transform_version
111-
SAM_T_PRE_VERSION=$(grep "aws-sam-translator=" requirements/base.txt)
111+
SAM_T_PRE_VERSION=$(grep -oP 'aws-sam-translator==\K[0-9.]+' pyproject.toml)
112112
echo "SAM-T pre version is $SAM_T_PRE_VERSION"
113113
git reset --hard develop
114-
sed -i "s/$SAM_T_PRE_VERSION/aws-sam-translator==$SAM_T_CUR_VERSION/g" requirements/base.txt
114+
sed -i "s/aws-sam-translator==$SAM_T_PRE_VERSION/aws-sam-translator==$SAM_T_CUR_VERSION/g" pyproject.toml
115115
cp -r ../serverless-application-model/tests/translator/input ./tests/functional/commands/validate/lib/models
116-
make update-reproducible-reqs-uv
116+
make update-reproducible-reqs
117117
git status
118118
git diff --quiet && exit 0 # exit if there is no change
119119
echo "is_new_sam_t=1" >> $GITHUB_ENV # set env variable for next step run decision
@@ -177,11 +177,11 @@ jobs:
177177
echo "Lambda Builders cur version is $BUILDERS_CUR_VERSION"
178178
cd ../aws-sam-cli
179179
git checkout -b update_lambda_builders_version
180-
BUILDERS_PRE_VERSION=$(grep "aws_lambda_builders=" requirements/base.txt)
180+
BUILDERS_PRE_VERSION=$(grep -oP 'aws_lambda_builders==\K[0-9.]+' pyproject.toml)
181181
echo "Lambda Builders pre version is $BUILDERS_PRE_VERSION"
182182
git reset --hard develop
183-
sed -i "s/$BUILDERS_PRE_VERSION/aws_lambda_builders==$BUILDERS_CUR_VERSION/g" requirements/base.txt
184-
make update-reproducible-reqs-uv
183+
sed -i "s/aws_lambda_builders==$BUILDERS_PRE_VERSION/aws_lambda_builders==$BUILDERS_CUR_VERSION/g" pyproject.toml
184+
make update-reproducible-reqs
185185
git status
186186
git diff --quiet && exit 0 # exit if there is no change
187187
echo "is_new_lambda_builders=1" >> $GITHUB_ENV # set env variable for next step run decision

.github/workflows/build.yml

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
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

Comments
 (0)