Skip to content

Commit c7ec4c3

Browse files
Merge from aws/aws-sam-cli/develop
2 parents d38e240 + 364cdb0 commit c7ec4c3

20 files changed

+891
-782
lines changed

appveyor-linux-binary.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,16 @@ install:
4646
- sh: "ls /usr/"
4747
# install latest maven which is compatible with jdk17
4848
- sh: "sudo apt-get -y remove maven"
49-
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.10/binaries/apache-maven-3.9.10-bin.zip -P /tmp"
49+
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.zip -P /tmp"
5050
- sh: "sudo unzip -d /opt/mvn /tmp/apache-maven-*.zip"
51-
- sh: "PATH=/opt/mvn/apache-maven-3.9.10/bin:$PATH"
51+
- sh: "PATH=/opt/mvn/apache-maven-3.9.11/bin:$PATH"
5252
- sh: "mvn --version"
5353

5454
- sh: "source ${HOME}/venv${PYTHON_VERSION}/bin/activate"
55-
- sh: "rbenv install 3.3.0"
56-
- sh: "rbenv global 3.3.0"
55+
- sh: "rbenv install 3.3.7"
56+
- sh: "rbenv install 3.4.2"
57+
- sh: "rbenv install 3.2.7"
58+
- sh: "rbenv global 3.3.7"
5759
- sh: "ruby --version"
5860
- sh: "docker info"
5961
- sh: "docker version"
@@ -63,9 +65,9 @@ install:
6365

6466
# Install latest gradle
6567
- sh: "sudo apt-get -y remove gradle"
66-
- sh: "wget https://services.gradle.org/distributions/gradle-8.4-bin.zip -P /tmp"
68+
- sh: "wget https://services.gradle.org/distributions/gradle-9.0.0-bin.zip -P /tmp"
6769
- sh: "sudo unzip -d /opt/gradle /tmp/gradle-*.zip"
68-
- sh: "PATH=/opt/gradle/gradle-8.4/bin:$PATH"
70+
- sh: "PATH=/opt/gradle/gradle-9.0.0/bin:$PATH"
6971
- sh: "gradle --version"
7072

7173
# Install dotnet8 SDK
@@ -171,7 +173,10 @@ on_finish:
171173
- sh: 'export AWS_SECRET_ACCESS_KEY=$CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY'
172174
- sh: 'export AWS_SESSION_TOKEN=$CI_ACCESS_ROLE_AWS_SESSION_TOKEN'
173175

174-
- sh: 'aws stepfunctions send-task-success --task-token "$TASK_TOKEN" --task-output "{}" --region us-west-2'
176+
# When we update to AWS CLI v2, we need to add the `--cli-binary-format raw-in-base64-out` option to pass the payload as a JSON string
177+
- sh: >
178+
aws lambda invoke --function-name "$ACCOUNT_RESET_LAMBDA_ARN" --payload "{\"taskToken\": \"$TASK_TOKEN\", \"output\": \"{}\"}" ./lambda-output.txt --region us-west-2
179+
- sh: 'cat ./lambda-output.txt'
175180

176181
for:
177182
# Integ testing build

appveyor-ubuntu.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,17 @@ install:
4747
- sh: "ls /usr/"
4848
# install latest maven which is compatible with jdk17
4949
- sh: "sudo apt-get -y remove maven"
50-
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.10/binaries/apache-maven-3.9.10-bin.zip -P /tmp"
50+
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.zip -P /tmp"
5151
- sh: "sudo unzip -d /opt/mvn /tmp/apache-maven-*.zip"
52-
- sh: "PATH=/opt/mvn/apache-maven-3.9.10/bin:$PATH"
52+
- sh: "PATH=/opt/mvn/apache-maven-3.9.11/bin:$PATH"
5353
- sh: "mvn --version"
5454

