Skip to content

Commit 463f1bc

Browse files
Merge from aws/aws-sam-cli/develop
2 parents 04aaed2 + 2de54e9 commit 463f1bc

File tree

125 files changed

+5016
-1152
lines changed

Some content is hidden

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

125 files changed

+5016
-1152
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#### Mandatory Checklist
1515
**PRs will only be reviewed after checklist is complete**
1616

17+
- [ ] Review the [generative AI contribution guidelines](https://github.com/aws/aws-sam-cli/blob/develop/CONTRIBUTING.md#ai-usage)
1718
- [ ] Add input/output [type hints](https://docs.python.org/3/library/typing.html) to new functions/methods
1819
- [ ] Write design document if needed ([Do I need to write a design document?](https://github.com/aws/aws-sam-cli/blob/develop/DEVELOPMENT_GUIDE.md#design-document))
1920
- [ ] Write/update unit tests

.github/workflows/build.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120
# folders that is commented below requires credentials, no need to spare time to run them
121121
tests_config:
122122
- name: "integ-buildcmd-arm64"
123-
params: "-n 2 --reruns 3 tests/integration/buildcmd/test_build_cmd_arm64.py"
123+
params: "-n 2 --reruns 3 tests/integration/buildcmd/test_build_cmd_arm64.py"
124124
- name: "integ-buildcmd-main"
125125
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"
126126
- name: "integ-buildcmd-java"
@@ -154,6 +154,7 @@ jobs:
154154
3.11
155155
3.12
156156
3.13
157+
3.14
157158
${{ matrix.python }}
158159
cache: 'pip'
159160
- uses: actions/setup-go@v6
@@ -162,7 +163,7 @@ jobs:
162163
- uses: ruby/setup-ruby@v1
163164
with:
164165
ruby-version: "3.3"
165-
- uses: actions/setup-node@v5
166+
- uses: actions/setup-node@v6
166167
with:
167168
node-version: 22
168169
- uses: actions/setup-java@v5
@@ -173,6 +174,7 @@ jobs:
173174
11
174175
17
175176
21
177+
25
176178
# Install and configure Rust & Cargo Lambda
177179
- name: Install and configure Rust & Cargo Lambda
178180
if: ${{ matrix.os == 'ubuntu-latest' }}
@@ -268,6 +270,7 @@ jobs:
268270
with:
269271
# These are the versions of Python that correspond to the supported Lambda runtimes
270272
python-version: |
273+
3.14
271274
3.9
272275
3.10
273276
3.11

.github/workflows/integration-tests.yml

Lines changed: 414 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/validate_pyinstaller.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
sudo ./sam-installation/install
3333
sam-beta --version
3434
./tests/sanity-check.sh
35-
- uses: actions/upload-artifact@v4
35+
- uses: actions/upload-artifact@v5
3636
with:
3737
name: pyinstaller-linux-zip
3838
path: .build/output/aws-sam-cli-linux-x86_64.zip
@@ -61,7 +61,7 @@ jobs:
6161
sudo ./sam-installation/install
6262
sam-beta --version
6363
./tests/sanity-check.sh
64-
- uses: actions/upload-artifact@v4
64+
- uses: actions/upload-artifact@v5
6565
with:
6666
name: pyinstaller-macos-zip
6767
path: .build/output/aws-sam-cli-macos-x86_64.zip

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,13 +414,16 @@ coverage.xml
414414
tests/integration/buildcmd/scratch
415415
tests/integration/testdata/buildcmd/Dotnet*/bin
416416
tests/integration/testdata/buildcmd/Dotnet*/obj
417+
tests/integration/testdata/buildcmd/Java/**/build/
417418
tests/integration/testdata/invoke/credential_tests/inprocess/dotnet/STS/obj
418419
tests/integration/testdata/sync/code/after/dotnet_function/src/HelloWorld/obj/
419420
tests/integration/testdata/sync/code/before/dotnet_function/src/HelloWorld/obj/
421+
samcli/lib/init/templates/cookiecutter-aws-sam-hello-java-gradle/**/.gradle/
420422

421423
# End of https://www.gitignore.io/api/osx,node,macos,linux,python,windows,pycharm,intellij,sublimetext,visualstudiocode
422424

423425
# Installer build folder
424426
.build
425427

426-
.kiro
428+
.kiro
429+
mise.toml

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ documentation, we greatly value feedback and contributions from our community.
88
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
99
information to effectively respond to your bug report or contribution.
1010

11+
## AI Usage
12+
13+
While using generative AI is allowed when contributing to this project, please keep the following points in mind:
14+
15+
* Review all code yourself before you submit it.
16+
* Understand all the code you have submitted in order to answer any questions the maintainers could have when reviewing your PR.
17+
* Avoid being overly verbose in code and testing - extra code can be hard to review.
18+
* For example, avoid writing unit tests that duplicate existing ones, or test libraries that you're using.
19+
* Keep PR descriptions, comments, and follow ups concise.
20+
* Ensure AI-generated code meets the same quality standards as human-written code.
21+
1122
## Development Guide
1223

1324
Refer to the [Development Guide](DEVELOPMENT_GUIDE.md) for help with environment setup, running tests, submitting a PR, or anything that will make you more productive.

Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ init:
1313
fi
1414

1515
test:
16-
# Run unit tests
17-
# Fail if coverage falls below 95%
16+
# Run unit tests and fail if coverage falls below 94%
1817
pytest --cov samcli --cov schema --cov-report term-missing --cov-fail-under 94 tests/unit
1918

2019
test-cov-report:

appveyor-linux-binary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ install:
7979
- sh: "./aws_cli/bin/python -m pip install awscli"
8080
- sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH"
8181

82-
- sh: "PATH=$PATH:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin"
82+
- sh: "PATH=$PATH:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin:$HOME/venv3.14/bin"
8383

8484
# Install pytest
8585
- sh: "python3.9 -m venv $HOME/pytest"

appveyor-ubuntu.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ install:
4444
# AppVeyor's apt-get cache might be outdated, and the package could potentially be 404.
4545
- sh: "sudo apt-get update --allow-releaseinfo-change"
4646

47-
# install coretto 21
47+
# install coretto 25
4848
- sh: wget -O - https://apt.corretto.aws/corretto.key | sudo gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg
4949
- sh: echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | sudo tee /etc/apt/sources.list.d/corretto.list
50-
- sh: sudo apt-get update; sudo apt-get install -y java-21-amazon-corretto-jdk
51-
- sh: JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto
50+
- sh: sudo apt-get update; sudo apt-get install -y java-25-amazon-corretto-jdk
51+
- sh: JAVA_HOME=/usr/lib/jvm/java-25-amazon-corretto
5252
- sh: PATH=$JAVA_HOME/bin:$PATH
5353
- sh: java --version
5454
- sh: javac --version
@@ -237,11 +237,11 @@ install:
237237
- sh: "npm install [email protected] -g"
238238
- sh: "npm -v"
239239

240-
# Install latest gradle
240+
# Install latest gradle comptabile with Java 25
241241
- sh: "sudo apt-get -y remove gradle"
242-
- sh: "wget https://services.gradle.org/distributions/gradle-9.0.0-bin.zip -P /tmp"
242+
- sh: "wget https://services.gradle.org/distributions/gradle-9.2.0-bin.zip -P /tmp"
243243
- sh: "sudo unzip -d /opt/gradle /tmp/gradle-*.zip"
244-
- sh: "PATH=/opt/gradle/gradle-9.0.0/bin:$PATH"
244+
- sh: "PATH=/opt/gradle/gradle-9.2.0/bin:$PATH"
245245
- sh: "gradle --version"
246246

247247
# Install dotnet8 SDK
@@ -253,7 +253,16 @@ install:
253253
- sh: "./aws_cli/bin/python -m pip install awscli"
254254
- sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH"
255255

256-
- sh: "PATH=$PATH:$HOME/venv3.7/bin:$HOME/venv3.8/bin:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin"
256+
# install python 3.14
257+
- sh: |
258+
DEST="$HOME/venv3.14"
259+
URL="https://github.com/astral-sh/python-build-standalone/releases/download/20251031/cpython-3.14.0+20251031-x86_64-unknown-linux-gnu-install_only.tar.gz"
260+
curl -L "$URL" | tar -xz
261+
mv python $DEST
262+
$HOME/venv3.14/bin/python --version
263+
$HOME/venv3.14/bin/pip --version
264+
265+
- sh: "PATH=$PATH:$HOME/venv3.7/bin:$HOME/venv3.8/bin:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin:$HOME/venv3.14/bin"
257266

258267
# update ca-certificates which causes failures with newest golang library
259268
- sh: "sudo apt-get install --reinstall ca-certificates"

appveyor-windows-al2023.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ install:
5757
# Make sure the temp directory exists for Python to use.
5858
- ps: "mkdir -Force C:\\tmp"
5959
- "python --version"
60-
- 'set PATH=%PYTHON_HOME%;C:\Ruby32-x64\bin;C:\Ruby33-x64\bin;C:\Ruby34-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python311-x64;C:\Python312-x64;C:\Python313-x64'
60+
- 'set PATH=%PYTHON_HOME%;C:\Ruby32-x64\bin;C:\Ruby33-x64\bin;C:\Ruby34-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python311-x64;C:\Python312-x64;C:\Python313-x64;C:\Python314-x64'
6161
- "node --version"
6262
- "echo %PYTHON_HOME%"
6363
- "echo %PATH%"

0 commit comments

Comments
 (0)