Skip to content

Commit 094f53f

Browse files
authored
Merge branch 'develop' into feature/dotenv-support
2 parents 3290daf + c95e0ac commit 094f53f

577 files changed

Lines changed: 28954 additions & 4688 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: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,24 @@ 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
17-
uses: actions/checkout@v5
27+
uses: actions/checkout@v6
1828
with:
1929
repository: aws/aws-sam-cli-app-templates
2030
path: aws-sam-cli-app-templates
2131

2232
- name: Checkout SAM CLI
23-
uses: actions/checkout@v5
33+
uses: actions/checkout@v6
2434
with:
2535
repository: aws/aws-sam-cli
2636
path: aws-sam-cli
@@ -58,20 +68,37 @@ 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
62-
uses: actions/checkout@v5
82+
uses: actions/checkout@v6
6383
with:
6484
repository: aws/serverless-application-model
6585
path: serverless-application-model
6686
ref: main
6787
fetch-depth: 0
6888

6989
- name: Checkout SAM CLI
70-
uses: actions/checkout@v5
90+
uses: actions/checkout@v6
7191
with:
7292
repository: aws/aws-sam-cli
7393
path: aws-sam-cli
7494

95+
- uses: actions/setup-python@v6
96+
with:
97+
python-version: "3.11"
98+
99+
- name: Install uv
100+
uses: astral-sh/setup-uv@v7
101+
75102
- name: Update aws-sam-translator & commit
76103
run: |
77104
git config --global user.email "action@github.com"
@@ -86,6 +113,7 @@ jobs:
86113
git reset --hard develop
87114
sed -i "s/$SAM_T_PRE_VERSION/aws-sam-translator==$SAM_T_CUR_VERSION/g" requirements/base.txt
88115
cp -r ../serverless-application-model/tests/translator/input ./tests/functional/commands/validate/lib/models
116+
make update-reproducible-reqs-uv
89117
git status
90118
git diff --quiet && exit 0 # exit if there is no change
91119
echo "is_new_sam_t=1" >> $GITHUB_ENV # set env variable for next step run decision
@@ -109,20 +137,37 @@ jobs:
109137
if: github.repository == 'aws/aws-sam-cli'
110138
runs-on: ubuntu-latest
111139
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+
112150
- name: Checkout Lambda Builders
113-
uses: actions/checkout@v5
151+
uses: actions/checkout@v6
114152
with:
115153
repository: aws/aws-lambda-builders
116154
path: aws-lambda-builders
117155
ref: main
118156
fetch-depth: 0
119157

120158
- name: Checkout SAM CLI
121-
uses: actions/checkout@v5
159+
uses: actions/checkout@v6
122160
with:
123161
repository: aws/aws-sam-cli
124162
path: aws-sam-cli
125163

164+
- uses: actions/setup-python@v6
165+
with:
166+
python-version: "3.11"
167+
168+
- name: Install uv
169+
uses: astral-sh/setup-uv@v7
170+
126171
- name: Upgrade aws_lambda_builders & commit
127172
run: |
128173
git config --global user.email "action@github.com"
@@ -136,6 +181,7 @@ jobs:
136181
echo "Lambda Builders pre version is $BUILDERS_PRE_VERSION"
137182
git reset --hard develop
138183
sed -i "s/$BUILDERS_PRE_VERSION/aws_lambda_builders==$BUILDERS_CUR_VERSION/g" requirements/base.txt
184+
make update-reproducible-reqs-uv
139185
git status
140186
git diff --quiet && exit 0 # exit if there is no change
141187
echo "is_new_lambda_builders=1" >> $GITHUB_ENV # set env variable for next step run decision

.github/workflows/build.yml

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ jobs:
6464
mkdir "D:\\Temp"
6565
echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
6666
if: ${{ matrix.os == 'windows-latest' }}
67-
- uses: actions/checkout@v5
67+
- uses: actions/checkout@v6
6868
- uses: actions/setup-python@v6
6969
with:
7070
python-version: ${{ matrix.python }}
71+
- uses: astral-sh/setup-uv@v7
7172
- run: test -f "./.github/ISSUE_TEMPLATE/Bug_report.md" # prevent Bug_report.md from being renamed or deleted
7273
- run: make pr
7374

