Skip to content

Commit 5d67b74

Browse files
committed
feat(build): graduate Rust cargo-lambda support from experimental
Remove the experimental/beta flag requirement for building Rust functions with the rust-cargolambda build method. Users no longer need to pass --beta-features or set SAM_CLI_BETA_RUST_CARGO_LAMBDA=1 to build Rust Lambda functions. Changes: - Remove RustCargoLambda from ExperimentalFlag class - Remove _check_rust_cargo_experimental_flag() method from BuildContext - Update integration tests to not require beta_features flag - Update unit tests to remove mock for deleted method
1 parent f37dc09 commit 5d67b74

29 files changed

+607
-1069
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout App Templates
17-
uses: actions/checkout@v6
17+
uses: actions/checkout@v5
1818
with:
1919
repository: aws/aws-sam-cli-app-templates
2020
path: aws-sam-cli-app-templates
2121

2222
- name: Checkout SAM CLI
23-
uses: actions/checkout@v6
23+
uses: actions/checkout@v5
2424
with:
2525
repository: aws/aws-sam-cli
2626
path: aws-sam-cli
@@ -59,15 +59,15 @@ jobs:
5959
runs-on: ubuntu-latest
6060
steps:
6161
- name: Checkout SAM
62-
uses: actions/checkout@v6
62+
uses: actions/checkout@v5
6363
with:
6464
repository: aws/serverless-application-model
6565
path: serverless-application-model
6666
ref: main
6767
fetch-depth: 0
6868

6969
- name: Checkout SAM CLI
70-
uses: actions/checkout@v6
70+
uses: actions/checkout@v5
7171
with:
7272
repository: aws/aws-sam-cli
7373
path: aws-sam-cli
@@ -110,15 +110,15 @@ jobs:
110110
runs-on: ubuntu-latest
111111
steps:
112112
- name: Checkout Lambda Builders
113-
uses: actions/checkout@v6
113+
uses: actions/checkout@v5
114114
with:
115115
repository: aws/aws-lambda-builders
116116
path: aws-lambda-builders
117117
ref: main
118118
fetch-depth: 0
119119

120120
- name: Checkout SAM CLI
121-
uses: actions/checkout@v6
121+
uses: actions/checkout@v5
122122
with:
123123
repository: aws/aws-sam-cli
124124
path: aws-sam-cli

.github/workflows/build.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
mkdir "D:\\Temp"
6565
echo "TEMP=D:\\Temp" >> $env:GITHUB_ENV
6666
if: ${{ matrix.os == 'windows-latest' }}
67-
- uses: actions/checkout@v6
67+
- uses: actions/checkout@v5
6868
- uses: actions/setup-python@v6
6969
with:
7070
python-version: ${{ matrix.python }}
@@ -79,7 +79,7 @@ jobs:
7979
contents: write
8080
runs-on: ubuntu-latest
8181
steps:
82-
- uses: actions/checkout@v6
82+
- uses: actions/checkout@v5
8383
- uses: actions/setup-python@v6
8484
name: Install Python 3.11
8585
with:
@@ -139,7 +139,7 @@ jobs:
139139
#- "traces"
140140
#- "validate"
141141
steps:
142-
- uses: actions/checkout@v6
142+
- uses: actions/checkout@v5
143143
- name: Set TEMP to D:/Temp
144144
run: |
145145
mkdir "D:\\Temp"
@@ -160,7 +160,8 @@ jobs:
160160
- uses: actions/setup-go@v6
161161
with:
162162
go-version: '1.19'
163-
- uses: ruby/setup-ruby@v1
163+
# Pin to specific version until Lambda Builders support bundler 4.0.0
164+
- uses: ruby/setup-ruby@v1.268.0
164165
with:
165166
ruby-version: "3.3"
166167
- uses: actions/setup-node@v6
@@ -233,7 +234,7 @@ jobs:
233234
params: "-n 4 tests/smoke tests/functional"
234235
env_vars: "third-third"
235236
steps:
236-
- uses: actions/checkout@v6
237+
- uses: actions/checkout@v5
237238
- name: Set TEMP to D:/Temp
238239
run: |
239240
mkdir "D:\\Temp"
@@ -263,7 +264,7 @@ jobs:
263264
- ubuntu-latest
264265
- windows-latest
265266
steps:
266-
- uses: actions/checkout@v6
267+
- uses: actions/checkout@v5
267268
- name: Set TEMP to D:/Temp
268269
run: |
269270
mkdir "D:\\Temp"

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

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

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

.github/workflows/integration-tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474

