@invarn/cibuild 2.9.6 → 2.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/dist/chunk-35SI42CD.mjs +1 -0
  2. package/dist/chunk-IC45KVLJ.mjs +1 -0
  3. package/dist/chunk-XDY4V23V.mjs +1 -0
  4. package/dist/cli.cjs +14 -14
  5. package/dist/commands.mjs +1 -0
  6. package/dist/lib.mjs +3934 -0
  7. package/package.json +6 -10
  8. package/dist/src/cli.d.ts +0 -3
  9. package/dist/src/cli.d.ts.map +0 -1
  10. package/dist/src/cli.js +0 -399
  11. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
  12. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
  13. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
  14. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
  15. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
  16. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
  17. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
  18. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
  19. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
  20. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
  21. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
  22. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
  23. package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
  24. package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
  25. package/dist/src/commands/android-gms-guard.test.js +0 -78
  26. package/dist/src/commands/android-java-version.test.d.ts +0 -12
  27. package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
  28. package/dist/src/commands/android-java-version.test.js +0 -209
  29. package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
  30. package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
  31. package/dist/src/commands/android-scanner-java.test.js +0 -130
  32. package/dist/src/commands/android-scanner.d.ts +0 -250
  33. package/dist/src/commands/android-scanner.d.ts.map +0 -1
  34. package/dist/src/commands/android-scanner.js +0 -1639
  35. package/dist/src/commands/build.d.ts +0 -215
  36. package/dist/src/commands/build.d.ts.map +0 -1
  37. package/dist/src/commands/build.js +0 -1433
  38. package/dist/src/commands/build.test.d.ts +0 -13
  39. package/dist/src/commands/build.test.d.ts.map +0 -1
  40. package/dist/src/commands/build.test.js +0 -121
  41. package/dist/src/commands/detect-platform.d.ts +0 -13
  42. package/dist/src/commands/detect-platform.d.ts.map +0 -1
  43. package/dist/src/commands/detect-platform.js +0 -51
  44. package/dist/src/commands/detect-project.d.ts +0 -7
  45. package/dist/src/commands/detect-project.d.ts.map +0 -1
  46. package/dist/src/commands/detect-project.js +0 -12
  47. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
  48. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
  49. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
  50. package/dist/src/commands/edit.d.ts +0 -12
  51. package/dist/src/commands/edit.d.ts.map +0 -1
  52. package/dist/src/commands/edit.js +0 -652
  53. package/dist/src/commands/edit.test.d.ts +0 -6
  54. package/dist/src/commands/edit.test.d.ts.map +0 -1
  55. package/dist/src/commands/edit.test.js +0 -45
  56. package/dist/src/commands/fidelity-trim.d.ts +0 -13
  57. package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
  58. package/dist/src/commands/fidelity-trim.js +0 -21
  59. package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
  60. package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
  61. package/dist/src/commands/fidelity-trim.test.js +0 -79
  62. package/dist/src/commands/file-secret-collector.d.ts +0 -50
  63. package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
  64. package/dist/src/commands/file-secret-collector.js +0 -217
  65. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
  66. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
  67. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
  68. package/dist/src/commands/github-workflow.d.ts +0 -5
  69. package/dist/src/commands/github-workflow.d.ts.map +0 -1
  70. package/dist/src/commands/github-workflow.js +0 -45
  71. package/dist/src/commands/index.d.ts +0 -33
  72. package/dist/src/commands/index.d.ts.map +0 -1
  73. package/dist/src/commands/index.js +0 -33
  74. package/dist/src/commands/init.d.ts +0 -20
  75. package/dist/src/commands/init.d.ts.map +0 -1
  76. package/dist/src/commands/init.js +0 -264
  77. package/dist/src/commands/ios-scanner.d.ts +0 -104
  78. package/dist/src/commands/ios-scanner.d.ts.map +0 -1
  79. package/dist/src/commands/ios-scanner.js +0 -492
  80. package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
  81. package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
  82. package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
  83. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
  84. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
  85. package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
  86. package/dist/src/commands/reset.d.ts +0 -7
  87. package/dist/src/commands/reset.d.ts.map +0 -1
  88. package/dist/src/commands/reset.js +0 -81
  89. package/dist/src/commands/run.d.ts +0 -22
  90. package/dist/src/commands/run.d.ts.map +0 -1
  91. package/dist/src/commands/run.js +0 -141
  92. package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
  93. package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
  94. package/dist/src/commands/secrets-sync-workflow.js +0 -255
  95. package/dist/src/commands/secrets-upload.d.ts +0 -21
  96. package/dist/src/commands/secrets-upload.d.ts.map +0 -1
  97. package/dist/src/commands/secrets-upload.js +0 -177
  98. package/dist/src/commands/secrets-upload.test.d.ts +0 -5
  99. package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
  100. package/dist/src/commands/secrets-upload.test.js +0 -60
  101. package/dist/src/commands/validate.d.ts +0 -10
  102. package/dist/src/commands/validate.d.ts.map +0 -1
  103. package/dist/src/commands/validate.js +0 -46
  104. package/dist/src/config.d.ts +0 -3
  105. package/dist/src/config.d.ts.map +0 -1
  106. package/dist/src/config.js +0 -47
  107. package/dist/src/envman/cli.d.ts +0 -21
  108. package/dist/src/envman/cli.d.ts.map +0 -1
  109. package/dist/src/envman/cli.js +0 -240
  110. package/dist/src/envman/envman.d.ts +0 -83
  111. package/dist/src/envman/envman.d.ts.map +0 -1
  112. package/dist/src/envman/envman.js +0 -361
  113. package/dist/src/envman/envman.test.d.ts +0 -5
  114. package/dist/src/envman/envman.test.d.ts.map +0 -1
  115. package/dist/src/envman/envman.test.js +0 -236
  116. package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
  117. package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
  118. package/dist/src/envman/envstore-round-trip.test.js +0 -130
  119. package/dist/src/envman/index.d.ts +0 -23
  120. package/dist/src/envman/index.d.ts.map +0 -1
  121. package/dist/src/envman/index.js +0 -23
  122. package/dist/src/envman/shim.d.ts +0 -16
  123. package/dist/src/envman/shim.d.ts.map +0 -1
  124. package/dist/src/envman/shim.js +0 -66
  125. package/dist/src/envman/types.d.ts +0 -55
  126. package/dist/src/envman/types.d.ts.map +0 -1
  127. package/dist/src/envman/types.js +0 -12
  128. package/dist/src/lib.d.ts +0 -33
  129. package/dist/src/lib.d.ts.map +0 -1
  130. package/dist/src/lib.js +0 -37
  131. package/dist/src/pipeline.d.ts +0 -3
  132. package/dist/src/pipeline.d.ts.map +0 -1
  133. package/dist/src/pipeline.js +0 -57
  134. package/dist/src/runner-node-step.test.d.ts +0 -12
  135. package/dist/src/runner-node-step.test.d.ts.map +0 -1
  136. package/dist/src/runner-node-step.test.js +0 -61
  137. package/dist/src/runner.d.ts +0 -31
  138. package/dist/src/runner.d.ts.map +0 -1
  139. package/dist/src/runner.js +0 -240
  140. package/dist/src/shared/detect-project.d.ts +0 -57
  141. package/dist/src/shared/detect-project.d.ts.map +0 -1
  142. package/dist/src/shared/detect-project.js +0 -219
  143. package/dist/src/shared/detect-project.test.d.ts +0 -2
  144. package/dist/src/shared/detect-project.test.d.ts.map +0 -1
  145. package/dist/src/shared/detect-project.test.js +0 -161
  146. package/dist/src/shared/git.d.ts +0 -25
  147. package/dist/src/shared/git.d.ts.map +0 -1
  148. package/dist/src/shared/git.js +0 -53
  149. package/dist/src/shared/git.test.d.ts +0 -9
  150. package/dist/src/shared/git.test.d.ts.map +0 -1
  151. package/dist/src/shared/git.test.js +0 -66
  152. package/dist/src/shared/gitignore.d.ts +0 -6
  153. package/dist/src/shared/gitignore.d.ts.map +0 -1
  154. package/dist/src/shared/gitignore.js +0 -26
  155. package/dist/src/shared/gradle-settings.d.ts +0 -49
  156. package/dist/src/shared/gradle-settings.d.ts.map +0 -1
  157. package/dist/src/shared/gradle-settings.js +0 -138
  158. package/dist/src/shared/gradle-settings.test.d.ts +0 -2
  159. package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
  160. package/dist/src/shared/gradle-settings.test.js +0 -65
  161. package/dist/src/shared/prompts.d.ts +0 -30
  162. package/dist/src/shared/prompts.d.ts.map +0 -1
  163. package/dist/src/shared/prompts.js +0 -121
  164. package/dist/src/shared/xcode-container.test.d.ts +0 -2
  165. package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
  166. package/dist/src/shared/xcode-container.test.js +0 -123
  167. package/dist/src/step-marker.d.ts +0 -12
  168. package/dist/src/step-marker.d.ts.map +0 -1
  169. package/dist/src/step-marker.js +0 -29
  170. package/dist/src/step-marker.test.d.ts +0 -11
  171. package/dist/src/step-marker.test.d.ts.map +0 -1
  172. package/dist/src/step-marker.test.js +0 -45
  173. package/dist/src/types.d.ts +0 -58
  174. package/dist/src/types.d.ts.map +0 -1
  175. package/dist/src/types.js +0 -2
  176. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
  177. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
  178. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
  179. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
  180. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
  181. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
  182. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
  183. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
  184. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
  185. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
  186. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
  187. package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
  188. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
  189. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
  190. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
  191. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
  192. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
  193. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
  194. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
  195. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
  196. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
  197. package/dist/src/yaml/bitrise-compat.d.ts +0 -65
  198. package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
  199. package/dist/src/yaml/bitrise-compat.js +0 -206
  200. package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
  201. package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
  202. package/dist/src/yaml/bitrise-compat.test.js +0 -347
  203. package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
  204. package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
  205. package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
  206. package/dist/src/yaml/converter.d.ts +0 -103
  207. package/dist/src/yaml/converter.d.ts.map +0 -1
  208. package/dist/src/yaml/converter.js +0 -420
  209. package/dist/src/yaml/converter.test.d.ts +0 -5
  210. package/dist/src/yaml/converter.test.d.ts.map +0 -1
  211. package/dist/src/yaml/converter.test.js +0 -548
  212. package/dist/src/yaml/e2e.test.d.ts +0 -6
  213. package/dist/src/yaml/e2e.test.d.ts.map +0 -1
  214. package/dist/src/yaml/e2e.test.js +0 -446
  215. package/dist/src/yaml/env-resolver.d.ts +0 -218
  216. package/dist/src/yaml/env-resolver.d.ts.map +0 -1
  217. package/dist/src/yaml/env-resolver.js +0 -591
  218. package/dist/src/yaml/env-resolver.test.d.ts +0 -5
  219. package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
  220. package/dist/src/yaml/env-resolver.test.js +0 -502
  221. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
  222. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
  223. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
  224. package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
  225. package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
  226. package/dist/src/yaml/fidelity-input-digest.js +0 -208
  227. package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
  228. package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
  229. package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
  230. package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
  231. package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
  232. package/dist/src/yaml/fidelity-manifest.js +0 -134
  233. package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
  234. package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
  235. package/dist/src/yaml/fidelity-manifest.test.js +0 -251
  236. package/dist/src/yaml/interactive-prompts.d.ts +0 -71
  237. package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
  238. package/dist/src/yaml/interactive-prompts.js +0 -260
  239. package/dist/src/yaml/meta-helpers.d.ts +0 -28
  240. package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
  241. package/dist/src/yaml/meta-helpers.js +0 -46
  242. package/dist/src/yaml/missing-env-handler.d.ts +0 -45
  243. package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
  244. package/dist/src/yaml/missing-env-handler.js +0 -64
  245. package/dist/src/yaml/parser.d.ts +0 -33
  246. package/dist/src/yaml/parser.d.ts.map +0 -1
  247. package/dist/src/yaml/parser.js +0 -148
  248. package/dist/src/yaml/parser.test.d.ts +0 -5
  249. package/dist/src/yaml/parser.test.d.ts.map +0 -1
  250. package/dist/src/yaml/parser.test.js +0 -83
  251. package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
  252. package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
  253. package/dist/src/yaml/pipeline-with-secrets.js +0 -76
  254. package/dist/src/yaml/platform-detector.d.ts +0 -83
  255. package/dist/src/yaml/platform-detector.d.ts.map +0 -1
  256. package/dist/src/yaml/platform-detector.js +0 -189
  257. package/dist/src/yaml/platform-detector.test.d.ts +0 -5
  258. package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
  259. package/dist/src/yaml/platform-detector.test.js +0 -525
  260. package/dist/src/yaml/preflight-validation.d.ts +0 -29
  261. package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
  262. package/dist/src/yaml/preflight-validation.js +0 -21
  263. package/dist/src/yaml/secrets-manager.d.ts +0 -87
  264. package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
  265. package/dist/src/yaml/secrets-manager.js +0 -230
  266. package/dist/src/yaml/shell-assignments.d.ts +0 -40
  267. package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
  268. package/dist/src/yaml/shell-assignments.js +0 -77
  269. package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
  270. package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
  271. package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
  272. package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
  273. package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
  274. package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
  275. package/dist/src/yaml/step-validator.d.ts +0 -67
  276. package/dist/src/yaml/step-validator.d.ts.map +0 -1
  277. package/dist/src/yaml/step-validator.js +0 -466
  278. package/dist/src/yaml/step-validator.test.d.ts +0 -18
  279. package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
  280. package/dist/src/yaml/step-validator.test.js +0 -140
  281. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts +0 -2
  282. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts.map +0 -1
  283. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.js +0 -96
  284. package/dist/src/yaml/steps/android-sign.d.ts +0 -35
  285. package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
  286. package/dist/src/yaml/steps/android-sign.js +0 -147
  287. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
  288. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
  289. package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
  290. package/dist/src/yaml/steps/android-version.d.ts +0 -26
  291. package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
  292. package/dist/src/yaml/steps/android-version.js +0 -128
  293. package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
  294. package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
  295. package/dist/src/yaml/steps/android-version.test.js +0 -196
  296. package/dist/src/yaml/steps/android.d.ts +0 -156
  297. package/dist/src/yaml/steps/android.d.ts.map +0 -1
  298. package/dist/src/yaml/steps/android.js +0 -1100
  299. package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
  300. package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
  301. package/dist/src/yaml/steps/app-store-deploy.js +0 -167
  302. package/dist/src/yaml/steps/base.d.ts +0 -263
  303. package/dist/src/yaml/steps/base.d.ts.map +0 -1
  304. package/dist/src/yaml/steps/base.js +0 -380
  305. package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
  306. package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
  307. package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
  308. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
  309. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
  310. package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
  311. package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
  312. package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
  313. package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
  314. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
  315. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
  316. package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
  317. package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
  318. package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
  319. package/dist/src/yaml/steps/bitrise-slack.js +0 -280
  320. package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
  321. package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
  322. package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
  323. package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
  324. package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
  325. package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
  326. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
  327. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
  328. package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
  329. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
  330. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
  331. package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
  332. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
  333. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
  334. package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
  335. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
  336. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
  337. package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
  338. package/dist/src/yaml/steps/cache.d.ts +0 -59
  339. package/dist/src/yaml/steps/cache.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/cache.js +0 -1027
  341. package/dist/src/yaml/steps/capture-injection.d.ts +0 -30
  342. package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/capture-injection.js +0 -88
  344. package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
  345. package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/capture-injection.test.js +0 -163
  347. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  348. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  350. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  351. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  353. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  354. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  356. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  357. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  359. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  360. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  362. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  363. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  365. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  366. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fastlane.js +0 -79
  368. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  369. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  371. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  372. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  374. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  375. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  377. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  378. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  380. package/dist/src/yaml/steps/file.d.ts +0 -52
  381. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/file.js +0 -108
  383. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  384. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/flutter.js +0 -215
  386. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  387. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  389. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  390. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-clone.js +0 -171
  392. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  393. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  395. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  396. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  398. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  399. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  401. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  402. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  404. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  405. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  407. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -91
  408. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-memory.js +0 -495
  410. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  411. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
  413. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  414. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  416. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  417. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  419. package/dist/src/yaml/steps/index.d.ts +0 -10
  420. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/index.js +0 -1461
  422. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  423. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-deps.js +0 -279
  425. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  426. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  428. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  429. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/ios-signing.js +0 -144
  431. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  432. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/ios-version.js +0 -151
  434. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  435. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  437. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts +0 -2
  438. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.js +0 -139
  440. package/dist/src/yaml/steps/linting.d.ts +0 -47
  441. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/linting.js +0 -148
  443. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  444. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/phase2.test.js +0 -197
  446. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  447. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/phase3.test.js +0 -144
  449. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  450. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/phase4.test.js +0 -166
  452. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  453. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/phase5.test.js +0 -263
  455. package/dist/src/yaml/steps/registry.d.ts +0 -88
  456. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/registry.js +0 -125
  458. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  459. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/registry.test.js +0 -235
  461. package/dist/src/yaml/steps/release.d.ts +0 -50
  462. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/release.js +0 -154
  464. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  465. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  467. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  468. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  470. package/dist/src/yaml/steps/script.d.ts +0 -23
  471. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/script.js +0 -63
  473. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  474. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  476. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  477. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/steps.test.js +0 -881
  479. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  480. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  482. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  483. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  485. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  486. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/test-config.js +0 -25
  488. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  489. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  491. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  492. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/trim-align.js +0 -367
  494. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  495. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  497. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  498. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  500. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  501. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  503. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  504. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  506. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  507. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  509. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  510. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  512. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  513. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  515. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  516. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  518. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  519. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  521. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  522. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  524. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  525. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  527. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  528. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
  530. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  531. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  533. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  534. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  536. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  537. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  539. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  540. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  541. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  542. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  543. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  544. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  545. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  546. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  547. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  548. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  549. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  550. package/dist/src/yaml/steps/xcode.js +0 -1350
  551. package/dist/src/yaml/types.d.ts +0 -76
  552. package/dist/src/yaml/types.d.ts.map +0 -1
  553. package/dist/src/yaml/types.js +0 -5
  554. package/dist/src/yaml/validation-types.d.ts +0 -102
  555. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  556. package/dist/src/yaml/validation-types.js +0 -8
  557. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  558. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  559. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,130 +0,0 @@