@@ -79,7 +80,7 @@ jobs:
7980
contents: write
8081
runs-on: ubuntu-latest
8182
steps:
82-
- uses: actions/checkout@v5
83+
- uses: actions/checkout@v6
8384
- uses: actions/setup-python@v6
8485
name: Install Python 3.11
8586
with:
@@ -120,7 +121,7 @@ jobs:
120121
# folders that is commented below requires credentials, no need to spare time to run them
121122
tests_config:
122123
- name: "integ-buildcmd-arm64"
123-
params: "-n 2 --reruns 3 tests/integration/buildcmd/test_build_cmd_arm64.py"
124+
params: "-n 2 --reruns 3 tests/integration/buildcmd/test_build_cmd_arm64.py"
124125
- name: "integ-buildcmd-main"
125126
params: "-n 2 --reruns 3 tests/integration/buildcmd/test_build_cmd_dotnet.py tests/integration/buildcmd/test_build_cmd_provided.py tests/integration/buildcmd/test_build_cmd_rust.py tests/integration/buildcmd/test_build_cmd_python.py tests/integration/buildcmd/test_build_cmd_node.py"
126127
- name: "integ-buildcmd-java"
@@ -130,16 +131,22 @@ jobs:
130131
#- "delete"
131132
#- "deploy"
132133
- 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"
134+
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"
135+
- name: "durable-functions"
136+
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"
134137
#- "list"
135138
#- "logs"
136139
#- "package"
137140
#- "publish"
138141
#- "sync"
139142
#- "traces"
140143
#- "validate"
144+
exclude:
145+
- os: windows-latest
146+
tests_config:
147+
name: "durable-functions"
141148
steps:
142-
- uses: actions/checkout@v5
149+
- uses: actions/checkout@v6
143150
- name: Set TEMP to D:/Temp
144151
run: |
145152
mkdir "D:\\Temp"
@@ -154,6 +161,7 @@ jobs:
154161
3.11
155162
3.12
156163
3.13
164+
3.14
157165
${{ matrix.python }}
158166
cache: 'pip'
159167
- uses: actions/setup-go@v6
@@ -162,9 +170,9 @@ jobs:
162170
- uses: ruby/setup-ruby@v1
163171
with:
164172
ruby-version: "3.3"
165-
- uses: actions/setup-node@v5
173+
- uses: actions/setup-node@v6
166174
with:
167-
node-version: 22
175+
node-version: 24
168176
- uses: actions/setup-java@v5
169177
with:
170178
distribution: 'corretto'
@@ -173,25 +181,22 @@ jobs:
173181
11
174182
17
175183
21
184+
25
185+
- uses: actions/setup-dotnet@v5
186+
with:
187+
dotnet-version: '10.0.x'
176188
# Install and configure Rust & Cargo Lambda
177-
- name: Install and configure Rust & Cargo Lambda
189+
- name: Install Rust toolchain and cargo-lambda
178190
if: ${{ matrix.os == 'ubuntu-latest' }}
179-
run: |
180-
: install rustup if needed
181-
if ! command -v rustup &> /dev/null ; then
182-
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
183-
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
184-
fi
185-
rustup toolchain install stable --profile minimal --no-self-update
186-
rustup default stable
187-
pip install cargo-lambda==$CARGO_LAMBDA_VERSION
188-
echo "$HOME/.local/bin" >> $GITHUB_PATH
191+
run: bash tests/install-rust.sh
189192
- name: Init samdev
190193
run: make init
191194
- name: uv install setuptools in Python3.12
192195
run: uv pip install --system --python python3.12 --upgrade pip setuptools
193196
- name: Run integration tests for ${{ matrix.tests_config.name }}
194197
run: pytest -vv ${{ matrix.tests_config.params }}
198+
env:
199+
FORCE_RUN_DOCKER_TEST: ${{ matrix.tests_config.name == 'durable-functions' && '1' || '' }}
195200

196201
smoke-and-functional-tests:
197202
name: ${{ matrix.tests_config.name }} / ${{ matrix.tests_config.os }} / ${{ matrix.python }}
@@ -228,7 +233,7 @@ jobs:
228233
params: "-n 4 tests/smoke tests/functional"
229234
env_vars: "third-third"
230235
steps:
231-
- uses: actions/checkout@v5
236+
- uses: actions/checkout@v6
232237
- name: Set TEMP to D:/Temp
233238
run: |
234239
mkdir "D:\\Temp"
@@ -258,7 +263,7 @@ jobs:
258263
- ubuntu-latest
259264
- windows-latest
260265
steps:
261-
- uses: actions/checkout@v5
266+
- uses: actions/checkout@v6
262267
- name: Set TEMP to D:/Temp
263268
run: |
264269
mkdir "D:\\Temp"
@@ -268,6 +273,7 @@ jobs:
268273
with:
269274
# These are the versions of Python that correspond to the supported Lambda runtimes
270275
python-version: |
276+
3.14
271277
3.9
272278
3.10
273279
3.11

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
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
@@ -42,7 +42,7 @@ jobs:
4242

4343
steps:
4444
- name: Checkout repository
45-
uses: actions/checkout@v5
45+
uses: actions/checkout@v6
4646

4747
# Initializes the CodeQL tools for scanning.
4848
- name: Initialize CodeQL

0 commit comments

Comments
 (0)