@invarn/cibuild 2.9.4 → 2.9.7

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 (547) 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/android-sign.d.ts +0 -35
  282. package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
  283. package/dist/src/yaml/steps/android-sign.js +0 -147
  284. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
  285. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
  286. package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
  287. package/dist/src/yaml/steps/android-version.d.ts +0 -26
  288. package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
  289. package/dist/src/yaml/steps/android-version.js +0 -128
  290. package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
  291. package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
  292. package/dist/src/yaml/steps/android-version.test.js +0 -196
  293. package/dist/src/yaml/steps/android.d.ts +0 -156
  294. package/dist/src/yaml/steps/android.d.ts.map +0 -1
  295. package/dist/src/yaml/steps/android.js +0 -1084
  296. package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
  297. package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
  298. package/dist/src/yaml/steps/app-store-deploy.js +0 -167
  299. package/dist/src/yaml/steps/base.d.ts +0 -263
  300. package/dist/src/yaml/steps/base.d.ts.map +0 -1
  301. package/dist/src/yaml/steps/base.js +0 -380
  302. package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
  303. package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
  304. package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
  305. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
  306. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
  307. package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
  308. package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
  309. package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
  310. package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
  311. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
  312. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
  313. package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
  314. package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
  315. package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
  316. package/dist/src/yaml/steps/bitrise-slack.js +0 -280
  317. package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
  318. package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
  319. package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
  320. package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
  321. package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
  322. package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
  323. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
  324. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
  325. package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
  326. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
  327. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
  328. package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
  329. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
  330. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
  331. package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
  332. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
  333. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
  334. package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
  335. package/dist/src/yaml/steps/cache.d.ts +0 -59
  336. package/dist/src/yaml/steps/cache.d.ts.map +0 -1
  337. package/dist/src/yaml/steps/cache.js +0 -1027
  338. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  339. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  341. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  342. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  344. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  345. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  347. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  348. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  350. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  351. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  353. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  354. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  356. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  357. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/fastlane.js +0 -79
  359. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  360. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  362. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  363. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  365. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  366. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  368. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  369. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  371. package/dist/src/yaml/steps/file.d.ts +0 -52
  372. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/file.js +0 -108
  374. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  375. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/flutter.js +0 -215
  377. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  378. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  380. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  381. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/git-clone.js +0 -171
  383. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  384. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  386. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  387. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  389. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  390. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  392. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  393. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  395. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  396. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  398. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -61
  399. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/gradle-memory.js +0 -311
  401. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  402. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/gradle-memory.test.js +0 -297
  404. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  405. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  407. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  408. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  410. package/dist/src/yaml/steps/index.d.ts +0 -10
  411. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/index.js +0 -1461
  413. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  414. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/ios-deps.js +0 -279
  416. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  417. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  419. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  420. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/ios-signing.js +0 -144
  422. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  423. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-version.js +0 -151
  425. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  426. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  428. package/dist/src/yaml/steps/linting.d.ts +0 -47
  429. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/linting.js +0 -148
  431. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  432. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/phase2.test.js +0 -197
  434. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  435. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/phase3.test.js +0 -144
  437. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  438. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/phase4.test.js +0 -166
  440. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  441. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/phase5.test.js +0 -263
  443. package/dist/src/yaml/steps/registry.d.ts +0 -88
  444. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/registry.js +0 -125
  446. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  447. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/registry.test.js +0 -235
  449. package/dist/src/yaml/steps/release.d.ts +0 -50
  450. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/release.js +0 -154
  452. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  453. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  455. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  456. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  458. package/dist/src/yaml/steps/script.d.ts +0 -23
  459. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/script.js +0 -63
  461. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  462. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  464. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  465. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/steps.test.js +0 -881
  467. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  468. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  470. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  471. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  473. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  474. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/test-config.js +0 -25
  476. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  477. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  479. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  480. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/trim-align.js +0 -367
  482. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  483. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  485. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  486. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  488. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  489. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  491. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  492. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  494. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  495. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  497. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  498. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  500. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  501. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  503. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  504. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  506. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  507. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  509. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  510. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  512. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  513. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  515. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  516. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -253
  518. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  519. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  521. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  522. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  524. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  525. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  527. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  528. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  530. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  531. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  533. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  534. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  536. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  537. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode.js +0 -1340
  539. package/dist/src/yaml/types.d.ts +0 -76
  540. package/dist/src/yaml/types.d.ts.map +0 -1
  541. package/dist/src/yaml/types.js +0 -5
  542. package/dist/src/yaml/validation-types.d.ts +0 -102
  543. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  544. package/dist/src/yaml/validation-types.js +0 -8
  545. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  546. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  547. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,52 +0,0 @@
