@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,13 +0,0 @@
1
- /**
2
- * Unit tests for the YAML scaffold generators in build.ts.
3
- *
4
- * `generateIosPipeline` and `generateAndroidPipeline` are pure
5
- * functions today (input → YAML string), so we drive them directly
6
- * rather than through the interactive `handleBuildCommand` shell.
7
- *
8
- * Focus is the meta-namespace flip: standalone `cibuild` callers get
9
- * `meta.cibuild.io:` (default), while invarn-CLI-routed calls pass
10
- * `metaNamespace: 'invarn'` and get `meta.invarn:`.
11
- */
12
- export {};
13
- //# sourceMappingURL=build.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.test.d.ts","sourceRoot":"","sources":["../../../src/commands/build.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -1,121 +0,0 @@
1
- /**
2
- * Unit tests for the YAML scaffold generators in build.ts.
3
- *
4
- * `generateIosPipeline` and `generateAndroidPipeline` are pure
5
- * functions today (input → YAML string), so we drive them directly
6
- * rather than through the interactive `handleBuildCommand` shell.
7
- *
8
- * Focus is the meta-namespace flip: standalone `cibuild` callers get
9
- * `meta.cibuild.io:` (default), while invarn-CLI-routed calls pass
10
- * `metaNamespace: 'invarn'` and get `meta.invarn:`.
11
- */
12
- import { describe, test, expect } from '@jest/globals';
13
- import { load } from 'js-yaml';
14
- import { generateIosPipeline, generateAndroidPipeline, } from './build.js';
15
- const parse = (yaml) => load(yaml);
16
- const iosSetup = {
17
- cocoaPods: false,
18
- codeSigning: false,
19
- appStoreDeploy: false,
20
- bundleId: 'com.example.app',
21
- };
22
- const iosVariants = {
23
- primary: { scheme: 'MyApp', configuration: 'Debug', distributionMethod: 'development' },
24
- pullRequest: { scheme: 'MyApp', configuration: 'Debug', distributionMethod: 'development' },
25
- release: { scheme: 'MyApp', configuration: 'Release', distributionMethod: 'app-store' },
26
- };
27
- describe('generateIosPipeline — meta namespace', () => {
28
- test('emits meta.cibuild.io: by default (standalone cibuild path)', () => {
29
- const yaml = generateIosPipeline('./MyApp', iosSetup, iosVariants);
30
- expect(yaml).toContain('meta:\n cibuild.io:\n');
31
- expect(yaml).not.toContain('meta:\n invarn:\n');
32
- });
33
- test('emits meta.cibuild.io: when explicitly passed "cibuild.io"', () => {
34
- const yaml = generateIosPipeline('./MyApp', iosSetup, iosVariants, 'cibuild.io');
35
- expect(yaml).toContain('meta:\n cibuild.io:\n');
36
- expect(yaml).not.toContain('meta:\n invarn:\n');
37
- });
38
- test('emits meta.invarn: when explicitly passed "invarn" (invarn-CLI path)', () => {
39
- const yaml = generateIosPipeline('./MyApp', iosSetup, iosVariants, 'invarn');
40
- expect(yaml).toContain('meta:\n invarn:\n');
41
- expect(yaml).not.toContain('meta:\n cibuild.io:\n');
42
- });
43
- });
44
- describe('generateAndroidPipeline — meta namespace', () => {
45
- test('emits meta.cibuild.io: by default (standalone cibuild path)', () => {
46
- const yaml = generateAndroidPipeline();
47
- expect(yaml).toContain('meta:\n cibuild.io:\n');
48
- expect(yaml).not.toContain('meta:\n invarn:\n');
49
- });
50
- test('emits meta.cibuild.io: when explicitly passed "cibuild.io"', () => {
51
- const yaml = generateAndroidPipeline(17, undefined, undefined, 'gradle', 'cibuild.io');
52
- expect(yaml).toContain('meta:\n cibuild.io:\n');
53
- expect(yaml).not.toContain('meta:\n invarn:\n');
54
- });
55
- test('emits meta.invarn: when explicitly passed "invarn" (invarn-CLI path)', () => {
56
- const yaml = generateAndroidPipeline(17, undefined, undefined, 'gradle', 'invarn');
57
- expect(yaml).toContain('meta:\n invarn:\n');
58
- expect(yaml).not.toContain('meta:\n cibuild.io:\n');
59
- });
60
- });
61
- /**
62
- * A generated pipeline with no `trigger_map` is inert on the Invarn side:
63
- * the webhook handler skips any pipeline whose YAML has none, so a repo
64
- * scaffolded by `ci build` receives pushes and builds nothing, with no
65
- * error anywhere to explain it.
66
- *
67
- * Both generators emit `primary`, `pull-request` and `release`. Pushes go to
68
- * `primary`, pull requests to `pull-request`, and `release` stays manual —
69
- * it deploys to Google Play / App Store and must never fire off a push.
70
- */
71
- describe.each([
72
- ['generateIosPipeline', (branch) => generateIosPipeline('./MyApp', iosSetup, iosVariants, 'cibuild.io', branch)],
73
- ['generateAndroidPipeline', (branch) => generateAndroidPipeline(17, undefined, undefined, 'gradle', 'cibuild.io', branch)],
74
- ])('%s — trigger_map', (_name, generate) => {
75
- test('emits a trigger_map', () => {
76
- const doc = parse(generate());
77
- expect(Array.isArray(doc.trigger_map)).toBe(true);
78
- expect(doc.trigger_map.length).toBeGreaterThan(0);
79
- });
80
- test('every rule names a workflow the pipeline actually declares', () => {
81
- const doc = parse(generate());
82
- const declared = Object.keys(doc.workflows ?? {});
83
- for (const rule of doc.trigger_map) {
84
- expect(declared).toContain(rule.workflow);
85
- }
86
- });
87
- test('routes a push to primary and a pull request to pull-request', () => {
88
- const doc = parse(generate());
89
- const push = doc.trigger_map.find((r) => r.push_branch !== undefined);
90
- const pr = doc.trigger_map.find((r) => r.pull_request_target_branch !== undefined);
91
- expect(push?.workflow).toBe('primary');
92
- expect(pr?.workflow).toBe('pull-request');
93
- });
94
- test('never fires release off a webhook', () => {
95
- const doc = parse(generate());
96
- expect(doc.trigger_map.map((r) => r.workflow)).not.toContain('release');
97
- });
98
- test('defaults the push branch to main', () => {
99
- const doc = parse(generate());
100
- const push = doc.trigger_map.find((r) => r.push_branch !== undefined);
101
- expect(push?.push_branch).toBe('main');
102
- });
103
- test('keys the push branch to the branch it is given', () => {
104
- const doc = parse(generate('develop'));
105
- const push = doc.trigger_map.find((r) => r.push_branch !== undefined);
106
- expect(push?.push_branch).toBe('develop');
107
- });
108
- test('survives a branch name containing a slash', () => {
109
- const doc = parse(generate('release/1.0'));
110
- const push = doc.trigger_map.find((r) => r.push_branch !== undefined);
111
- expect(push?.push_branch).toBe('release/1.0');
112
- });
113
- test('still parses when the branch name would otherwise read as a YAML bool', () => {
114
- // `push_branch: no` parses as `false` unquoted. Git allows a branch
115
- // called `no`, so the value has to be quoted on the way out.
116
- const doc = parse(generate('no'));
117
- const push = doc.trigger_map.find((r) => r.push_branch !== undefined);
118
- expect(push?.push_branch).toBe('no');
119
- });
120
- });
121
- //# sourceMappingURL=build.test.js.map
@@ -1,13 +0,0 @@
1
- export interface DetectPlatformOptions {
2
- pipelinePath: string;
3
- workflow?: string;
4
- }
5
- /**
6
- * Detect the target platform / stack / machine type for a workflow in a
7
- * YAML pipeline. Mirrors `ci detect-platform <path>`.
8
- *
9
- * Exits the process on error or cancellation (matches legacy behavior so
10
- * exit codes propagate cleanly to the caller).
11
- */
12
- export declare function handleDetectPlatformCommand(opts: DetectPlatformOptions): Promise<void>;
13
- //# sourceMappingURL=detect-platform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-platform.d.ts","sourceRoot":"","sources":["../../../src/commands/detect-platform.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
@@ -1,51 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { extname } from "node:path";
3
- import { loadYAMLPipeline } from "../yaml/parser.js";
4
- import { detectPlatformInfo } from "../yaml/platform-detector.js";
5
- import { promptForWorkflow } from "../shared/prompts.js";
6
- /**
7
- * Detect the target platform / stack / machine type for a workflow in a
8
- * YAML pipeline. Mirrors `ci detect-platform <path>`.
9
- *
10
- * Exits the process on error or cancellation (matches legacy behavior so
11
- * exit codes propagate cleanly to the caller).
12
- */
13
- export async function handleDetectPlatformCommand(opts) {
14
- const { pipelinePath } = opts;
15
- if (!existsSync(pipelinePath)) {
16
- console.error(`Error: Pipeline file not found: ${pipelinePath}`);
17
- process.exit(1);
18
- }
19
- const fileExt = extname(pipelinePath).toLowerCase();
20
- if (fileExt !== ".yml" && fileExt !== ".yaml") {
21
- console.error("Error: detect-platform only works with YAML pipeline files (.yml, .yaml)");
22
- process.exit(1);
23
- }
24
- try {
25
- const yamlPipeline = loadYAMLPipeline(pipelinePath);
26
- let selectedWorkflow = opts.workflow;
27
- if (!selectedWorkflow) {
28
- const workflows = Object.keys(yamlPipeline.workflows);
29
- selectedWorkflow = await promptForWorkflow(workflows);
30
- if (!selectedWorkflow) {
31
- process.exit(1);
32
- }
33
- }
34
- const platformInfo = detectPlatformInfo(yamlPipeline, selectedWorkflow);
35
- console.log(`\nPlatform Detection Results:`);
36
- console.log(`─────────────────────────────`);
37
- console.log(`Pipeline: ${pipelinePath}`);
38
- console.log(`Workflow: ${selectedWorkflow}`);
39
- console.log(`Platform: ${platformInfo.platform}`);
40
- console.log(`Stack: ${platformInfo.stack || "N/A"}`);
41
- console.log(`Machine Type: ${platformInfo.machineType || "N/A"}`);
42
- console.log();
43
- process.exit(0);
44
- }
45
- catch (error) {
46
- console.error("\n✗ Platform detection failed:");
47
- console.error(error instanceof Error ? error.message : String(error));
48
- process.exit(1);
49
- }
50
- }
51
- //# sourceMappingURL=detect-platform.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * Print the detected mobile project type (android | ios | kmm) to stdout,
3
- * or `unknown` if no mobile project is detected. Exits 0 on success, 1
4
- * when nothing matched.
5
- */
6
- export declare function handleDetectProjectCommand(): Promise<void>;
7
- //# sourceMappingURL=detect-project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-project.d.ts","sourceRoot":"","sources":["../../../src/commands/detect-project.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhE"}
@@ -1,12 +0,0 @@
1
- import { detectMobileProjectRoot } from "../shared/detect-project.js";
2
- /**
3
- * Print the detected mobile project type (android | ios | kmm) to stdout,
4
- * or `unknown` if no mobile project is detected. Exits 0 on success, 1
5
- * when nothing matched.
6
- */
7
- export async function handleDetectProjectCommand() {
8
- const projectType = detectMobileProjectRoot(process.cwd());
9
- console.log(projectType ?? "unknown");
10
- process.exit(projectType ? 0 : 1);
11
- }
12
- //# sourceMappingURL=detect-project.js.map
@@ -1,26 +0,0 @@
1
- /**
2
- * `ci init` asks once per flavor for the properties file the Secrets Gradle
3
- * Plugin reads, and stores the answer against that flavor's workflows.
4
- *
5
- * The generator now declares this credential once per workflow when the
6
- * workflows build different flavors, because two flavors are two environments
7
- * and one value cannot serve both. Collection had not moved: `collectFileSecret`
8
- * was called with a single group labelled *"every workflow"*, so `ci init`
9
- * asked once and stored the same bytes against `primary`, `pull-request` and
10
- * `release`. The declaration would then say three values are needed and the
11
- * store would hold one, three times.
12
- *
13
- * The machinery for this was already there. `collectFileSecret` takes
14
- * `workflowGroups`, prompts per group, and stores per workflow — that is how
15
- * the keystore has always collected a debug key and a release key separately.
16
- * The properties file was the one credential passing it a single group.
17
- *
18
- * What matters more than the split is that it is the *same* split: `ci init`
19
- * groups by exactly the discriminator `credentialSlots` declares by, so the
20
- * question asked and the slot declared cannot drift apart. One group means one
21
- * slot and one question; two groups mean one slot per workflow and a question
22
- * per group. That invariant is asserted directly rather than left to two
23
- * copies of the same rule staying in step.
24
- */
25
- export {};
26
- //# sourceMappingURL=each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"each-flavor-is-asked-for-its-own-properties-file.test.d.ts","sourceRoot":"","sources":["../../../src/commands/each-flavor-is-asked-for-its-own-properties-file.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -1,196 +0,0 @@
1
- /**
2
- * `ci init` asks once per flavor for the properties file the Secrets Gradle
3
- * Plugin reads, and stores the answer against that flavor's workflows.
4
- *
5
- * The generator now declares this credential once per workflow when the
6
- * workflows build different flavors, because two flavors are two environments
7
- * and one value cannot serve both. Collection had not moved: `collectFileSecret`
8
- * was called with a single group labelled *"every workflow"*, so `ci init`
9
- * asked once and stored the same bytes against `primary`, `pull-request` and
10
- * `release`. The declaration would then say three values are needed and the
11
- * store would hold one, three times.
12
- *
13
- * The machinery for this was already there. `collectFileSecret` takes
14
- * `workflowGroups`, prompts per group, and stores per workflow — that is how
15
- * the keystore has always collected a debug key and a release key separately.
16
- * The properties file was the one credential passing it a single group.
17
- *
18
- * What matters more than the split is that it is the *same* split: `ci init`
19
- * groups by exactly the discriminator `credentialSlots` declares by, so the
20
- * question asked and the slot declared cannot drift apart. One group means one
21
- * slot and one question; two groups mean one slot per workflow and a question
22
- * per group. That invariant is asserted directly rather than left to two
23
- * copies of the same rule staying in step.
24
- */
25
- import { describe, test, expect, beforeEach, afterEach } from '@jest/globals';
26
- import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
27
- import { tmpdir } from 'node:os';
28
- import { join, resolve } from 'node:path';
29
- import prompts from 'prompts';
30
- import { collectionGroups, credentialSlots, propertiesFileGroups, variantFlavors, } from './build.js';
31
- import { collectFileSecret } from './file-secret-collector.js';
32
- import { SecretsManager } from '../yaml/secrets-manager.js';
33
- function variant(name) {
34
- const buildType = name.charAt(0).toUpperCase() + name.slice(1);
35
- return { variant: name, buildType, gradleTask: `assemble${buildType}` };
36
- }
37
- const FLAVORED = {
38
- primary: variant('ciDynamicDebug'),
39
- pullRequest: variant('ciDynamicDebug'),
40
- release: variant('prodRelease'),
41
- };
42
- const UNFLAVORED = {
43
- primary: variant('debug'),
44
- pullRequest: variant('debug'),
45
- release: variant('release'),
46
- };
47
- const FLAVORS = ['ciDynamic', 'prod'];
48
- const CI_DYNAMIC = 'BASE_API_URL=https://ci-dynamic.example.test/api\n';
49
- const PROD = 'BASE_API_URL=https://prod.example.test/api\n';
50
- describe('the groups a credential is collected in', () => {
51
- test('are one when every workflow wants the same bytes', () => {
52
- const groups = collectionGroups({ primary: 'ciDynamic', 'pull-request': 'ciDynamic', release: 'ciDynamic' }, () => 'every workflow');
53
- expect(groups).toEqual([
54
- { label: 'every workflow', workflows: ['primary', 'pull-request', 'release'], discriminator: 'ciDynamic' },
55
- ]);
56
- });
57
- test('are one per distinct value, keeping the workflows that agree together', () => {
58
- const groups = collectionGroups({ primary: 'ciDynamic', 'pull-request': 'ciDynamic', release: 'prod' }, (flavor) => flavor);
59
- expect(groups).toEqual([
60
- { label: 'ciDynamic', workflows: ['primary', 'pull-request'], discriminator: 'ciDynamic' },
61
- { label: 'prod', workflows: ['release'], discriminator: 'prod' },
62
- ]);
63
- });
64
- test('split exactly when the declaration splits', () => {
65
- // Two copies of one rule is one copy too many. If these ever disagree,
66
- // `ci init` asks a question the pipeline has no slot for, or declares a
67
- // slot nothing on the machine was ever collected into.
68
- const maps = [
69
- { primary: '', 'pull-request': '', release: '' },
70
- { primary: 'ciDynamic', 'pull-request': 'ciDynamic', release: 'prod' },
71
- { primary: 'a', 'pull-request': 'b', release: 'c' },
72
- { release: 'keystore.properties' },
73
- { primary: 'app/one.jks', 'pull-request': 'app/one.jks', release: 'app/one.jks' },
74
- ];
75
- expect(maps.map((map) => ({
76
- groups: collectionGroups(map, (d) => d).length === 1,
77
- oneFlatSlot: credentialSlots('X', map).length === 1,
78
- }))).toEqual([
79
- { groups: true, oneFlatSlot: true },
80
- { groups: false, oneFlatSlot: false },
81
- { groups: false, oneFlatSlot: false },
82
- { groups: true, oneFlatSlot: true },
83
- { groups: true, oneFlatSlot: true },
84
- ]);
85
- });
86
- });
87
- describe('the groups the properties file is collected in', () => {
88
- test('are one per flavor, and say which flavor', () => {
89
- const groups = propertiesFileGroups(variantFlavors(FLAVORED, FLAVORS));
90
- expect(groups.map((g) => ({ label: g.label, workflows: g.workflows }))).toEqual([
91
- { label: 'the ciDynamic flavor (primary, pull-request)', workflows: ['primary', 'pull-request'] },
92
- { label: 'the prod flavor (release)', workflows: ['release'] },
93
- ]);
94
- });
95
- test('are one, labelled as they were, on a repository with no flavors', () => {
96
- // The label is what the prompt says out loud, and this is the wording
97
- // every unflavored repository has always seen.
98
- expect(propertiesFileGroups(variantFlavors(UNFLAVORED, []))).toEqual([
99
- { label: 'every workflow', workflows: ['primary', 'pull-request', 'release'], discriminator: '' },
100
- ]);
101
- });
102
- test('are one when three workflows build three variants of one flavor', () => {
103
- const oneFlavor = {
104
- primary: variant('ciDynamicDebug'),
105
- pullRequest: variant('ciDynamicDebug'),
106
- release: variant('ciDynamicRelease'),
107
- };
108
- expect(propertiesFileGroups(variantFlavors(oneFlavor, FLAVORS))).toHaveLength(1);
109
- });
110
- });
111
- describe('collecting a value for each group', () => {
112
- let workdir;
113
- let secretsManager;
114
- // `prompts.inject` *concatenates*, so an empty array clears nothing and a
115
- // sentinel one test leaves queued becomes the next test's answer. The queue
116
- // itself is the only reset there is.
117
- const clearInjected = () => {
118
- prompts._injected = undefined;
119
- };
120
- beforeEach(() => {
121
- clearInjected();
122
- workdir = mkdtempSync(join(tmpdir(), 'cibuild-flavor-properties-'));
123
- workdir = resolve(workdir);
124
- secretsManager = new SecretsManager(join(workdir, '.cibuild-secrets.json'));
125
- });
126
- afterEach(() => {
127
- clearInjected();
128
- rmSync(workdir, { recursive: true, force: true });
129
- });
130
- function put(relPath, contents) {
131
- const full = join(workdir, relPath);
132
- mkdirSync(join(full, '..'), { recursive: true });
133
- writeFileSync(full, contents, 'utf-8');
134
- return full;
135
- }
136
- async function collect(groups, ni = false) {
137
- return collectFileSecret({
138
- displayName: 'local.properties',
139
- secretName: 'LOCAL_PROPERTIES',
140
- fileMatch: (name) => name === 'local.properties',
141
- readAs: 'text',
142
- workflowGroups: groups,
143
- }, workdir, secretsManager, ni);
144
- }
145
- test('stores a different value against the workflows of each flavor', async () => {
146
- const ciDynamicFile = put('local.properties', CI_DYNAMIC);
147
- const prodFile = put('envs/prod/local.properties', PROD);
148
- prompts.inject([ciDynamicFile, prodFile]);
149
- await collect(propertiesFileGroups(variantFlavors(FLAVORED, FLAVORS)));
150
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'primary')).toBe(CI_DYNAMIC);
151
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'pull-request')).toBe(CI_DYNAMIC);
152
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'release')).toBe(PROD);
153
- });
154
- test('stores them where `ci secrets upload` will encode them per workflow', async () => {
155
- const ciDynamicFile = put('local.properties', CI_DYNAMIC);
156
- const prodFile = put('envs/prod/local.properties', PROD);
157
- prompts.inject([ciDynamicFile, prodFile]);
158
- await collect(propertiesFileGroups(variantFlavors(FLAVORED, FLAVORS)));
159
- // Not `global`. A global value would satisfy all three workflows and the
160
- // upload would push one flat key, which is the bug this closes.
161
- const stored = JSON.parse(readFileSync(join(workdir, '.cibuild-secrets.json'), 'utf-8'));
162
- expect(stored.global).toEqual({});
163
- expect(Object.keys(stored.workflows).sort()).toEqual(['primary', 'pull-request', 'release']);
164
- });
165
- test('asks nothing at all when one group meets one file', async () => {
166
- // Today's behaviour on every unflavored repository, unchanged: a single
167
- // group and a single candidate auto-apply. The injected answer is
168
- // unreadable on purpose — if a prompt fired, nothing would be stored.
169
- put('local.properties', CI_DYNAMIC);
170
- prompts.inject(['/nonexistent/would-be-a-prompt']);
171
- await collect(propertiesFileGroups(variantFlavors(UNFLAVORED, [])));
172
- for (const workflow of ['primary', 'pull-request', 'release']) {
173
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', workflow)).toBe(CI_DYNAMIC);
174
- }
175
- });
176
- test('gives every group the same file when it cannot ask', async () => {
177
- // `ci init --create` runs non-interactive. One file is all it can offer,
178
- // and a wrong-flavored properties file that the user then corrects beats
179
- // no properties file at all, which is a build that cannot configure.
180
- put('local.properties', CI_DYNAMIC);
181
- await collect(propertiesFileGroups(variantFlavors(FLAVORED, FLAVORS)), true);
182
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'primary')).toBe(CI_DYNAMIC);
183
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'release')).toBe(CI_DYNAMIC);
184
- });
185
- test('leaves a group alone once its value is already stored', async () => {
186
- put('local.properties', CI_DYNAMIC);
187
- put('envs/prod/local.properties', PROD);
188
- secretsManager.storeSecret('LOCAL_PROPERTIES', PROD, 'release');
189
- // One answer, for the one group still pending.
190
- prompts.inject([join(workdir, 'local.properties')]);
191
- await collect(propertiesFileGroups(variantFlavors(FLAVORED, FLAVORS)));
192
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'primary')).toBe(CI_DYNAMIC);
193
- expect(secretsManager.getSecret('LOCAL_PROPERTIES', 'release')).toBe(PROD);
194
- });
195
- });
196
- //# sourceMappingURL=each-flavor-is-asked-for-its-own-properties-file.test.js.map
@@ -1,12 +0,0 @@
1
- import type { YAMLPipeline } from '../yaml/types.js';
2
- import '../yaml/steps/index.js';
3
- /**
4
- * Detects the target platform of a workflow.
5
- * Checks (in order):
6
- * 1. meta.invarn.platform (preferred), falling back to meta.cibuild.io.platform
7
- * 2. Existing steps in the workflow — fallback
8
- * Returns 'ios' or 'android', or null if platform cannot be determined.
9
- */
10
- export declare function detectWorkflowPlatform(pipeline: YAMLPipeline, workflowName: string): 'ios' | 'android' | null;
11
- export declare function handleEditCommand(pipelinePath: string, workflowName?: string): Promise<void>;
12
- //# sourceMappingURL=edit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/commands/edit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE/D,OAAO,wBAAwB,CAAC;AAsShC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAgB7G;AAqED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Sf"}