5555
- sh: "source ${HOME}/venv${PYTHON_VERSION}/bin/activate"
56+
- sh: "rbenv install 3.3.7"
57+
- sh: "rbenv install 3.4.2"
58+
- sh: "rbenv install 3.2.7"
59+
- sh: "rbenv global 3.3.7"
60+
- sh: "ruby --version"
5661
- sh: "docker info"
5762
- sh: "docker version"
5863
- sh: "nvm install ${NODE_VERSION}"
@@ -61,9 +66,9 @@ install:
6166

6267
# Install latest gradle
6368
- sh: "sudo apt-get -y remove gradle"
64-
- sh: "wget https://services.gradle.org/distributions/gradle-8.4-bin.zip -P /tmp"
69+
- sh: "wget https://services.gradle.org/distributions/gradle-9.0.0-bin.zip -P /tmp"
6570
- sh: "sudo unzip -d /opt/gradle /tmp/gradle-*.zip"
66-
- sh: "PATH=/opt/gradle/gradle-8.4/bin:$PATH"
71+
- sh: "PATH=/opt/gradle/gradle-9.0.0/bin:$PATH"
6772
- sh: "gradle --version"
6873

6974
# Install dotnet8 SDK
@@ -157,7 +162,10 @@ on_finish:
157162
- sh: 'export AWS_SECRET_ACCESS_KEY=$CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY'
158163
- sh: 'export AWS_SESSION_TOKEN=$CI_ACCESS_ROLE_AWS_SESSION_TOKEN'
159164

160-
- sh: 'aws stepfunctions send-task-success --task-token "$TASK_TOKEN" --task-output "{}" --region us-west-2'
165+
# When we update to AWS CLI v2, we need to add the `--cli-binary-format raw-in-base64-out` option to pass the payload as a JSON string
166+
- sh: >
167+
aws lambda invoke --function-name "$ACCOUNT_RESET_LAMBDA_ARN" --payload "{\"taskToken\": \"$TASK_TOKEN\", \"output\": \"{}\"}" ./lambda-output.txt --region us-west-2
168+
- sh: 'cat ./lambda-output.txt'
161169

162170
for:
163171
# Integ testing build

appveyor-windows-al2023.yml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,25 @@ install:
4747
- 'set PATH=%JAVA_HOME%\bin;%PATH%'
4848
- java --version
4949
- javac --version
50-
- choco upgrade gradle --version=8.4.0
50+
- choco upgrade gradle --version=9.0.0
51+
- choco install ruby --version=3.2.7.1
52+
- choco install ruby --version=3.3.7.1
53+
- choco install ruby --version=3.4.2.1
5154
- "gradle -v"
5255
- "mvn --version"
5356

5457
# Make sure the temp directory exists for Python to use.
5558
- ps: "mkdir -Force C:\\tmp"
5659
- "python --version"
57-
- 'set PATH=%PYTHON_HOME%;C:\Ruby33-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'
5861
- "node --version"
5962
- "echo %PYTHON_HOME%"
6063
- "echo %PATH%"
6164
- "python --version"
6265
- "ruby --version"
6366
- ps: "Restart-Service docker"
6467
# Switch to Docker Linux containers
65-
- ps: '& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchLinuxEngine'
68+
- ps: '& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchLinuxEngine'4
6669
- "docker info"
6770
- "docker version"
6871