1
- import { BaseStepExecutor } from './base.js';
2
- import type { StepDef, CIConfig } from '../../types.js';
3
- /**
4
- * A credential the pipeline declares, the build reads, and nobody supplied.
5
- *
6
- * Thrown at generation time, from the step that would have written the file,
7
- * so the build stops before its own build tool fails for a reason that names
8
- * the project instead of the value we dropped. Generation time is also the
9
- * only place `is_skippable` cannot swallow it: the converter sets that flag on
10
- * a StepDef *after* `execute()` returns, so a step which merely exited
11
- * non-zero would be reported as "failed but marked skippable — continuing".
12
- */
13
- export declare class MissingFileSecretError extends Error {
14
- readonly varName: string;
15
- readonly targetPath: string;
16
- constructor(varName: string, targetPath: string);
17
- }
18
- export interface FileInputs {
19
- /** Path where the file should be written, relative to the project root. */
20
- target_path: string;
21
- /** Name of the env var that holds the file content (resolved from secrets). */
22
- var_name: string;
23
- /**
24
- * When true, the secret value is already base64-encoded binary (e.g. KEYSTORE_BASE64).
25
- * The content is embedded as-is without re-encoding, so the runtime script decodes
26
- * it once with `base64 -d` to recover the original binary.
27
- */
28
- base64_encoded?: boolean;
29
- }
30
- /**
31
- * Writes a file to a target path at runtime.
32
- *
33
- * The file content is stored in .cibuild-secrets.json and loaded by EnvResolver
34
- * into the `env` map before execute() is called. We base64-encode the value
35
- * and embed it into the generated script, then decode at runtime with `base64 -d`.
36
- * Base64 output contains only [A-Za-z0-9+/=] so it is safe to embed in any shell
37
- * quoting context regardless of the original content (JSON, certificates, etc.).
38
- */
39
- export declare class FileStepExecutor extends BaseStepExecutor {
40
- execute(inputs: FileInputs, env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
41
- /**
42
- * Whether the build will find the file at `target_path` without this step.
43
- *
44
- * Asked at generation time, which is when the step decides, and answerable
45
- * because generation happens inside the checkout — on the host path locally
46
- * and on the sandbox path inside the guest. The path is composed exactly the
47
- * way the generated script composes the one it writes to, so the two cannot
48
- * disagree about which file is in question.
49
- */
50
- private fileAlreadyInCheckout;
51
- }
52
- //# sourceMappingURL=file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAyBhD;AAED,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IAC9C,OAAO,CACX,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC;IAiDnB;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CAI9B"}
@@ -1,108 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { basename, join } from 'node:path';
3
- import { BaseStepExecutor } from './base.js';
4
- /**
5
- * A credential the pipeline declares, the build reads, and nobody supplied.
6
- *
7
- * Thrown at generation time, from the step that would have written the file,
8
- * so the build stops before its own build tool fails for a reason that names
9
- * the project instead of the value we dropped. Generation time is also the
10
- * only place `is_skippable` cannot swallow it: the converter sets that flag on
11
- * a StepDef *after* `execute()` returns, so a step which merely exited
12
- * non-zero would be reported as "failed but marked skippable — continuing".
13
- */
14
- export class MissingFileSecretError extends Error {
15
- varName;
16
- targetPath;
17
- constructor(varName, targetPath) {
18
- super(`file@1.0.0 cannot write ${targetPath}: ${varName} is declared in this ` +
19
- `pipeline but no value reached the build.\n` +
20
- `\n` +
21
- `A slot declared and left empty means the value arrives as a secret. ` +
22
- `None did:\n` +
23
- `not the pipeline itself, not .cibuild-secrets.json, and not this ` +
24
- `build's environment.\n` +
25
- `\n` +
26
- `Supply it in one of two places:\n` +
27
- `\n` +
28
- ` locally ci secrets add ${varName}\n` +
29
- ` remote build add ${varName} as an organization or pipeline ` +
30
- `secret, then\n` +
31
- ` run the build again\n` +
32
- `\n` +
33
- `If ${basename(targetPath)} belongs to the repository instead, commit ` +
34
- `it at\n` +
35
- `${targetPath} — a file already in the checkout is used as it is.`);
36
- this.name = 'MissingFileSecretError';
37
- this.varName = varName;
38
- this.targetPath = targetPath;
39
- }
40
- }
41
- /**
42
- * Writes a file to a target path at runtime.
43
- *
44
- * The file content is stored in .cibuild-secrets.json and loaded by EnvResolver
45
- * into the `env` map before execute() is called. We base64-encode the value
46
- * and embed it into the generated script, then decode at runtime with `base64 -d`.
47
- * Base64 output contains only [A-Za-z0-9+/=] so it is safe to embed in any shell
48
- * quoting context regardless of the original content (JSON, certificates, etc.).
49
- */
50
- export class FileStepExecutor extends BaseStepExecutor {
51
- async execute(inputs, env, _config) {
52
- const targetPath = this.getRequiredInput(inputs, 'target_path', 'file');
53
- const varName = this.getRequiredInput(inputs, 'var_name', 'file');
54
- const filename = basename(targetPath);
55
- const content = env[varName];
56
- if (!content) {
57
- // Two absences, and they mean opposite things. A `var_name` nothing
58
- // declares is a genuinely optional credential — a release keystore on a
59
- // debug workflow — and skipping it is correct. A `var_name` the pipeline
60
- // declares and leaves empty is a value that was supposed to arrive as a
61
- // secret and did not: after issue 01 it is in none of the four places a
62
- // value can come from, so the build is guaranteed red later, for a
63
- // reason nothing in the log connects to this step. `mergeEnvVars` puts a
64
- // declared key in the map even when its value is the empty placeholder,
65
- // and nothing else puts a key there, so presence is the whole test.
66
- //
67
- // Except when the repository already carries the file. The Android
68
- // generator declares KEYSTORE_BASE64 once, globally, but emits its
69
- // `file@` step on every workflow including `pull-request`, where nothing
70
- // signs anything — so "declared and empty" alone would refuse builds
71
- // that are green today and rightly so. The question worth asking is the
72
- // one the build will ask: will the file be there when it is read?
73
- if (varName in env && !this.fileAlreadyInCheckout(targetPath, env)) {
74
- throw new MissingFileSecretError(varName, targetPath);
75
- }
76
- const reason = varName in env
77
- ? `${filename} is already in the checkout, using it`
78
- : `skipping ${filename}`;
79
- return this.createScriptStep(`echo "⚠️ ${varName} not set — ${reason}"`, 'file');
80
- }
81
- // Base64-encode the content so it can be embedded safely in the script
82
- // regardless of quotes, newlines, dollar signs, or any other special characters.
83
- // base64 output contains only [A-Za-z0-9+/=] which is safe in any shell context.
84
- // When base64_encoded is true the secret is already base64 binary — skip re-encoding.
85
- const encoded = inputs.base64_encoded
86
- ? content
87
- : Buffer.from(content).toString('base64');
88
- const scriptContent = `\
89
- mkdir -p "$(dirname "\${CIBUILD_SOURCE_DIR:-$PWD}/${targetPath}")"
90
- printf '%s' '${encoded}' | base64 -d > "\${CIBUILD_SOURCE_DIR:-$PWD}/${targetPath}"
91
- echo "✓ Written ${filename}"`;
92
- return this.createScriptStep(this.createBashScript(scriptContent, 'file'), 'file');
93
- }
94
- /**
95
- * Whether the build will find the file at `target_path` without this step.
96
- *
97
- * Asked at generation time, which is when the step decides, and answerable
98
- * because generation happens inside the checkout — on the host path locally
99
- * and on the sandbox path inside the guest. The path is composed exactly the
100
- * way the generated script composes the one it writes to, so the two cannot
101
- * disagree about which file is in question.
102
- */
103
- fileAlreadyInCheckout(targetPath, env) {
104
- const sourceDir = env.CIBUILD_SOURCE_DIR || process.cwd();
105
- return existsSync(join(sourceDir, targetPath));
106
- }
107
- }
108
- //# sourceMappingURL=file.js.map
@@ -1,63 +0,0 @@
1
- /**
2
- * Flutter steps: flutter-installer, flutter-build, flutter-test
3
- */
4
- import { BaseStepExecutor } from './base.js';
5
- import type { StepDef, CIConfig } from '../../types.js';
6
- import type { ValidationRequirement, StepOutput } from '../validation-types.js';
7
- export interface FlutterInstallerInputs {
8
- /** Flutter SDK version or channel (stable, beta, master, or specific version) */
9
- version?: string;
10
- /** Installation path for the Flutter SDK */
11
- installation_path?: string;
12
- }
13
- /**
14
- * Installs or activates a specific Flutter SDK version.
15
- */
16
- export declare class FlutterInstallerStepExecutor extends BaseStepExecutor {
17
- getValidationRequirements(_inputs: FlutterInstallerInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
18
- getOutputs(): StepOutput[];
19
- execute(inputs: FlutterInstallerInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
20
- }
21
- export interface FlutterBuildInputs {
22
- /** Root directory of the Flutter project */
23
- project_location?: string;
24
- /** Platform to build: ios | android | both */
25
- platform?: string;
26
- /** Additional flutter build parameters */
27
- additional_build_params?: string;
28
- /** iOS output type: app | archive */
29
- ios_output_type?: string;
30
- /** Android output type: apk | appbundle */
31
- android_output_type?: string;
32
- /** Additional iOS build params */
33
- ios_additional_params?: string;
34
- /** Additional Android build params */
35
- android_additional_params?: string;
36
- /** Enable debug mode (true/false) */
37
- is_debug_mode?: string;
38
- }
39
- /**
40
- * Builds a Flutter project for iOS and/or Android.
41
- */
42
- export declare class FlutterBuildStepExecutor extends BaseStepExecutor {
43
- getValidationRequirements(_inputs: FlutterBuildInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
44
- getOutputs(): StepOutput[];
45
- execute(inputs: FlutterBuildInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
46
- }
47
- export interface FlutterTestInputs {
48
- /** Root directory of the Flutter project */
49
- project_location?: string;
50
- /** Additional flutter test parameters */
51
- additional_params?: string;
52
- /** Enable coverage collection (true/false) */
53
- generate_code_coverage_files?: string;
54
- }
55
- /**
56
- * Runs flutter test with optional coverage.
57
- */
58
- export declare class FlutterTestStepExecutor extends BaseStepExecutor {
59
- getValidationRequirements(_inputs: FlutterTestInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
60
- getOutputs(): StepOutput[];
61
- execute(inputs: FlutterTestInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
62
- }
63
- //# sourceMappingURL=flutter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flutter.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/flutter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMhF,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,gBAAgB;IAChE,yBAAyB,CACvB,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAI1B,UAAU,IAAI,UAAU,EAAE;IAMpB,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CA2DjH;AAMD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sCAAsC;IACtC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,yBAAyB,CACvB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAQpB,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAyF7G;AAMD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,yBAAyB,CACvB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAMpB,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAgD5G"}
@@ -1,215 +0,0 @@
1
- /**
2
- * Flutter steps: flutter-installer, flutter-build, flutter-test
3
- */
4
- import { BaseStepExecutor } from './base.js';
5
- /**
6
- * Installs or activates a specific Flutter SDK version.
7
- */
8
- export class FlutterInstallerStepExecutor extends BaseStepExecutor {
9
- getValidationRequirements(_inputs, _env, _config) {
10
- return [];
11
- }
12
- getOutputs() {
13
- return [
14
- { name: 'CIBUILD_FLUTTER_SDK_PATH', type: 'environment', description: 'Path to the installed Flutter SDK' },
15
- ];
16
- }
17
- async execute(inputs, _env, _config) {
18
- const stepName = 'flutter-installer';
19
- const version = this.getInput(inputs, 'version', 'stable');
20
- const installPath = this.getInput(inputs, 'installation_path', '$HOME/flutter');
21
- const commands = [];
22
- commands.push('# flutter-installer — install or activate Flutter SDK');
23
- commands.push('echo "🐦 Installing Flutter SDK..."');
24
- commands.push('');
25
- commands.push(`FLUTTER_VERSION='${this.escapeBash(version)}'`);
26
- commands.push(`INSTALL_PATH='${this.escapeBash(installPath)}'`);
27
- commands.push('');
28
- // Check if Flutter is already installed at the path
29
- commands.push('if [ -d "$INSTALL_PATH" ] && [ -x "$INSTALL_PATH/bin/flutter" ]; then');
30
- commands.push(' echo "Flutter SDK found at $INSTALL_PATH"');
31
- commands.push(' CURRENT_VERSION=$("$INSTALL_PATH/bin/flutter" --version 2>/dev/null | head -1 || echo "unknown")');
32
- commands.push(' echo "Current version: $CURRENT_VERSION"');
33
- commands.push('else');
34
- commands.push(' echo "Installing Flutter SDK to $INSTALL_PATH..."');
35
- commands.push(' git clone https://github.com/flutter/flutter.git -b "$FLUTTER_VERSION" "$INSTALL_PATH" 2>/dev/null || {');
36
- commands.push(' echo "Channel clone failed, trying as version tag..."');
37
- commands.push(' git clone https://github.com/flutter/flutter.git "$INSTALL_PATH"');
38
- commands.push(' cd "$INSTALL_PATH" && git checkout "$FLUTTER_VERSION" && cd -');
39
- commands.push(' }');
40
- commands.push('fi');
41
- commands.push('');
42
- // Add to PATH
43
- commands.push('# Add Flutter to PATH');
44
- commands.push('export PATH="$INSTALL_PATH/bin:$INSTALL_PATH/bin/cache/dart-sdk/bin:$PATH"');
45
- commands.push('envman add --key PATH --value "$INSTALL_PATH/bin:$INSTALL_PATH/bin/cache/dart-sdk/bin:$PATH"');
46
- commands.push('');
47
- // Switch channel/version if needed
48
- commands.push('# Switch to requested version/channel');
49
- commands.push('case "$FLUTTER_VERSION" in');
50
- commands.push(' stable|beta|master|dev)');
51
- commands.push(' flutter channel "$FLUTTER_VERSION"');
52
- commands.push(' flutter upgrade');
53
- commands.push(' ;;');
54
- commands.push('esac');
55
- commands.push('');
56
- // Pre-cache and doctor
57
- commands.push('flutter precache');
58
- commands.push('flutter doctor -v');
59
- commands.push('');
60
- // Export SDK path
61
- commands.push('envman add --key CIBUILD_FLUTTER_SDK_PATH --value "$INSTALL_PATH"');
62
- commands.push('echo "✅ Flutter SDK ready: $(flutter --version | head -1)"');
63
- const script = this.createBashScriptFromCommands(commands, stepName);
64
- return this.createScriptStep(script, stepName);
65
- }
66
- }
67
- /**
68
- * Builds a Flutter project for iOS and/or Android.
69
- */
70
- export class FlutterBuildStepExecutor extends BaseStepExecutor {
71
- getValidationRequirements(_inputs, _env, _config) {
72
- return [
73
- this.requireCommand('flutter', 'Flutter SDK is required (use flutter-installer step)'),
74
- ];
75
- }
76
- getOutputs() {
77
- return [
78
- { name: 'CIBUILD_APK_PATH', type: 'environment', description: 'Path to the built APK' },
79
- { name: 'CIBUILD_AAB_PATH', type: 'environment', description: 'Path to the built AAB' },
80
- { name: 'CIBUILD_APP_DIR_PATH', type: 'environment', description: 'Path to the built .app directory' },
81
- ];
82
- }
83
- async execute(inputs, _env, _config) {
84
- const stepName = 'flutter-build';
85
- const projectLocation = this.getInput(inputs, 'project_location', '.');
86
- const platform = this.getInput(inputs, 'platform', 'both');
87
- const additionalParams = this.getInput(inputs, 'additional_build_params', '');
88
- const iosOutputType = this.getInput(inputs, 'ios_output_type', 'app');
89
- const androidOutputType = this.getInput(inputs, 'android_output_type', 'apk');
90
- const iosParams = this.getInput(inputs, 'ios_additional_params', '--release');
91
- const androidParams = this.getInput(inputs, 'android_additional_params', '--release');
92
- const debug = this.getInput(inputs, 'is_debug_mode', 'false') === 'true';
93
- const commands = [];
94
- commands.push('# flutter-build — build Flutter project');
95
- commands.push('echo "🔨 Building Flutter project..."');
96
- commands.push('');
97
- commands.push(`cd '${this.escapeBash(projectLocation)}'`);
98
- commands.push('');
99
- // Fetch dependencies
100
- commands.push('flutter pub get');
101
- commands.push('');
102
- if (debug) {
103
- commands.push('set -x');
104
- commands.push('');
105
- }
106
- const commonParams = additionalParams ? ` ${additionalParams}` : '';
107
- // iOS build
108
- if (platform === 'ios' || platform === 'both') {
109
- commands.push('# Build iOS');
110
- const iosCmd = iosOutputType === 'archive' ? 'ipa' : 'ios';
111
- const iosFlags = iosParams ? ` ${iosParams}` : '';
112
- commands.push(`echo "Building iOS (${iosCmd})..."`);
113
- commands.push(`flutter build ${iosCmd}${iosFlags}${commonParams} --no-codesign`);
114
- commands.push('');
115
- // Find output
116
- if (iosOutputType === 'archive') {
117
- commands.push('XCARCHIVE=$(find build/ios/archive -name "*.xcarchive" 2>/dev/null | head -1)');
118
- commands.push('if [ -n "$XCARCHIVE" ]; then');
119
- commands.push(' envman add --key CIBUILD_XCARCHIVE_PATH --value "$XCARCHIVE"');
120
- commands.push(' echo "iOS archive: $XCARCHIVE"');
121
- commands.push('fi');
122
- }
123
- else {
124
- commands.push('APP_DIR=$(find build/ios/iphoneos -name "*.app" 2>/dev/null | head -1)');
125
- commands.push('if [ -n "$APP_DIR" ]; then');
126
- commands.push(' envman add --key CIBUILD_APP_DIR_PATH --value "$APP_DIR"');
127
- commands.push(' echo "iOS app: $APP_DIR"');
128
- commands.push('fi');
129
- }
130
- commands.push('');
131
- }
132
- // Android build
133
- if (platform === 'android' || platform === 'both') {
134
- commands.push('# Build Android');
135
- const androidCmd = androidOutputType === 'appbundle' ? 'appbundle' : 'apk';
136
- const androidFlags = androidParams ? ` ${androidParams}` : '';
137
- commands.push(`echo "Building Android (${androidCmd})..."`);
138
- commands.push(`flutter build ${androidCmd}${androidFlags}${commonParams}`);
139
- commands.push('');
140
- // Find output
141
- if (androidOutputType === 'appbundle') {
142
- commands.push('AAB_PATH=$(find build/app/outputs/bundle -name "*.aab" 2>/dev/null | head -1)');
143
- commands.push('if [ -n "$AAB_PATH" ]; then');
144
- commands.push(' envman add --key CIBUILD_AAB_PATH --value "$AAB_PATH"');
145
- commands.push(' echo "Android AAB: $AAB_PATH"');
146
- commands.push('fi');
147
- }
148
- else {
149
- commands.push('APK_PATH=$(find build/app/outputs/apk -name "*.apk" 2>/dev/null | head -1)');
150
- commands.push('if [ -n "$APK_PATH" ]; then');
151
- commands.push(' envman add --key CIBUILD_APK_PATH --value "$APK_PATH"');
152
- commands.push(' echo "Android APK: $APK_PATH"');
153
- commands.push('fi');
154
- }
155
- commands.push('');
156
- }
157
- commands.push('echo "✅ Flutter build complete"');
158
- const script = this.createBashScriptFromCommands(commands, stepName);
159
- return this.createScriptStep(script, stepName);
160
- }
161
- }
162
- /**
163
- * Runs flutter test with optional coverage.
164
- */
165
- export class FlutterTestStepExecutor extends BaseStepExecutor {
166
- getValidationRequirements(_inputs, _env, _config) {
167
- return [
168
- this.requireCommand('flutter', 'Flutter SDK is required (use flutter-installer step)'),
169
- ];
170
- }
171
- getOutputs() {
172
- return [
173
- { name: 'CIBUILD_FLUTTER_COVERAGE_PATH', type: 'environment', description: 'Path to lcov.info coverage file' },
174
- ];
175
- }
176
- async execute(inputs, _env, _config) {
177
- const stepName = 'flutter-test';
178
- const projectLocation = this.getInput(inputs, 'project_location', '.');
179
- const additionalParams = this.getInput(inputs, 'additional_params', '');
180
- const coverage = this.getInput(inputs, 'generate_code_coverage_files', 'false') === 'true';
181
- const commands = [];
182
- commands.push('# flutter-test — run Flutter tests');
183
- commands.push('echo "🧪 Running Flutter tests..."');
184
- commands.push('');
185
- commands.push(`cd '${this.escapeBash(projectLocation)}'`);
186
- commands.push('');
187
- commands.push('flutter pub get');
188
- commands.push('');
189
- // Build test command
190
- const flags = [];
191
- if (coverage) {
192
- flags.push('--coverage');
193
- }
194
- if (additionalParams) {
195
- flags.push(additionalParams);
196
- }
197
- const flagStr = flags.length > 0 ? ` ${flags.join(' ')}` : '';
198
- commands.push(`flutter test${flagStr}`);
199
- commands.push('');
200
- // Export coverage path if generated
201
- if (coverage) {
202
- commands.push('# Export coverage file path');
203
- commands.push('COVERAGE_FILE="coverage/lcov.info"');
204
- commands.push('if [ -f "$COVERAGE_FILE" ]; then');
205
- commands.push(' envman add --key CIBUILD_FLUTTER_COVERAGE_PATH --value "$(pwd)/$COVERAGE_FILE"');
206
- commands.push(' echo "Coverage report: $COVERAGE_FILE"');
207
- commands.push('fi');
208
- commands.push('');
209
- }
210
- commands.push('echo "✅ Flutter tests passed"');
211
- const script = this.createBashScriptFromCommands(commands, stepName);
212
- return this.createScriptStep(script, stepName);
213
- }
214
- }
215
- //# sourceMappingURL=flutter.js.map
@@ -1,16 +0,0 @@
1
- /**
2
- * `git-clone` reads none of its inputs, and said nothing about it.
3
- *
4
- * The step does not clone. By the time it runs, the runner has already checked
5
- * the dispatched ref out — `git-clone` locates that checkout and republishes
6
- * its commit metadata. `execute()` takes `_inputs` and never opens it. So
7
- * `branch: release/2.0` parsed, validated, ran green, and built `main`; a
8
- * Bitrise-migrated `git-clone@8` carried `clone_depth: 0`, `fetch_tags` and
9
- * `submodule_update_depth` through the converter and into nothing.
10
- *
11
- * Accepting configuration that has no effect is the defect. The step now names
12
- * every input it was handed, at warning severity: every pipeline written to
13
- * date carries some of these, and all of them must keep building.
14
- */
15
- import './index.js';
16
- //# sourceMappingURL=git-clone-names-the-inputs-it-ignores.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-clone-names-the-inputs-it-ignores.test.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,YAAY,CAAC"}
@@ -1,127 +0,0 @@
1
- /**
2
- * `git-clone` reads none of its inputs, and said nothing about it.
3
- *
4
- * The step does not clone. By the time it runs, the runner has already checked
5
- * the dispatched ref out — `git-clone` locates that checkout and republishes
6
- * its commit metadata. `execute()` takes `_inputs` and never opens it. So
7
- * `branch: release/2.0` parsed, validated, ran green, and built `main`; a
8
- * Bitrise-migrated `git-clone@8` carried `clone_depth: 0`, `fetch_tags` and
9
- * `submodule_update_depth` through the converter and into nothing.
10
- *
11
- * Accepting configuration that has no effect is the defect. The step now names
12
- * every input it was handed, at warning severity: every pipeline written to
13
- * date carries some of these, and all of them must keep building.
14
- */
15
- import { describe, test, expect } from '@jest/globals';
16
- import './index.js';
17
- import { GitCloneStepExecutor } from './git-clone.js';
18
- import { testConfig } from './test-config.js';
19
- import { StepValidator } from '../step-validator.js';
20
- import { loadConfig } from '../../config.js';
21
- const config = loadConfig();
22
- /** A one-step workflow, so the only issues are `git-clone`'s. */
23
- function clonePipeline(inputs) {
24
- return {
25
- format_version: '1',
26
- meta: { invarn: { stack: 'macos-xcode-26.4' } },
27
- workflows: {
28
- primary: {
29
- steps: [{ 'git-clone@1.0.0': { inputs } }],
30
- },
31
- },
32
- };
33
- }
34
- async function validate(inputs) {
35
- const validator = new StepValidator(clonePipeline(inputs), 'primary', config);
36
- return validator.validateWorkflow();
37
- }
38
- function warningsOf(issues) {
39
- return issues.filter((i) => i.requirement.severity === 'warning');
40
- }
41
- /** Everything the warning puts in front of a reader, as one string. */
42
- function textOf(issue) {
43
- return [
44
- issue.requirement.description,
45
- issue.result.message ?? '',
46
- issue.requirement.hint ?? '',
47
- ].join('\n');
48
- }
49
- describe('git-clone names the inputs it ignores', () => {
50
- test('a step given nothing says nothing', async () => {
51
- const result = await validate({});
52
- expect(warningsOf(result.issues)).toHaveLength(0);
53
- expect(result.counts.warnings).toBe(0);
54
- });
55
- test('one warning names every input present', async () => {
56
- const result = await validate({ branch: 'release/2.0', clone_depth: 50 });
57
- const warnings = warningsOf(result.issues);
58
- expect(warnings).toHaveLength(1);
59
- const text = textOf(warnings[0]);
60
- expect(text).toContain('branch');
61
- expect(text).toContain('clone_depth');
62
- });
63
- test('each of the five declared inputs raises the warning on its own', async () => {
64
- for (const input of [
65
- 'repository',
66
- 'clone_url',
67
- 'branch',
68
- 'clone_depth',
69
- 'clone_into_dir',
70
- ]) {
71
- const result = await validate({ [input]: 'anything' });
72
- const warnings = warningsOf(result.issues);
73
- expect(warnings).toHaveLength(1);
74
- expect(textOf(warnings[0])).toContain(input);
75
- }
76
- });
77
- test('an input the converter migrated from Bitrise is named too', async () => {
78
- // `git-clone@8`'s inputs survive the name split and land in `inputs`
79
- // unchanged. They are ignored exactly as thoroughly as the declared five,
80
- // so a warning that only knew the five would let these vanish quietly.
81
- const result = await validate({ fetch_tags: 'yes', submodule_update_depth: 1 });
82
- const warnings = warningsOf(result.issues);
83
- expect(warnings).toHaveLength(1);
84
- const text = textOf(warnings[0]);
85
- expect(text).toContain('fetch_tags');
86
- expect(text).toContain('submodule_update_depth');
87
- });
88
- test('the warning does not fail validation', async () => {
89
- const result = await validate({ branch: 'main', clone_depth: 1 });
90
- // Every curated template and every pipeline created before this release
91
- // carries these. An error would stop all of them building.
92
- expect(result.valid).toBe(true);
93
- expect(result.counts.errors).toBe(0);
94
- });
95
- test('the message names the mechanism rather than calling the inputs deprecated', async () => {
96
- const result = await validate({ branch: 'main' });
97
- const text = textOf(warningsOf(result.issues)[0]);
98
- // What the runner does instead — a reader must be able to act on this
99
- // without already knowing how the checkout works.
100
- expect(text).toMatch(/runner/i);
101
- expect(text).toMatch(/dispatched/i);
102
- // Since the runner learned to recurse submodules, the message can say so
103
- // honestly — and must not overclaim the rest, which is still a gap.
104
- expect(text).toMatch(/submodule/i);
105
- expect(text).toMatch(/tags/i);
106
- expect(text).not.toMatch(/deprecat/i);
107
- });
108
- test('the requirement is warning-severity and reports itself unmet', async () => {
109
- // Unit-level: the executor is what other callers reach for, and an issue
110
- // only reaches a log when the requirement's own check reports `passed:
111
- // false`. A requirement that quietly passes would print nothing.
112
- const executor = new GitCloneStepExecutor();
113
- const requirements = executor.getValidationRequirements({ branch: 'main' }, {}, testConfig);
114
- const ignored = requirements.filter((r) => r.severity === 'warning');
115
- expect(ignored).toHaveLength(1);
116
- expect(ignored[0].timing).toBe('pre-execution');
117
- const checked = await ignored[0].check();
118
- expect(checked.passed).toBe(false);
119
- });
120
- test('git is still required', async () => {
121
- const executor = new GitCloneStepExecutor();
122
- const requirements = executor.getValidationRequirements({}, {}, testConfig);
123
- expect(requirements.filter((r) => r.name === 'git' && r.severity === 'error'))
124
- .toHaveLength(1);
125
- });
126
- });
127
- //# sourceMappingURL=git-clone-names-the-inputs-it-ignores.test.js.map
@@ -1,32 +0,0 @@
1
- /**
2
- * Git clone step implementation
3
- */
4
- import { BaseStepExecutor } from './base.js';
5
- import type { StepDef, CIConfig } from '../../types.js';
6
- import type { ValidationRequirement, StepOutput } from '../validation-types.js';
7
- /**
8
- * Inputs for git-clone step
9
- */
10
- export interface GitCloneInputs {
11
- repository?: string;
12
- clone_url?: string;
13
- branch?: string;
14
- clone_depth?: number;
15
- clone_into_dir?: string;
16
- }
17
- /**
18
- * git-clone step executor.
19
- *
20
- * Does not clone. The source is already on disk when this runs — on a runner
21
- * the dispatched commit was checked out before cibuild started (see
22
- * cibuild-runner's GitCloneRunner); locally it is the developer's working copy.
23
- * The step locates that checkout and republishes its commit metadata. Every
24
- * input in GitCloneInputs is accepted so existing YAML keeps parsing, and none
25
- * of them is read.
26
- */
27
- export declare class GitCloneStepExecutor extends BaseStepExecutor {
28
- getValidationRequirements(inputs: GitCloneInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
29
- getOutputs(): StepOutput[];
30
- execute(_inputs: GitCloneInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
31
- }
32
- //# sourceMappingURL=git-clone.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-clone.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/git-clone.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkCD;;;;;;;;;GASG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,yBAAyB,CACvB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAsC1B,UAAU,IAAI,UAAU,EAAE;IAkDpB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAqD1G"}