7575
steps:
7676
- name: Checkout code
77-
uses: actions/checkout@v6
77+
uses: actions/checkout@v4
7878
with:
7979
# For scheduled runs, always use develop
8080
# For manual runs, use the branch from "Use workflow from" dropdown
@@ -149,27 +149,27 @@ jobs:
149149
# Remove system Maven if it exists
150150
sudo apt-get remove -y maven || true
151151
152-
# Install Maven 3.9.12
153-
wget https://dlcdn.apache.org/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.zip -P /tmp
152+
# Install Maven 3.9.11
153+
wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.zip -P /tmp
154154
sudo unzip -d /opt/mvn /tmp/apache-maven-*.zip
155155
156156
# Install Gradle 9.2.0
157157
wget https://services.gradle.org/distributions/gradle-9.2.0-bin.zip -P /tmp
158158
sudo unzip -d /opt/gradle /tmp/gradle-*.zip
159159
160160
# Create symlinks to ensure our Maven is used
161-
sudo ln -sf /opt/mvn/apache-maven-3.9.12/bin/mvn /usr/local/bin/mvn
161+
sudo ln -sf /opt/mvn/apache-maven-3.9.11/bin/mvn /usr/local/bin/mvn
162162
sudo ln -sf /opt/gradle/gradle-9.2.0/bin/gradle /usr/local/bin/gradle
163163
164164
# Add to PATH (prepend to ensure our versions are used first)
165-
echo "/opt/mvn/apache-maven-3.9.12/bin" >> $GITHUB_PATH
165+
echo "/opt/mvn/apache-maven-3.9.11/bin" >> $GITHUB_PATH
166166
echo "/opt/gradle/gradle-9.2.0/bin" >> $GITHUB_PATH
167167
168168
# Set MAVEN_HOME
169-
echo "MAVEN_HOME=/opt/mvn/apache-maven-3.9.12" >> $GITHUB_ENV
169+
echo "MAVEN_HOME=/opt/mvn/apache-maven-3.9.11" >> $GITHUB_ENV
170170
171171
# Verify versions
172-
export PATH="/opt/mvn/apache-maven-3.9.12/bin:/opt/gradle/gradle-9.2.0/bin:$PATH"
172+
export PATH="/opt/mvn/apache-maven-3.9.11/bin:/opt/gradle/gradle-9.2.0/bin:$PATH"
173173
mvn --version
174174
gradle --version
175175
@@ -396,7 +396,7 @@ jobs:
396396
397397
- name: Upload test results
398398
if: always()
399-
uses: actions/upload-artifact@v6
399+
uses: actions/upload-artifact@v5
400400
with:
401401
name: test-results-${{ matrix.test_suite }}-${{ matrix.container_runtime }}
402402
path: TEST_REPORT-*.json

.github/workflows/update-reproducibles.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
max-parallel: 1
3131
runs-on: ${{ matrix.os }}
3232
steps:
33-
- uses: actions/checkout@v6
33+
- uses: actions/checkout@v5
3434
with:
3535
ref: ${{ github.head_ref }}
3636
- uses: actions/setup-python@v6

.github/workflows/validate_pyinstaller.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
steps:
19-
- uses: actions/checkout@v6
19+
- uses: actions/checkout@v5
2020
- name: Make installer script executable
2121
run: chmod +x ./installer/pyinstaller/build-linux.sh
2222
- name: Build PyInstaller in manylinux container
@@ -32,7 +32,7 @@ jobs:
3232
sudo ./sam-installation/install
3333
sam-beta --version
3434
./tests/sanity-check.sh
35-
- uses: actions/upload-artifact@v6
35+
- uses: actions/upload-artifact@v5
3636
with:
3737
name: pyinstaller-linux-zip
3838
path: .build/output/aws-sam-cli-linux-x86_64.zip
@@ -45,7 +45,7 @@ jobs:
4545
strategy:
4646
fail-fast: false
4747
steps:
48-
- uses: actions/checkout@v6
48+
- uses: actions/checkout@v5
4949
- uses: actions/setup-python@v6
5050
with:
5151
python-version: "3.11"
@@ -61,7 +61,7 @@ jobs:
6161
sudo ./sam-installation/install
6262
sam-beta --version
6363
./tests/sanity-check.sh
64-
- uses: actions/upload-artifact@v6
64+
- uses: actions/upload-artifact@v5
6565
with:
6666
name: pyinstaller-macos-zip
6767
path: .build/output/aws-sam-cli-macos-x86_64.zip

appveyor-linux-binary.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ 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.12/binaries/apache-maven-3.9.12-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.12/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"

appveyor-ubuntu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ install:
5858
- sh: "ls /usr/"
5959
# install latest maven which is compatible with jdk17
6060
- sh: "sudo apt-get -y remove maven"
61-
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.zip -P /tmp"
61+
- sh: "wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.zip -P /tmp"
6262
- sh: "sudo unzip -d /opt/mvn /tmp/apache-maven-*.zip"
63-
- sh: "PATH=/opt/mvn/apache-maven-3.9.12/bin:$PATH"
63+
- sh: "PATH=/opt/mvn/apache-maven-3.9.11/bin:$PATH"
6464
- sh: "mvn --version"
6565

6666
# Finch Runtime Setup (Steps 1-7)

requirements/base.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ jmespath~=1.0.1
66
ruamel_yaml~=0.18.16
77
PyYAML~=6.0
88
cookiecutter~=2.6.0
9-
aws-sam-translator==1.106.0
9+
aws-sam-translator==1.105.0
1010
#docker minor version updates can include breaking changes. Auto update micro version only.
1111
docker~=7.1.0
1212
dateparser~=1.2
1313
requests~=2.32.5
14-
aws_lambda_builders==1.61.0
14+
aws_lambda_builders==1.60.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
@@ -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.43.0
34+
cfn-lint~=1.42.0
3535

3636
# Type checking boto3 objects
3737
boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]>=1.41.0

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.17.0
3+
pyinstaller==6.16.0

0 commit comments

Comments
 (0)