1
- /**
2
- * A build whose HEAD commit has a multi-line message completes every step.
3
- *
4
- * This is the regression that started the whole thread. On 2026-08-30 the first
5
- * real `invarn setup` proof died of it: `git-clone` publishes the commit body,
6
- * and every step after it failed loading the envstore —
7
- *
8
- * [step_2] Running: cache-pull
9
- * …: line 59: export: `value nothing provides.': not a valid identifier
10
- * ✗ Pipeline failed: Step "Install CocoaPods" failed with exit code 1
11
- *
12
- * `src/yaml/steps/envstore-loader.test.ts` drives the *reader* with hostile
13
- * content written by hand, which is the right shape for the defect but stops
14
- * short of the thing that actually happened: the value came out of a real
15
- * repository, through a real producer. This closes that gap — a real
16
- * `git commit`, the real `git-clone` step reading it with `git log -1
17
- * --format=%b`, the real `envman` writer (`envmanShellFunction`, the same
18
- * bytes the runner prepends to every script step), and the real reader in the
19
- * next step's preamble.
20
- *
21
- * The fixture's commit message carries both consequences the PRD names, because
22
- * they need different bytes to surface: a line that is *not* a valid assignment
23
- * (which killed the step) and a line that *is* one (which let the commit's
24
- * author set `PATH` for every step after it).
25
- */
26
- import { describe, test, expect, beforeAll, afterAll } from '@jest/globals';
27
- import { execFileSync, spawnSync } from 'child_process';
28
- import { mkdtempSync, readFileSync, mkdirSync, rmSync, writeFileSync, existsSync } from 'fs';
29
- import { join } from 'path';
30
- import { tmpdir } from 'os';
31
- import { envmanShellFunction } from './shim.js';
32
- import { GitCloneStepExecutor } from '../yaml/steps/git-clone.js';
33
- import { ScriptStepExecutor } from '../yaml/steps/script.js';
34
- import { testConfigNoPeer } from '../yaml/steps/test-config.js';
35
- const SUBJECT = 'Add Invarn pipeline';
36
- /**
37
- * Three lines and a blank one. Line 2 is not a valid assignment; line 4 is.
38
- * `git log --format=%b` emits a trailing newline that `$( )` strips, so the
39
- * expected value below carries none.
40
- */
41
- const BODY = [
42
- 'cibuild sets CIBUILD_GIT_BRANCH, so pre-execution validation asked for a',
43
- 'value nothing provides.',
44
- '',
45
- 'PATH=/tmp/attacker-controlled',
46
- ].join('\n');
47
- describe('a multi-line commit message, from the repository to the next step', () => {
48
- let repoDir;
49
- let envstorePath;
50
- let captureDir;
51
- beforeAll(() => {
52
- repoDir = mkdtempSync(join(tmpdir(), 'envstore-round-trip-'));
53
- envstorePath = join(repoDir, '.ci', '.envstore.json');
54
- captureDir = join(repoDir, 'captured');
55
- mkdirSync(captureDir, { recursive: true });
56
- writeFileSync(join(repoDir, 'README.md'), 'fixture\n', 'utf-8');
57
- const git = (...args) => {
58
- execFileSync('git', args, { cwd: repoDir, stdio: 'ignore' });
59
- };
60
- git('init', '-b', 'main');
61
- git('config', 'user.name', 'CI Build Tests');
62
- git('config', 'user.email', 'cibuild-tests@example.com');
63
- git('config', 'commit.gpgsign', 'false');
64
- git('add', '.');
65
- git('commit', '-m', `${SUBJECT}\n\n${BODY}`);
66
- });
67
- afterAll(() => {
68
- rmSync(repoDir, { recursive: true, force: true });
69
- });
70
- /**
71
- * Runs one generated step the way the runner does: the envman shell function
72
- * prepended, bash, the envstore path in the environment so it survives the
73
- * `cd` the step does.
74
- */
75
- function runStep(script) {
76
- const scriptPath = join(repoDir, '__step.sh');
77
- writeFileSync(scriptPath, envmanShellFunction() + script, 'utf-8');
78
- const proc = spawnSync('bash', [scriptPath], {
79
- cwd: repoDir,
80
- encoding: 'utf-8',
81
- env: {
82
- ...process.env,
83
- ENVMAN_ENVSTORE_PATH: envstorePath,
84
- CAPTURE_DIR: captureDir,
85
- },
86
- });
87
- return { status: proc.status, stdout: proc.stdout ?? '', stderr: proc.stderr ?? '' };
88
- }
89
- function captured(name) {
90
- const file = join(captureDir, name);
91
- return existsSync(file) ? readFileSync(file, 'utf-8') : undefined;
92
- }
93
- test('git-clone publishes the commit body without dying on it', async () => {
94
- const { script } = await new GitCloneStepExecutor().execute({}, {}, testConfigNoPeer);
95
- const run = runStep(script);
96
- expect(run.status).toBe(0);
97
- expect(run.stdout).toContain(`Message: ${SUBJECT}`);
98
- // The envstore is what the next step reads, so it has to exist and to hold
99
- // the body as data rather than as three more records.
100
- const store = JSON.parse(readFileSync(envstorePath, 'utf-8'));
101
- expect(store.envs.find(e => e.key === 'GIT_CLONE_COMMIT_MESSAGE_BODY')?.value).toBe(BODY);
102
- expect(store.envs.map(e => e.key)).not.toContain('PATH');
103
- });
104
- test('the next step loads it, completes, and is not reconfigured by it', async () => {
105
- // Runs after git-clone above: the envstore on disk is the real one that
106
- // step wrote.
107
- const { script } = await new ScriptStepExecutor().execute({
108
- content: [
109
- `printf '%s' "\${GIT_CLONE_COMMIT_MESSAGE_BODY-}" > "$CAPTURE_DIR/body"`,
110
- `printf '%s' "\${GIT_CLONE_COMMIT_MESSAGE_SUBJECT-}" > "$CAPTURE_DIR/subject"`,
111
- `printf '%s' "$PATH" > "$CAPTURE_DIR/path"`,
112
- 'echo step-completed',
113
- ].join('\n'),
114
- }, {}, testConfigNoPeer);
115
- const run = runStep(script);
116
- // "Completes every step" — the whole acceptance criterion, and what the
117
- // production build could not do.
118
- expect(run.status).toBe(0);
119
- expect(run.stdout).toContain('step-completed');
120
- expect(run.stderr).not.toContain('not a valid identifier');
121
- // Correctness: byte for byte, internal blank line and all.
122
- expect(captured('body')).toBe(BODY);
123
- expect(captured('subject')).toBe(SUBJECT);
124
- // Security: the commit's author does not get to choose PATH. Compared
125
- // against what the parent process held, which is what "unchanged" means.
126
- expect(captured('path')).toBe(process.env.PATH ?? '');
127
- expect(captured('path')).not.toContain('/tmp/attacker-controlled');
128
- });
129
- });
130
- //# sourceMappingURL=envstore-round-trip.test.js.map
@@ -1,23 +0,0 @@
1
- /**
2
- * CI Build Environment Variable Manager (envman)
3
- *
4
- * A tool for managing environment variables between CI/CD pipeline steps.
5
- * Similar to Bitrise's envman, this allows scripts to register outputs
6
- * that subsequent steps can use as environment variables.
7
- *
8
- * @example
9
- * // In a script step:
10
- * // envman add --key BUILD_VERSION --value '1.2.3'
11
- * // envman add --key APK_PATH --valuefile ./build/output/path.txt
12
- *
13
- * @example
14
- * // Programmatic usage:
15
- * import { add, getAll, run } from './envman/index.js';
16
- *
17
- * add({ key: 'BUILD_VERSION', value: '1.2.3' });
18
- * const envs = getAll();
19
- * await run(['gradle', 'assembleRelease']);
20
- */
21
- export * from './envman.js';
22
- export * from './types.js';
23
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/envman/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * CI Build Environment Variable Manager (envman)
3
- *
4
- * A tool for managing environment variables between CI/CD pipeline steps.
5
- * Similar to Bitrise's envman, this allows scripts to register outputs
6
- * that subsequent steps can use as environment variables.
7
- *
8
- * @example
9
- * // In a script step:
10
- * // envman add --key BUILD_VERSION --value '1.2.3'
11
- * // envman add --key APK_PATH --valuefile ./build/output/path.txt
12
- *
13
- * @example
14
- * // Programmatic usage:
15
- * import { add, getAll, run } from './envman/index.js';
16
- *
17
- * add({ key: 'BUILD_VERSION', value: '1.2.3' });
18
- * const envs = getAll();
19
- * await run(['gradle', 'assembleRelease']);
20
- */
21
- export * from './envman.js';
22
- export * from './types.js';
23
- //# sourceMappingURL=index.js.map
@@ -1,16 +0,0 @@
1
- /**
2
- * The `envman` shell function prepended to every script step.
3
- *
4
- * Steps call `envman add --key K --value V` to publish a value to the steps
5
- * after them. This is a bash function rather than a call to the `ci` binary
6
- * because pkg-built binaries mishandle subcommands — so the writer half of the
7
- * envstore contract is generated bash, exactly like the reader half in
8
- * `createBashScript`.
9
- *
10
- * Lives in its own module so a test can run the *same bytes production runs*
11
- * against a real producer, rather than a copy that can drift from it. The
12
- * reader is driven directly in `src/yaml/steps/envstore-loader.test.ts`; the
13
- * pair is exercised end to end in `src/envman/envstore-round-trip.test.ts`.
14
- */
15
- export declare function envmanShellFunction(): string;
16
- //# sourceMappingURL=shim.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shim.d.ts","sourceRoot":"","sources":["../../../src/envman/shim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAkD5C"}
@@ -1,66 +0,0 @@
1
- /**
2
- * The `envman` shell function prepended to every script step.
3
- *
4
- * Steps call `envman add --key K --value V` to publish a value to the steps
5
- * after them. This is a bash function rather than a call to the `ci` binary
6
- * because pkg-built binaries mishandle subcommands — so the writer half of the
7
- * envstore contract is generated bash, exactly like the reader half in
8
- * `createBashScript`.
9
- *
10
- * Lives in its own module so a test can run the *same bytes production runs*
11
- * against a real producer, rather than a copy that can drift from it. The
12
- * reader is driven directly in `src/yaml/steps/envstore-loader.test.ts`; the
13
- * pair is exercised end to end in `src/envman/envstore-round-trip.test.ts`.
14
- */
15
- export function envmanShellFunction() {
16
- return `envman() {
17
- local cmd="$1"; shift
18
- local store="\${ENVMAN_ENVSTORE_PATH:-.ci/.envstore.json}"
19
- case "$cmd" in
20
- add)
21
- local key="" value="" valuefile="" sensitive=false skipifempty=false append=false
22
- while [ $# -gt 0 ]; do
23
- case "$1" in
24
- --key|-k) key="$2"; shift 2 ;;
25
- --value|-v) value="$2"; shift 2 ;;
26
- --valuefile|-f) valuefile="$2"; shift 2 ;;
27
- --sensitive|-s) sensitive=true; shift ;;
28
- --skip-if-empty) skipifempty=true; shift ;;
29
- --append|-a) append=true; shift ;;
30
- *) shift ;;
31
- esac
32
- done
33
- [ -z "$key" ] && { echo "envman add: --key required" >&2; return 1; }
34
- if [ -n "$valuefile" ]; then
35
- value="$(cat "$valuefile")"
36
- elif [ -z "$value" ] && ! [ -t 0 ]; then
37
- value="$(cat)"
38
- fi
39
- [ "$skipifempty" = true ] && [ -z "$value" ] && return 0
40
- node -e '
41
- const fs=require("fs");
42
- const f=process.argv[1], k=process.argv[2], v=process.argv[3];
43
- const s=process.argv[4]==="true", a=process.argv[5]==="true";
44
- let store={envs:[]};
45
- try{store=JSON.parse(fs.readFileSync(f,"utf-8"))}catch{}
46
- const idx=store.envs.findIndex(e=>e.key===k);
47
- if(a && idx>=0){store.envs[idx].value+=v}
48
- else if(idx>=0){store.envs[idx].value=v;store.envs[idx].sensitive=s}
49
- else{store.envs.push({key:k,value:v,sensitive:s})}
50
- fs.mkdirSync(require("path").dirname(f),{recursive:true});
51
- fs.writeFileSync(f,JSON.stringify(store,null,2));
52
- ' "$store" "$key" "$value" "$sensitive" "$append"
53
- echo "envman: $key set"
54
- ;;
55
- init)
56
- node -e 'const fs=require("fs");const f=process.argv[1];fs.mkdirSync(require("path").dirname(f),{recursive:true});fs.writeFileSync(f,JSON.stringify({envs:[]},null,2))' "$store"
57
- ;;
58
- *)
59
- echo "envman: unknown command: $cmd" >&2; return 1
60
- ;;
61
- esac
62
- }
63
- export -f envman
64
- `;
65
- }
66
- //# sourceMappingURL=shim.js.map
@@ -1,55 +0,0 @@
1
- /**
2
- * Type definitions for the CI Build Environment Variable Manager (envman)
3
- */
4
- /**
5
- * A single environment variable entry in the store
6
- */
7
- export interface EnvEntry {
8
- key: string;
9
- value: string;
10
- sensitive?: boolean;
11
- createdAt: string;
12
- updatedAt: string;
13
- }
14
- /**
15
- * The environment variable store structure
16
- */
17
- export interface EnvStore {
18
- version: string;
19
- envs: EnvEntry[];
20
- }
21
- /**
22
- * Options for adding an environment variable
23
- */
24
- export interface AddOptions {
25
- key: string;
26
- value?: string;
27
- valueFile?: string;
28
- sensitive?: boolean;
29
- skipIfEmpty?: boolean;
30
- append?: boolean;
31
- }
32
- /**
33
- * Options for running a command with environment variables
34
- */
35
- export interface RunOptions {
36
- command: string[];
37
- expandEnvs?: boolean;
38
- }
39
- /**
40
- * Result of an envman operation
41
- */
42
- export interface EnvmanResult {
43
- success: boolean;
44
- message?: string;
45
- error?: string;
46
- }
47
- /**
48
- * Default store file name
49
- */
50
- export declare const DEFAULT_STORE_FILE = ".envstore.json";
51
- /**
52
- * Current store version
53
- */
54
- export declare const STORE_VERSION = "1.0.0";
55
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/envman/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Type definitions for the CI Build Environment Variable Manager (envman)
3
- */
4
- /**
5
- * Default store file name
6
- */
7
- export const DEFAULT_STORE_FILE = '.envstore.json';
8
- /**
9
- * Current store version
10
- */
11
- export const STORE_VERSION = '1.0.0';
12
- //# sourceMappingURL=types.js.map
package/dist/src/lib.d.ts DELETED
@@ -1,33 +0,0 @@
1
- /**
2
- * @invarn/cibuild library API
3
- *
4
- * Programmatic access to cibuild pipeline parsing, conversion, and execution.
5
- * This is the non-interactive library surface — no prompts, no TTY dependencies.
6
- *
7
- * Usage:
8
- * import {
9
- * loadYAMLPipeline,
10
- * convertYAMLToPipelineDef,
11
- * PipelineRunner,
12
- * loadConfig,
13
- * } from '@invarn/cibuild/lib';
14
- */
15
- import './yaml/steps/index.js';
16
- export { PipelineRunner, StepExecutionError } from './runner.js';
17
- export { loadConfig } from './config.js';
18
- export { loadYAMLPipeline, getWorkflowNames, hasWorkflow, YAMLParseError, YAMLValidationError, } from './yaml/parser.js';
19
- export { loadFidelityManifest, parseFidelityManifest, buildSurfaceDispatchInputs, FidelityManifestError, } from './yaml/fidelity-manifest.js';
20
- export type { FidelityManifest, FidelitySurface, FidelityState, StateReference, ReferenceProvenance, BaselineEntry, SurfaceDispatchInputs, } from './yaml/fidelity-manifest.js';
21
- export { convertYAMLToPipelineDef, getAvailableWorkflows, YAMLConversionError, } from './yaml/converter.js';
22
- export type { ConversionResult } from './yaml/converter.js';
23
- export { pipeline } from './pipeline.js';
24
- export { renderUiFidelityPreview } from './yaml/steps/ui-fidelity-preview.js';
25
- export type { UiFidelityPreviewOptions, UiFidelityPreviewScreen, UiFidelityPreviewResult, UiFidelityPreviewScreenResult, UiFidelityPreviewDimensions, } from './yaml/steps/ui-fidelity-preview.js';
26
- export { renderUiFidelityPreviewAndroid, ANDROID_TOOLCHAIN_MISSING, } from './yaml/steps/ui-fidelity-preview-android.js';
27
- export type { UiFidelityPreviewAndroidOptions } from './yaml/steps/ui-fidelity-preview-android.js';
28
- export { getStepExecutor, hasStep, getAvailableSteps, registerStep, getStepMetadata, } from './yaml/steps/registry.js';
29
- export type { StepDef, PipelineDef, CIConfig, PipelineFactory, PipelineContext, StepBuilders, } from './types.js';
30
- export type { StepExecutor, StepMetadata, StepPlatform, StepExecutionContext, } from './yaml/steps/base.js';
31
- export type { YAMLPipeline, YAMLWorkflow, YAMLStep, YAMLStepInputs, YAMLEnvVar, YAMLApp, YAMLMeta, ParsedStep, PlatformInfo, Platform, MachineType, } from './yaml/types.js';
32
- export { MissingEnvironmentVariableError } from './yaml/env-resolver.js';
33
- //# sourceMappingURL=lib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,6CAA6C,CAAC;AACrD,YAAY,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAInG,OAAO,EACL,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAI9B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/src/lib.js DELETED
@@ -1,37 +0,0 @@
1
- /**
2
- * @invarn/cibuild library API
3
- *
4
- * Programmatic access to cibuild pipeline parsing, conversion, and execution.
5
- * This is the non-interactive library surface — no prompts, no TTY dependencies.
6
- *
7
- * Usage:
8
- * import {
9
- * loadYAMLPipeline,
10
- * convertYAMLToPipelineDef,
11
- * PipelineRunner,
12
- * loadConfig,
13
- * } from '@invarn/cibuild/lib';
14
- */
15
- // Side-effect: initialize the step registry (registers all step executors).
16
- // Must run before any convertYAMLToPipelineDef call.
17
- import './yaml/steps/index.js';
18
- // ─── Runner ─────────────────────────────────────────────────────────────
19
- export { PipelineRunner, StepExecutionError } from './runner.js';
20
- // ─── Config ─────────────────────────────────────────────────────────────
21
- export { loadConfig } from './config.js';
22
- // ─── YAML parser ────────────────────────────────────────────────────────
23
- export { loadYAMLPipeline, getWorkflowNames, hasWorkflow, YAMLParseError, YAMLValidationError, } from './yaml/parser.js';
24
- // ─── UI fidelity manifest ───────────────────────────────────────────────
25
- export { loadFidelityManifest, parseFidelityManifest, buildSurfaceDispatchInputs, FidelityManifestError, } from './yaml/fidelity-manifest.js';
26
- // ─── YAML converter (non-interactive) ───────────────────────────────────
27
- export { convertYAMLToPipelineDef, getAvailableWorkflows, YAMLConversionError, } from './yaml/converter.js';
28
- // ─── Pipeline DSL factory ───────────────────────────────────────────────
29
- export { pipeline } from './pipeline.js';
30
- // ─── UI fidelity local preview ──────────────────────────────────────────
31
- export { renderUiFidelityPreview } from './yaml/steps/ui-fidelity-preview.js';
32
- export { renderUiFidelityPreviewAndroid, ANDROID_TOOLCHAIN_MISSING, } from './yaml/steps/ui-fidelity-preview-android.js';
33
- // ─── Step registry ──────────────────────────────────────────────────────
34
- export { getStepExecutor, hasStep, getAvailableSteps, registerStep, getStepMetadata, } from './yaml/steps/registry.js';
35
- // ─── Error types ────────────────────────────────────────────────────────
36
- export { MissingEnvironmentVariableError } from './yaml/env-resolver.js';
37
- //# sourceMappingURL=lib.js.map
@@ -1,3 +0,0 @@
1
- import type { PipelineFactory } from "./types.js";
2
- export declare const pipeline: PipelineFactory;
3
- //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8C,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9F,eAAO,MAAM,QAAQ,EAAE,eAmEtB,CAAC"}
@@ -1,57 +0,0 @@
1
- export const pipeline = (name, builder) => {
2
- const def = {
3
- name,
4
- artifacts: [],
5
- steps: [],
6
- stepsOrder: [],
7
- };
8
- const stepBuilders = {
9
- script(name, options) {
10
- def.steps.push({
11
- id: options.id,
12
- name,
13
- kind: "script",
14
- shell: options.shell,
15
- script: options.script,
16
- });
17
- },
18
- python(name, options) {
19
- def.steps.push({
20
- id: options.id,
21
- name,
22
- kind: "python",
23
- script: options.script,
24
- });
25
- },
26
- ruby(name, options) {
27
- def.steps.push({
28
- id: options.id,
29
- name,
30
- kind: "ruby",
31
- script: options.script,
32
- });
33
- },
34
- node(name, options) {
35
- def.steps.push({
36
- id: options.id,
37
- name,
38
- kind: "node",
39
- script: options.script,
40
- });
41
- },
42
- };
43
- const pipelineContext = {
44
- artifacts(paths) {
45
- def.artifacts = paths;
46
- },
47
- steps(builder) {
48
- builder(stepBuilders);
49
- },
50
- stepsOrder(ids) {
51
- def.stepsOrder = ids;
52
- },
53
- };
54
- builder(pipelineContext);
55
- return def;
56
- };
57
- //# sourceMappingURL=pipeline.js.map
@@ -1,12 +0,0 @@
1
- /**
2
- * Node-kind step execution must ride a temp script FILE, never `node -e`.
3
- *
4
- * The released `ci` binary is pkg-built. pkg's bootstrap intercepts child
5
- * spawns of `node` and re-executes the pkg binary itself — and that
6
- * bootstrap cannot handle `-e`: it resolves it as an entrypoint path and
7
- * dies with `Cannot find module '<cwd>/-e'` before the script runs. A
8
- * real file path works under both a system node and the pkg bootstrap,
9
- * exactly like bash steps already do via their temp-file pattern.
10
- */
11
- export {};
12
- //# sourceMappingURL=runner-node-step.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner-node-step.test.d.ts","sourceRoot":"","sources":["../../src/runner-node-step.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Node-kind step execution must ride a temp script FILE, never `node -e`.
3
- *
4
- * The released `ci` binary is pkg-built. pkg's bootstrap intercepts child
5
- * spawns of `node` and re-executes the pkg binary itself — and that
6
- * bootstrap cannot handle `-e`: it resolves it as an entrypoint path and
7
- * dies with `Cannot find module '<cwd>/-e'` before the script runs. A
8
- * real file path works under both a system node and the pkg bootstrap,
9
- * exactly like bash steps already do via their temp-file pattern.
10
- */
11
- import { describe, test, expect, afterEach } from '@jest/globals';
12
- import { mkdtempSync, readFileSync, rmSync } from 'node:fs';
13
- import { tmpdir } from 'node:os';
14
- import { join } from 'node:path';
15
- import { PipelineRunner, StepExecutionError } from './runner.js';
16
- import { loadConfig } from './config.js';
17
- function nodeStep(script) {
18
- return {
19
- id: 'step_test',
20
- name: 'node-under-test',
21
- kind: 'node',
22
- script,
23
- };
24
- }
25
- describe('PipelineRunner node-kind steps', () => {
26
- let outDir = null;
27
- afterEach(() => {
28
- if (outDir)
29
- rmSync(outDir, { recursive: true, force: true });
30
- outDir = null;
31
- });
32
- test('executes the script from a file: argv[1] is a real path, never -e', async () => {
33
- outDir = mkdtempSync(join(tmpdir(), 'cibuild-node-step-'));
34
- const probePath = join(outDir, 'probe.json');
35
- const runner = new PipelineRunner(loadConfig('/nonexistent/ci.config.json'));
36
- await runner.runStep(nodeStep(`require('fs').writeFileSync(${JSON.stringify(probePath)}, JSON.stringify({` +
37
- `argv1: process.argv[1] ?? null,` +
38
- `filename: typeof __filename === 'string' ? __filename : null` +
39
- `}))`));
40
- const probe = JSON.parse(readFileSync(probePath, 'utf-8'));
41
- // `node -e` leaves argv[1] undefined and has no __filename; a
42
- // file-executed script has both, and neither may be the literal '-e'.
43
- expect(probe.argv1).not.toBeNull();
44
- expect(probe.argv1).not.toBe('-e');
45
- expect(probe.filename).not.toBeNull();
46
- expect(probe.filename).toMatch(/\.cjs$/);
47
- });
48
- test('propagates a non-zero exit as StepExecutionError', async () => {
49
- const runner = new PipelineRunner(loadConfig('/nonexistent/ci.config.json'));
50
- await expect(runner.runStep(nodeStep('process.exit(3)'))).rejects.toThrow(StepExecutionError);
51
- });
52
- test('cleans up the temp script file after the step exits', async () => {
53
- outDir = mkdtempSync(join(tmpdir(), 'cibuild-node-step-'));
54
- const probePath = join(outDir, 'probe.json');
55
- const runner = new PipelineRunner(loadConfig('/nonexistent/ci.config.json'));
56
- await runner.runStep(nodeStep(`require('fs').writeFileSync(${JSON.stringify(probePath)}, JSON.stringify({ filename: __filename }))`));
57
- const { filename } = JSON.parse(readFileSync(probePath, 'utf-8'));
58
- expect(() => readFileSync(filename)).toThrow();
59
- });
60
- });
61
- //# sourceMappingURL=runner-node-step.test.js.map
@@ -1,31 +0,0 @@
1
- import type { StepDef, PipelineDef, CIConfig } from "./types.js";
2
- import type { CheckoutWitness } from "./yaml/converter.js";
3
- export declare class StepExecutionError extends Error {
4
- stepId: string;
5
- stepName: string;
6
- exitCode: number;
7
- constructor(stepId: string, stepName: string, exitCode: number);
8
- }
9
- export declare class PipelineRunner {
10
- private config;
11
- constructor(config: CIConfig);
12
- runStep(step: StepDef, stepNumber?: number): Promise<void>;
13
- private formatDuration;
14
- validatePipeline(pipeline: PipelineDef): void;
15
- displayWarnings(warnings: string[], skippedSteps: number): void;
16
- /**
17
- * The commit this build compiled, printed under the banner.
18
- *
19
- * Every build carries it, whatever steps it declares. The dashboard's sha is
20
- * the one that was *dispatched*; this one was read off the disk the compiler
21
- * is about to read, and it is what a later argument about which code shipped
22
- * has to be settled against. It used to live only in `git-clone`'s echo,
23
- * which is optional and no longer in the curated templates.
24
- *
25
- * Labels match that echo's on purpose — where both appear they are the same
26
- * three facts, and they have to agree.
27
- */
28
- displayCheckout(checkout: CheckoutWitness): void;
29
- runPipeline(pipeline: PipelineDef, warnings?: string[], skippedSteps?: number, checkout?: CheckoutWitness): Promise<void>;
30
- }
31
- //# sourceMappingURL=runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,qBAAa,kBAAmB,SAAQ,KAAK;IAElC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;gBAFhB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CAK1B;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IAE9B,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiHhE,OAAO,CAAC,cAAc;IAYtB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAwB7C,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAc/D;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO1C,WAAW,CACf,QAAQ,EAAE,WAAW,EACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC;CA+CjB"}