@@ -156,6 +156,8 @@ local pulumiDefaultEnvironment(stack) = {
156156 * @param {array} [additionalSetupSteps=[]] - Extra setup steps before Pulumi preview
157157 * @param {boolean} [ignoreEngines=false] - Whether to ignore Node.js engine requirements
158158 * @param {string} [runsOn=null] - GitHub Actions runner to use for the job
159+ * @param {string} [packageManager='yarn'] - Package manager to use ('yarn' or 'pnpm')
160+ * @param {array} [pnpmInstallArgs=[]] - Additional arguments for pnpm install
159161 * @param {boolean} [blobless=null] - Whether to perform a blobless clone (--filter=blob:none); null uses checkout default
160162 * @param {number} [retryAttempts=null] - Number of additional checkout attempts on failure; null uses checkout default
161163 * @param {number} [cloneTimeout=null] - Timeout for git clone operation in minutes; null uses checkout default
@@ -175,14 +177,22 @@ local pulumiDefaultEnvironment(stack) = {
175177 ignoreEngines=false ,
176178 runsOn=null ,
177179 pulumiVersion=defaultPulumiVersion,
180+ packageManager='yarn' ,
181+ pnpmInstallArgs=[],
182+ blobless=null ,
183+ retryAttempts=null ,
184+ cloneTimeout=null ,
178185 )::
179186 base.ghJob(
180187 'pulumi-preview-' + stack,
181188 runsOn=runsOn,
182189 image=image,
183190 useCredentials=false ,
184191 steps=[
185- yarn.checkoutAndYarn(ref=gitCloneRef, cacheName=cacheName, fullClone=false , workingDirectory=yarnDir, source=yarnNpmSource, ignoreEngines=ignoreEngines),
192+ (
193+ if packageManager == 'yarn' then yarn.checkoutAndYarn(ref=gitCloneRef, cacheName=cacheName, fullClone=false , workingDirectory=yarnDir, source=yarnNpmSource, ignoreEngines=ignoreEngines, blobless=blobless, retryAttempts=retryAttempts, cloneTimeout=cloneTimeout)
194+ else if packageManager == 'pnpm' then pnpm.checkoutAndPnpm(ref=gitCloneRef, cacheName=cacheName, fullClone=false , workingDirectory=yarnDir, source=yarnNpmSource, pnpmInstallArgs=pnpmInstallArgs, blobless=blobless, retryAttempts=retryAttempts, cloneTimeout=cloneTimeout)
195+ ),
186196 pulumiSetupSteps(pulumiVersion),
187197 additionalSetupSteps,
188198 self .pulumiPreview(stack, pulumiDir=pulumiDir, environmentVariables=environmentVariables),
@@ -201,6 +211,13 @@ local pulumiDefaultEnvironment(stack) = {
201211 * @param {string} [image=images.default_pulumi_node_image] - Container image
202212 * @param {object} [environmentVariables={}] - Additional environment variables
203213 * @param {array} [additionalSetupSteps=[]] - Extra setup steps
214+ * @param {string} [packageManager='yarn'] - Package manager to use ('yarn' or 'pnpm')
215+ * @param {array} [pnpmInstallArgs=[]] - Additional arguments for pnpm install
216+ * @param {boolean} [ignoreEngines=false] - Whether to ignore Node.js engine requirements
217+ * @param {string} [runsOn=null] - GitHub Actions runner to use for the job
218+ * @param {boolean} [blobless=null] - Whether to perform a blobless clone (--filter=blob:none); null uses checkout default
219+ * @param {number} [retryAttempts=null] - Number of additional checkout attempts on failure; null uses checkout default
220+ * @param {number} [cloneTimeout=null] - Timeout for git clone operation in minutes; null uses checkout default
204221 * @param {string} [pulumiVersion=defaultPulumiVersion] - Pulumi CLI version to install
205222 * @returns {jobs} - GitHub Actions job for test environment Pulumi preview
206223 */
@@ -215,6 +232,13 @@ local pulumiDefaultEnvironment(stack) = {
215232 environmentVariables={},
216233 additionalSetupSteps=[],
217234 pulumiVersion=defaultPulumiVersion,
235+ packageManager='yarn' ,
236+ pnpmInstallArgs=[],
237+ ignoreEngines=false ,
238+ runsOn=null ,
239+ blobless=null ,
240+ retryAttempts=null ,
241+ cloneTimeout=null ,
218242 )::
219243 self .pulumiPreviewJob(
220244 stack,
@@ -227,6 +251,13 @@ local pulumiDefaultEnvironment(stack) = {
227251 environmentVariables=environmentVariables,
228252 additionalSetupSteps=additionalSetupSteps,
229253 pulumiVersion=pulumiVersion,
254+ packageManager=packageManager,
255+ pnpmInstallArgs=pnpmInstallArgs,
256+ ignoreEngines=ignoreEngines,
257+ runsOn=runsOn,
258+ blobless=blobless,
259+ retryAttempts=retryAttempts,
260+ cloneTimeout=cloneTimeout,
230261 ),
231262
232263 /**
0 commit comments