@@ -79,6 +79,155 @@ jobs:
7979 - name : Functional Testing
8080 run : make func-test
8181
82+ node-integration :
83+ name : ${{ matrix.os }} / ${{ matrix.python }} / node ${{ matrix.nodejs }} / npm ${{ matrix.npm }}.x
84+ if : github.repository_owner == 'aws'
85+ runs-on : ${{ matrix.os }}
86+ strategy :
87+ fail-fast : false
88+ matrix :
89+ os :
90+ - ubuntu-latest
91+ - windows-latest
92+ python :
93+ - " 3.13"
94+ npm :
95+ - 8
96+ - 9
97+ - 10
98+ - 11
99+ nodejs :
100+ - 20
101+ - 22
102+ - 24
103+ steps :
104+ - uses : actions/checkout@v6
105+ - uses : actions/setup-python@v6
106+ with :
107+ python-version : ${{ matrix.python }}
108+ - uses : actions/setup-node@v6
109+ with :
110+ node-version : ${{ matrix.nodejs }}
111+ - if : ${{ matrix.npm }}
112+ run : npm install -g npm@${{ matrix.npm }}
113+ - run : npm --version
114+ - run : make init
115+ - run : pytest -vv tests/integration/workflows/nodejs_npm
116+
117+ node-esbuild-integration :
118+ name : ${{ matrix.os }} / ${{ matrix.python }} / esbuild / node ${{ matrix.nodejs }} / npm ${{ matrix.npm }}.x
119+ if : github.repository_owner == 'aws'
120+ runs-on : ${{ matrix.os }}
121+ strategy :
122+ fail-fast : false
123+ matrix :
124+ os :
125+ - ubuntu-latest
126+ - windows-latest
127+ python :
128+ - " 3.13"
129+ npm :
130+ - 8
131+ - 9
132+ - 10
133+ - 11
134+ nodejs :
135+ - 20
136+ - 22
137+ - 24
138+ steps :
139+ - uses : actions/checkout@v6
140+ - uses : actions/setup-python@v6
141+ with :
142+ python-version : ${{ matrix.python }}
143+ - uses : actions/setup-node@v6
144+ with :
145+ node-version : ${{ matrix.nodejs }}
146+ - if : ${{ matrix.npm }}
147+ run : npm install -g npm@${{ matrix.npm }}
148+ - run : npm --version
149+ - run : make init
150+ - run : pytest -vv tests/integration/workflows/nodejs_npm_esbuild
151+
152+ golang-integration :
153+ name : ${{ matrix.os }} / ${{ matrix.python }} / golang
154+ if : github.repository_owner == 'aws'
155+ runs-on : ${{ matrix.os }}
156+ strategy :
157+ fail-fast : false
158+ matrix :
159+ os :
160+ - ubuntu-latest
161+ - windows-latest
162+ python :
163+ - " 3.13"
164+ steps :
165+ - uses : actions/checkout@v6
166+ - uses : actions/setup-python@v6
167+ with :
168+ python-version : ${{ matrix.python }}
169+ - uses : actions/setup-go@v6
170+ with :
171+ go-version : ' ^1.16'
172+ - run : make init
173+ - run : pytest -vv tests/integration/workflows/go_modules
174+
175+ java-maven-integration :
176+ name : ${{ matrix.os }} / ${{ matrix.python }} / java maven / java ${{ matrix.java }}
177+ if : github.repository_owner == 'aws'
178+ runs-on : ${{ matrix.os }}
179+ strategy :
180+ fail-fast : false
181+ matrix :
182+ os :
183+ - ubuntu-latest
184+ - windows-latest
185+ python :
186+ - " 3.13"
187+ java :
188+ - " 21"
189+ - " 25"
190+ steps :
191+ - uses : actions/checkout@v6
192+ - uses : actions/setup-python@v6
193+ with :
194+ python-version : ${{ matrix.python }}
195+ - uses : actions/setup-java@v5
196+ with :
197+ distribution : ' corretto'
198+ java-version : ${{ matrix.java }}
199+ - run : make init
200+ - run : pytest -vv tests/integration/workflows/java_maven
201+
202+ java-gradle-integration :
203+ name : ${{ matrix.os }} / ${{ matrix.python }} / java gradle / java ${{ matrix.java }}
204+ if : github.repository_owner == 'aws'
205+ runs-on : ${{ matrix.os }}
206+ env :
207+ GRADLE_OPTS : -Dorg.gradle.daemon=false
208+ strategy :
209+ fail-fast : false
210+ matrix :
211+ os :
212+ - ubuntu-latest
213+ - windows-latest
214+ python :
215+ - " 3.13"
216+ java :
217+ - " 21"
218+ - " 25"
219+ steps :
220+ - uses : actions/checkout@v6
221+ - uses : actions/setup-python@v6
222+ with :
223+ python-version : ${{ matrix.python }}
224+ - uses : actions/setup-java@v5
225+ with :
226+ distribution : ' zulu'
227+ java-version : ${{ matrix.java }}
228+ - run : make init
229+ - run : pytest -vv tests/integration/workflows/java_gradle
230+
82231 custom-make-integration :
83232 name : ${{ matrix.os }} / ${{ matrix.python }} / custom make
84233 if : github.repository_owner == 'aws'
@@ -99,6 +248,35 @@ jobs:
99248 - run : make init
100249 - run : pytest -vv tests/integration/workflows/custom_make
101250
251+ python-integration :
252+ name : ${{ matrix.os }} / ${{ matrix.python }} / python
253+ if : github.repository_owner == 'aws'
254+ runs-on : ${{ matrix.os }}
255+ strategy :
256+ fail-fast : false
257+ matrix :
258+ os :
259+ - ubuntu-latest
260+ - windows-latest
261+ python :
262+ - " 3.9"
263+ - " 3.10"
264+ - " 3.11"
265+ - " 3.12"
266+ - " 3.13"
267+ - " 3.14"
268+ steps :
269+ - uses : actions/checkout@v6
270+ - uses : actions/setup-python@v6
271+ with :
272+ python-version : ${{ matrix.python }}
273+ - run : |
274+ python -m pip install --upgrade pip
275+ pip install --upgrade setuptools
276+ if: ${{ matrix.os }} == 'ubuntu-latest' && ${{ matrix.python }} == '3.12'
277+ - run : make init
278+ - run : pytest -vv tests/integration/workflows/python_pip
279+
102280 ruby-integration :
103281 name : ${{ matrix.os }} / ${{ matrix.python }} / ruby
104282 if : github.repository_owner == 'aws'
@@ -120,6 +298,76 @@ jobs:
120298 with :
121299 ruby-version : " 3.2"
122300 - run : make init
123- - run : ruby -rbundler -e'p Bundler::CLI.printable_commands(true)'
124- - run : bundle cli_help
125301 - run : pytest -vv tests/integration/workflows/ruby_bundler
302+
303+ dotnet-integration :
304+ name : ${{ matrix.os }} / ${{ matrix.python }} / dotnet
305+ if : github.repository_owner == 'aws'
306+ runs-on : ${{ matrix.os }}
307+ strategy :
308+ fail-fast : false
309+ matrix :
310+ os :
311+ - ubuntu-latest
312+ - windows-latest
313+ python :
314+ - " 3.13"
315+ steps :
316+ - uses : actions/checkout@v6
317+ - uses : actions/setup-python@v6
318+ with :
319+ python-version : ${{ matrix.python }}
320+ - run : make init
321+ - run : pytest -vv tests/integration/workflows/dotnet_clipackage
322+
323+ rust-cargo-lambda-integration :
324+ name : ${{ matrix.os }} / ${{ matrix.python }} / rust-cargo-lambda
325+ if : github.repository_owner == 'aws'
326+ runs-on : ${{ matrix.os }}
327+ env :
328+ CARGO_LAMBDA_VERSION : 0.15.0
329+ defaults :
330+ run :
331+ shell : bash
332+ strategy :
333+ fail-fast : false
334+ matrix :
335+ os :
336+ - ubuntu-latest
337+ - windows-latest
338+ python :
339+ - " 3.13"
340+ rust :
341+ - stable
342+ steps :
343+ - uses : actions/checkout@v6
344+ - uses : actions/setup-python@v6
345+ with :
346+ python-version : ${{ matrix.python }}
347+
348+ # Install and configure Rust
349+ - name : Install rustup
350+ run : |
351+ : install rustup if needed
352+ if ! command -v rustup &> /dev/null ; then
353+ curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
354+ echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
355+ fi
356+ if : ${{ matrix.os }} == 'ubuntu-latest'
357+ - name : rustup toolchain install ${{ matrix.rust }}
358+ run : rustup toolchain install ${{ matrix.rust }} --profile minimal --no-self-update
359+ - run : rustup default ${{ matrix.rust }}
360+ - run : |
361+ : disable incremental compilation
362+ echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
363+ - run : |
364+ : enable colors in Cargo output
365+ echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
366+
367+ # Install and configure Cargo Lambda
368+ - name : Install Cargo Lambda
369+ run : pip install cargo-lambda==$CARGO_LAMBDA_VERSION
370+ - run : echo "$HOME/.local/bin" >> $GITHUB_PATH
371+
372+ - run : make init
373+ - run : pytest -vv tests/integration/workflows/rust_cargo
0 commit comments