Skip to content

Commit c4dabcc

Browse files
authored
Merge branch 'develop' into feat/nested-stack-changeset-support-2406
2 parents 19ec594 + fd7499f commit c4dabcc

207 files changed

Lines changed: 4400 additions & 2110 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/workflows/automated-updates-to-sam-cli.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ jobs:
1313
if: github.repository == 'aws/aws-sam-cli'
1414
runs-on: ubuntu-latest
1515
steps:
16+
- name: Check if PR already exists
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
run: |
20+
PR_COUNT=$(gh pr list --repo aws/aws-sam-cli --head update_app_templates_hash --json id --jq length)
21+
if [ "$PR_COUNT" -ge 1 ]; then
22+
echo "PR already exists for update_app_templates_hash, skipping workflow"
23+
exit 1
24+
fi
25+
1626
- name: Checkout App Templates
1727
uses: actions/checkout@v6
1828
with:
@@ -58,6 +68,16 @@ jobs:
5868
if: github.repository == 'aws/aws-sam-cli'
5969
runs-on: ubuntu-latest
6070
steps:
71+
- name: Check if PR already exists
72+
env:
73+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
74+
run: |
75+
PR_COUNT=$(gh pr list --repo aws/aws-sam-cli --head update_sam_transform_version --json id --jq length)
76+
if [ "$PR_COUNT" -ge 1 ]; then
77+
echo "PR already exists for update_sam_transform_version, skipping workflow"
78+
exit 1
79+
fi
80+
6181
- name: Checkout SAM
6282
uses: actions/checkout@v6
6383
with:
@@ -117,6 +137,16 @@ jobs:
117137
if: github.repository == 'aws/aws-sam-cli'
118138
runs-on: ubuntu-latest
119139
steps:
140+
- name: Check if PR already exists
141+
env:
142+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
143+
run: |
144+
PR_COUNT=$(gh pr list --repo aws/aws-sam-cli --head update_lambda_builders_version --json id --jq length)
145+
if [ "$PR_COUNT" -ge 1 ]; then
146+
echo "PR already exists for update_lambda_builders_version, skipping workflow"
147+
exit 1
148+
fi
149+
120150
- name: Checkout Lambda Builders
121151
uses: actions/checkout@v6
122152
with:

.github/workflows/build.yml

Lines changed: 42 additions & 44 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,9 +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+
cache-python: false
72+
- name: Install and activate Python
73+
run: bash tests/setup-python-uv.sh ${{ matrix.python }}
74+
shell: bash
7175
- run: test -f "./.github/ISSUE_TEMPLATE/Bug_report.md" # prevent Bug_report.md from being renamed or deleted
7276
- run: make pr
7377

@@ -80,10 +84,12 @@ jobs:
8084
runs-on: ubuntu-latest
8185
steps:
8286
- uses: actions/checkout@v6
83-
- uses: actions/setup-python@v6
84-
name: Install Python 3.11
87+
- uses: astral-sh/setup-uv@v7
8588
with:
86-
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
8793
- run: make init
8894
- run: |
8995
diff <( cat schema/samcli.json ) <( python -m schema.make_schema && cat schema/samcli.json ) && \
@@ -115,7 +121,7 @@ jobs:
115121
- ubuntu-latest
116122
- windows-latest
117123
python:
118-
- "3.9"
124+
- "3.10"
119125
- "3.11"
120126
# folders that is commented below requires credentials, no need to spare time to run them
121127
tests_config:
@@ -130,33 +136,33 @@ jobs:
130136
#- "delete"
131137
#- "deploy"
132138
- name: "integ-all-other"
133-
params: "-n 2 --reruns 3 tests/integration/init tests/integration/local tests/integration/pipeline tests/integration/root tests/integration/scripts tests/integration/telemetry tests/integration/docs"
139+
params: "-n 2 --reruns 3 tests/integration/init tests/integration/local tests/integration/pipeline tests/integration/root tests/integration/scripts tests/integration/telemetry tests/integration/docs --ignore=tests/integration/local/invoke/test_invoke_durable.py --ignore=tests/integration/local/start_api/test_start_api_durable.py --ignore=tests/integration/local/start_lambda/test_start_lambda_durable.py"
140+
- name: "durable-functions"
141+
params: "--reruns 3 tests/integration/local/invoke/test_invoke_durable.py tests/integration/local/start_api/test_start_api_durable.py tests/integration/local/start_lambda/test_start_lambda_durable.py"
134142
#- "list"
135143
#- "logs"
136144
#- "package"
137145
#- "publish"
138146
#- "sync"
139147
#- "traces"
140148
#- "validate"
149+
exclude:
150+
- os: windows-latest
151+
tests_config:
152+
name: "durable-functions"
141153
steps:
142154
- uses: actions/checkout@v6
143155
- name: Set TEMP to D:/Temp
144156
run: |
145157
mkdir "D:\\Temp"
146158
echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
147159
if: ${{ matrix.os == 'windows-latest' }}
148-
- uses: actions/setup-python@v6
160+
- uses: astral-sh/setup-uv@v7
149161
with:
150-
# set last version as the one in matrix to make it default
151-
python-version: |
152-
3.9
153-
3.10
154-
3.11
155-
3.12
156-
3.13
157-
3.14
158-
${{ matrix.python }}
159-
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 }}
160166
- uses: actions/setup-go@v6
161167
with:
162168
go-version: '1.19'
@@ -165,7 +171,7 @@ jobs:
165171
ruby-version: "3.3"
166172
- uses: actions/setup-node@v6
167173
with:
168-
node-version: 22
174+
node-version: 24
169175
- uses: actions/setup-java@v5
170176
with:
171177
distribution: 'corretto'
@@ -179,24 +185,17 @@ jobs:
179185
with:
180186
dotnet-version: '10.0.x'
181187
# Install and configure Rust & Cargo Lambda
182-
- name: Install and configure Rust & Cargo Lambda
188+
- name: Install Rust toolchain and cargo-lambda
183189
if: ${{ matrix.os == 'ubuntu-latest' }}
184-
run: |
185-
: install rustup if needed
186-
if ! command -v rustup &> /dev/null ; then
187-
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
188-
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
189-
fi
190-
rustup toolchain install stable --profile minimal --no-self-update
191-
rustup default stable
192-
pip install cargo-lambda==$CARGO_LAMBDA_VERSION
193-
echo "$HOME/.local/bin" >> $GITHUB_PATH
190+
run: bash tests/install-rust.sh --uv
194191
- name: Init samdev
195192
run: make init
196193
- name: uv install setuptools in Python3.12
197-
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
198195
- name: Run integration tests for ${{ matrix.tests_config.name }}
199196
run: pytest -vv ${{ matrix.tests_config.params }}
197+
env:
198+
FORCE_RUN_DOCKER_TEST: ${{ matrix.tests_config.name == 'durable-functions' && '1' || '' }}
200199

201200
smoke-and-functional-tests:
202201
name: ${{ matrix.tests_config.name }} / ${{ matrix.tests_config.os }} / ${{ matrix.python }}
@@ -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

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on:
2323
jobs:
2424
analyze:
2525
name: Analyze
26-
if: github.repository_owner == 'aws'
26+
if: github.repository == 'aws/aws-sam-cli'
2727
runs-on: ubuntu-latest
2828
permissions:
2929
actions: read

0 commit comments

Comments
 (0)