@@ -137,22 +140,23 @@ install:
137140
on_finish:
138141
# Upload test reports as artifacts
139142
- ps: Get-ChildItem .\TEST_REPORT-*.json | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
140-
- ps: '
141-
If (Test-Path env:BY_CANARY){
142-
$env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
143-
$env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
144-
$env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
145-
aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2
146-
}'
143+
- ps: |
144+
If (Test-Path env:BY_CANARY){
145+
$env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
146+
$env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
147+
$env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
148+
aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2
149+
}
147150
148151
# notify success
149-
- ps: "
150-
If (Test-Path env:BY_CANARY){
151-
$env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
152-
$env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
153-
$env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
154-
aws stepfunctions send-task-success --task-token \"$env:TASK_TOKEN\" --task-output \"{}\" --region us-west-2;
155-
}"
152+
- ps: |
153+
If (Test-Path env:BY_CANARY){
154+
$env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
155+
$env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
156+
$env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
157+
aws lambda invoke --function-name "$env:ACCOUNT_RESET_LAMBDA_ARN" --payload "{\`"taskToken\`": \`"$env:TASK_TOKEN\`", \`"output\`": \`"{}\`"}" lambda-output.txt --region us-west-2;
158+
cat lambda-output.txt
159+
}
156160
157161
build_script:
158162
# install Rust in build_script to not override the default "install" actions

appveyor-windows-binary.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,16 @@ install:
6060
- 'set PATH=%JAVA_HOME%\bin;%PATH%'
6161
- java --version
6262
- javac --version
63-
- choco upgrade gradle --version=8.4.0
63+
- choco upgrade gradle --version=9.0.0
6464
- "gradle -v"
6565
- "mvn --version"
66-
- choco install ruby --version=3.3.0.1
66+
- choco install ruby --version=3.2.7.1
67+
- choco install ruby --version=3.3.7.1
6768
- choco install ruby --version=3.4.2.1
6869

6970
# Make sure the temp directory exists for Python to use.
7071
- ps: "mkdir -Force C:\\tmp"
71-
- 'set PATH=%PYTHON_HOME%;C:\Ruby32-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python38-x64;C:\Python312-x64;C:\Python313-x64'
72+
- 'set PATH=%PYTHON_HOME%;C:\Ruby32-x64\bin;C:\Ruby33-x64\bin;C:\Ruby34-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python38-x64;C:\Python312-x64;C:\Python313-x64'
7273
- "echo %PYTHON_HOME%"
7374
- "echo %PATH%"
7475
- "python --version"
@@ -180,7 +181,8 @@ on_finish:
180181
$env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
181182
$env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
182183
$env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
183-
aws stepfunctions send-task-success --task-token "$env:TASK_TOKEN" --task-output "{}" --region us-west-2;
184+
aws lambda invoke --function-name "$env:ACCOUNT_RESET_LAMBDA_ARN" --payload "{\`"taskToken\`": \`"$env:TASK_TOKEN\`", \`"output\`": \`"{}\`"}" lambda-output.txt --region us-west-2;
185+
cat lambda-output.txt
184186
}
185187
186188

appveyor-windows.yml

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,23 @@ install:
5959
- 'set PATH=%JAVA_HOME%\bin;%PATH%'
6060
- java --version
6161
- javac --version
62-
- choco upgrade gradle --version=8.4.0
62+
- choco upgrade gradle --version=9.0.0
63+
- choco install ruby --version=3.2.7.1
64+
- choco install ruby --version=3.3.7.1
65+
- choco install ruby --version=3.4.2.1
6366
- "gradle -v"
6467
- "mvn --version"
6568

6669
# Make sure the temp directory exists for Python to use.
6770
- ps: "mkdir -Force C:\\tmp"
68-
- 'set PATH=%PYTHON_HOME%;C:\Ruby32-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python311-x64;C:\Python312-x64;C:\Python313-x64'
71+
- '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'
6972
- "echo %PYTHON_HOME%"
7073
- "echo %PATH%"
7174
- "python --version"
7275
- ps: "Restart-Service docker"
7376
# Switch to Docker Linux containers
7477
- ps: '& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchLinuxEngine'
78+
- "ruby --version"
7579
- "docker info"
7680
- "docker version"
7781

@@ -145,22 +149,23 @@ install:
145149
on_finish:
146150
# Upload test reports as artifacts
147151
- ps: Get-ChildItem .\TEST_REPORT-*.json | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
148-
- ps: '
149-
If (Test-Path env:BY_CANARY){
150-
$env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
151-
$env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
152-
$env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
153-
aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2
154-
}'
152+
- ps: |
153+
If (Test-Path env:BY_CANARY){
154+
$env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
155+
$env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
156+
$env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
157+
aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2;
158+
}
155159
156160
# notify success
157-
- ps: "
158-
If (Test-Path env:BY_CANARY){
159-
$env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
160-
$env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
161-
$env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
162-
aws stepfunctions send-task-success --task-token \"$env:TASK_TOKEN\" --task-output \"{}\" --region us-west-2;
163-
}"
161+
- ps: |
162+
If (Test-Path env:BY_CANARY){
163+
$env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
164+
$env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
165+
$env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
166+
aws lambda invoke --function-name "$env:ACCOUNT_RESET_LAMBDA_ARN" --payload "{\`"taskToken\`": \`"$env:TASK_TOKEN\`", \`"output\`": \`"{}\`"}" lambda-output.txt --region us-west-2;
167+
cat lambda-output.txt
168+
}
164169
165170
166171
for:

requirements/base.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ aws-sam-translator==1.99.0
1111
docker~=7.1.0
1212
dateparser~=1.2
1313
requests~=2.32.4
14-
aws_lambda_builders==1.55.0
14+
aws_lambda_builders==1.57.0
1515
tomlkit==0.13.3
1616
# NOTE: For supporting watchdog in Python3.8, version is pinned to 4.0.2 as
1717
# version 5.0.2 introduced some breaking changes for versions > Python3.8
1818
watchdog==4.0.2
1919

20-
rich~=14.0.0
20+
rich~=14.1.0
2121
pyopenssl~=25.1.0
2222
# Pin to <4.18 to until SAM-T no longer uses RefResolver
23-
jsonschema<4.25
23+
jsonschema<4.26
2424

2525
# Needed for supporting Protocol in Python 3.7, Protocol class became public with python3.8
2626
typing_extensions>=4.4.0,<5
@@ -31,7 +31,7 @@ regex!=2021.10.8
3131
tzlocal==5.3.1
3232

3333
#Adding cfn-lint dependency for SAM validate
34-
cfn-lint~=1.36.1
34+
cfn-lint~=1.38.1
3535

3636
# Type checking boto3 objects
37-
boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]==1.38.46
37+
boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]==1.39.7

requirements/dev.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
-r pre-dev.txt
22

3-
coverage==7.9.1; python_version>="3.9"
3+
coverage==7.9.2; python_version>="3.9"
44
coverage==7.6.1; python_version<"3.9"
55
pytest-cov==6.2.1; python_version>="3.9"
66
pytest-cov==5.0.0; python_version<"3.9"
@@ -10,17 +10,17 @@ pytest-cov==5.0.0; python_version<"3.9"
1010
# mypy adds new rules in new minor versions, which could cause our PR check to fail
1111
# here we fix its version and upgrade it manually in the future
1212
mypy==1.15.0
13-
types-pywin32==310.0.0.20250516; python_version>="3.9"
13+
types-pywin32==311.0.0.20250723; python_version>="3.9"
1414
types-pywin32==308.0.0.20241221; python_version<"3.9"
1515
types-PyYAML==6.0.12.20250516
1616
types-chevron==0.14.2.20250103
1717
types-psutil==7.0.0.20250601
1818
types-setuptools==80.9.0.20250529
19-
types-Pygments==2.19.0.20250516
19+
types-Pygments==2.19.0.20250715
2020
types-colorama==0.4.15.20240311
2121
types-dateparser==1.2.2.20250627
22-
types-docutils==0.21.0.20250604
23-
types-jsonschema==4.24.0.20250528
22+
types-docutils==0.21.0.20250722
23+
types-jsonschema==4.25.0.20250720
2424
types-pyOpenSSL==24.1.0.20240722
2525
# lucashuy: pin `types-request` based on the Python version since newer versions of
2626
# the types require a newer version of requests, which is only installed in newer versions of Python
@@ -33,7 +33,7 @@ types-urllib3==1.26.25.14
3333
pytest==8.4.1
3434

3535
parameterized==0.9.0
36-
pytest-xdist==3.7.0
36+
pytest-xdist==3.8.0
3737
pytest-forked==1.6.0
3838
pytest-timeout==2.4.0
3939
pytest-rerunfailures==15.1; python_version>="3.9"

requirements/pyinstaller-build.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Executable binary builder requirements
22
setuptools==80.9.0
3-
pyinstaller==6.14.1
3+
pyinstaller==6.14.2

0 commit comments

Comments
 (0)