@invarn/cibuild 2.9.5 → 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 (553) 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 -1092
  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/capture-injection.d.ts +0 -30
  339. package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/capture-injection.js +0 -88
  341. package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
  342. package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/capture-injection.test.js +0 -163
  344. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  345. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  347. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  348. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  350. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  351. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  353. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  354. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  356. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  357. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  359. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  360. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  362. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  363. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/fastlane.js +0 -79
  365. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  366. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  368. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  369. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  371. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  372. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  374. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  375. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  377. package/dist/src/yaml/steps/file.d.ts +0 -52
  378. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/file.js +0 -108
  380. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  381. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/flutter.js +0 -215
  383. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  384. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  386. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  387. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-clone.js +0 -171
  389. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  390. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  392. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  393. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  395. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  396. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  398. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  399. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  401. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  402. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  404. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -61
  405. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/gradle-memory.js +0 -386
  407. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  408. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
  410. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  411. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  413. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  414. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  416. package/dist/src/yaml/steps/index.d.ts +0 -10
  417. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/index.js +0 -1461
  419. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  420. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/ios-deps.js +0 -279
  422. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  423. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  425. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  426. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/ios-signing.js +0 -144
  428. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  429. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/ios-version.js +0 -151
  431. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  432. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  434. package/dist/src/yaml/steps/linting.d.ts +0 -47
  435. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/linting.js +0 -148
  437. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  438. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/phase2.test.js +0 -197
  440. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  441. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/phase3.test.js +0 -144
  443. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  444. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/phase4.test.js +0 -166
  446. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  447. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/phase5.test.js +0 -263
  449. package/dist/src/yaml/steps/registry.d.ts +0 -88
  450. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/registry.js +0 -125
  452. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  453. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/registry.test.js +0 -235
  455. package/dist/src/yaml/steps/release.d.ts +0 -50
  456. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/release.js +0 -154
  458. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  459. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  461. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  462. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  464. package/dist/src/yaml/steps/script.d.ts +0 -23
  465. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/script.js +0 -63
  467. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  468. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  470. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  471. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/steps.test.js +0 -881
  473. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  474. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  476. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  477. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  479. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  480. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/test-config.js +0 -25
  482. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  483. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  485. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  486. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/trim-align.js +0 -367
  488. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  489. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  491. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  492. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  494. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  495. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  497. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  498. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  500. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  501. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  503. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  504. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  506. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  507. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  509. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  510. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  512. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  513. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  515. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  516. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  518. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  519. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  521. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  522. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
  524. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  525. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  527. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  528. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  530. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  531. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  533. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  534. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  536. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  537. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  539. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  540. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  541. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  542. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  543. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  544. package/dist/src/yaml/steps/xcode.js +0 -1350
  545. package/dist/src/yaml/types.d.ts +0 -76
  546. package/dist/src/yaml/types.d.ts.map +0 -1
  547. package/dist/src/yaml/types.js +0 -5
  548. package/dist/src/yaml/validation-types.d.ts +0 -102
  549. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  550. package/dist/src/yaml/validation-types.js +0 -8
  551. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  552. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  553. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,264 +0,0 @@
1
- /**
2
- * Which scheme an iOS pipeline builds.
3
- *
4
- * It used to be the first `.xcscheme` the filesystem listed, and that has a
5
- * rule: a space (0x20) sorts before a period (0x2E), so
6
- * `"<App> <Suffix>.xcscheme"` always lists before `"<App>.xcscheme"`. An app
7
- * named after its project loses to its own extension or tvOS companion every
8
- * time. Four of the eight iOS rows that built in the thirty-app study got a
9
- * non-app scheme:
10
- *
11
- * Stay → "Stay Extension" → "There are no test bundles available to test"
12
- * Swiftfin → "Swiftfin tvOS" → "Unable to find a destination matching … iOS Simulator"
13
- * wikipedia → "ContinueReadingWidget" (masked by an earlier failure)
14
- * pocketcasts → "NotificationContent" (masked by an earlier failure)
15
- *
16
- * The `.xcscheme` XML says what each scheme is, so the ranking reads it.
17
- */
18
- import { mkdtempSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
19
- import { join } from "node:path";
20
- import { tmpdir } from "node:os";
21
- import { rankSchemes } from "./ios-scanner.js";
22
- let root;
23
- beforeEach(() => {
24
- root = mkdtempSync(join(tmpdir(), "cibuild-scheme-"));
25
- });
26
- afterEach(() => {
27
- rmSync(root, { recursive: true, force: true });
28
- });
29
- /** An `.xcscheme` with the parts the ranking reads, in Xcode's own shape. */
30
- function scheme(project, name, { runnable, testable, appExtension }) {
31
- const dir = join(root, `${project}.xcodeproj`, "xcshareddata", "xcschemes");
32
- mkdirSync(dir, { recursive: true });
33
- // A `.xcodeproj` is its `project.pbxproj`; without one Xcode refuses to open
34
- // it and the scanners now skip it, so a fixture that omits it is describing
35
- // a directory that cannot exist outside a test. Content is irrelevant here —
36
- // the scheme XML is what the ranking reads — but it has to be there.
37
- writeFileSync(join(root, `${project}.xcodeproj`, "project.pbxproj"), "// !$*UTF8*$!\n");
38
- writeFileSync(join(dir, `${name}.xcscheme`), `<?xml version="1.0" encoding="UTF-8"?>
39
- <Scheme LastUpgradeVersion = "1600"${appExtension ? `\n wasCreatedForAppExtension = "YES"` : ""} version = "1.7">
40
- <TestAction buildConfiguration = "Debug">
41
- <Testables>${testable
42
- ? `
43
- <TestableReference skipped = "NO">
44
- <BuildableReference BuildableName = "${name}Tests.xctest" />
45
- </TestableReference>`
46
- : ""}
47
- </Testables>
48
- </TestAction>
49
- <LaunchAction buildConfiguration = "Debug">${runnable
50
- ? `
51
- <BuildableProductRunnable runnableDebuggingMode = "0">
52
- <BuildableReference
53
- BuildableIdentifier = "primary"
54
- BuildableName = "${runnable}"
55
- BlueprintName = "${name}"
56
- ReferencedContainer = "container:${project}.xcodeproj">
57
- </BuildableReference>
58
- </BuildableProductRunnable>`
59
- : ""}
60
- </LaunchAction>
61
- </Scheme>
62
- `);
63
- }
64
- /** The ranking, given the order `readdirSync` happens to produce. */
65
- const pick = (projectPath, names) => rankSchemes(root, projectPath, names)[0];
66
- describe("rankSchemes", () => {
67
- // shenruisi/Stay. "Stay Extension" listed first and was written into the
68
- // pipeline; the app is named after its project.
69
- test("prefers the scheme named after the project", () => {
70
- scheme("Stay", "Stay", { runnable: "Stay.app", testable: true });
71
- scheme("Stay", "Stay Extension", { runnable: "Stay.app" });
72
- expect(pick("Stay.xcodeproj", ["Stay Extension", "Stay"])).toBe("Stay");
73
- });
74
- // jellyfin/Swiftfin. Every destination "Swiftfin tvOS" offered was tvOS.
75
- test("prefers the project's own name over a platform companion", () => {
76
- scheme("Swiftfin", "Swiftfin", { runnable: "Swiftfin iOS.app" });
77
- scheme("Swiftfin", "Swiftfin tvOS", { runnable: "Swiftfin tvOS.app" });
78
- expect(pick("Swiftfin.xcodeproj", ["Swiftfin tvOS", "Swiftfin"])).toBe("Swiftfin");
79
- });
80
- // Finb/Bark builds from a workspace; the schemes live in the project inside.
81
- test("matches the workspace basename too", () => {
82
- scheme("Bark", "Bark", { runnable: "Bark.app", testable: true });
83
- scheme("Bark", "NotificationContentExtension", { runnable: "Bark.app" });
84
- expect(pick("Bark.xcworkspace", ["Bark", "NotificationContentExtension"])).toBe("Bark");
85
- });
86
- // Automattic/pocket-casts-ios: the scheme is `pocketcasts`, the project is
87
- // `podcasts.xcodeproj`, so no name matches. What separates them is that one
88
- // launches an app and has tests, and the others are extensions.
89
- test("falls back to an app scheme with tests when no name matches", () => {
90
- scheme("podcasts", "pocketcasts", { runnable: "podcasts.app", testable: true });
91
- scheme("podcasts", "NotificationContent", { runnable: "podcasts.app" });
92
- scheme("podcasts", "PocketCastsWatch", { runnable: "PocketCastsWatch.app" });
93
- expect(pick("podcasts.xcodeproj", ["NotificationContent", "PocketCastsWatch", "pocketcasts"])).toBe("pocketcasts");
94
- });
95
- // thebaselab/codeapp: `Code App` launches `Code.app` and declares no tests
96
- // at all; `Code UI` has two test bundles and launches `CodeUI.app`. The
97
- // product named after the project is the app; tests are a weaker signal.
98
- test("prefers the product named after the project over one with tests", () => {
99
- scheme("Code", "Code App", { runnable: "Code.app" });
100
- scheme("Code", "Code UI", { runnable: "CodeUI.app", testable: true });
101
- scheme("Code", "extension", { runnable: "CodeUI.app" });
102
- expect(pick("Code.xcodeproj", ["Code App", "Code UI", "extension"])).toBe("Code App");
103
- });
104
- // oblador/hush: `Hush iOS` and `Hush macOS`, project `Hush.xcodeproj`.
105
- test("prefers the iOS variant over the macOS one", () => {
106
- scheme("Hush", "Hush iOS", { runnable: "Hush.app", testable: true });
107
- scheme("Hush", "Hush macOS", { runnable: "Hush.app" });
108
- expect(pick("Hush.xcodeproj", ["Hush iOS", "Hush macOS"])).toBe("Hush iOS");
109
- });
110
- // home-assistant/iOS: App-Debug and App-Release, both runnable, both with
111
- // tests. Debug is what the template builds.
112
- test("prefers the debug configuration when two app schemes tie", () => {
113
- scheme("HomeAssistant", "App-Debug", { runnable: "Home Assistant.app", testable: true });
114
- scheme("HomeAssistant", "App-Release", { runnable: "Home Assistant.app", testable: true });
115
- expect(pick("HomeAssistant.xcodeproj", ["App-Debug", "App-Release"])).toBe("App-Debug");
116
- });
117
- test("prefers the shortest name when nothing else separates them", () => {
118
- scheme("Demo", "App", { runnable: "App.app", testable: true });
119
- scheme("Demo", "App With A Longer Name", { runnable: "App.app", testable: true });
120
- expect(pick("Demo.xcodeproj", ["App With A Longer Name", "App"])).toBe("App");
121
- });
122
- // The whole defect: a space sorts before a period, so the companion is
123
- // always listed first. The answer must not depend on that.
124
- test("gives the same answer whatever order the filesystem lists", () => {
125
- scheme("Stay", "Stay", { runnable: "Stay.app", testable: true });
126
- scheme("Stay", "Stay Extension", { runnable: "Stay.app" });
127
- scheme("Stay", "Stay Widget", { runnable: "Stay.app" });
128
- const orders = [
129
- ["Stay Extension", "Stay Widget", "Stay"],
130
- ["Stay", "Stay Extension", "Stay Widget"],
131
- ["Stay Widget", "Stay", "Stay Extension"],
132
- ];
133
- for (const order of orders) {
134
- expect([order.join(","), pick("Stay.xcodeproj", order)]).toEqual([
135
- order.join(","),
136
- "Stay",
137
- ]);
138
- }
139
- });
140
- test("keeps every scheme in the list, only reordered", () => {
141
- scheme("Stay", "Stay", { runnable: "Stay.app", testable: true });
142
- scheme("Stay", "Stay Extension", { runnable: "Stay.app" });
143
- const ranked = rankSchemes(root, "Stay.xcodeproj", ["Stay Extension", "Stay"]);
144
- expect([...ranked].sort()).toEqual(["Stay", "Stay Extension"]);
145
- });
146
- test("leaves a single scheme alone", () => {
147
- scheme("Solo", "Solo", { runnable: "Solo.app", testable: true });
148
- expect(pick("Solo.xcodeproj", ["Solo"])).toBe("Solo");
149
- });
150
- // A scheme with no shared `.xcscheme` on disk — `detectSchemes` falls back
151
- // to the project name — must still come out first, not be ranked below a
152
- // companion it cannot read.
153
- test("keeps the order it was given when nothing can be read", () => {
154
- expect(pick("Solo.xcodeproj", ["Solo", "Other"])).toBe("Solo");
155
- });
156
- });
157
- /**
158
- * An app extension is launched *through its host app*, so an extension scheme's
159
- * LaunchAction runnable is the host `.app` — the same value the app's own
160
- * scheme carries. Launching the app binary is therefore not sufficient to be
161
- * the app scheme, and no name blocklist reaches the case: `Today` names nothing.
162
- *
163
- * Xcode states the fact itself, on the `<Scheme>` element of any scheme it
164
- * created for an extension target. Measured across all 125 shared schemes in
165
- * the thirty-app study's clones: 29 carry `wasCreatedForAppExtension`, all 29
166
- * are extension schemes, and 27 of them build the host `.app` too — which is
167
- * why "require an `.app` among the BuildAction entries" does not separate them.
168
- */
169
- describe("rankSchemes and app-extension schemes", () => {
170
- /**
171
- * `mozilla-mobile/firefox-ios`, all thirteen schemes of
172
- * `firefox-ios/Client.xcodeproj`, read off the clone. The project is
173
- * `Client.xcodeproj`, so five schemes launch `Client.app` and land in the
174
- * same tier; none carries an `iOS` or `Debug` token, so the tie fell to name
175
- * length and `Today` (5) beat `Fennec` (6). The build then failed compiling
176
- * `ActionExtension` — `bld_b1b38dda58f4111080415283`.
177
- */
178
- const FIREFOX_IOS = [
179
- ["Account", { runnable: "libAccount.a", testable: true }],
180
- ["Fennec", { runnable: "Client.app", testable: true }],
181
- ["Fennec_Enterprise", { runnable: "Client.app", testable: true }],
182
- ["Firefox", { runnable: "Client.app", testable: true }],
183
- ["FirefoxBeta", { runnable: "Client.app", testable: true }],
184
- ["FirefoxStaging", { runnable: "Client.app", testable: true }],
185
- ["L10nSnapshotTests", { runnable: "L10nSnapshotTests.xctest", testable: true }],
186
- ["Periphery", {}],
187
- ["ShareTo", { runnable: "ShareTo.appex", appExtension: true }],
188
- ["Storage", { runnable: "libStorage.a", testable: true }],
189
- ["Sync", { runnable: "Sync.framework", testable: true }],
190
- ["Telemetry", { runnable: "libSyncTelemetry.a", testable: true }],
191
- ["Today", { runnable: "Client.app", testable: true, appExtension: true }],
192
- ];
193
- function firefoxIos() {
194
- for (const [name, shape] of FIREFOX_IOS)
195
- scheme("Client", name, shape);
196
- return FIREFOX_IOS.map(([name]) => name);
197
- }
198
- test("picks the browser, not its widget", () => {
199
- const names = firefoxIos();
200
- expect(pick("Client.xcodeproj", names)).toBe("Fennec");
201
- });
202
- // The defect only became visible because a five-character extension name won
203
- // a length tiebreak. The answer must not depend on the order either.
204
- test("picks the browser whatever order the filesystem lists", () => {
205
- const names = firefoxIos();
206
- const orders = [
207
- names,
208
- [...names].reverse(),
209
- ["Today", ...names.filter((n) => n !== "Today")],
210
- ["ShareTo", "Today", ...names.filter((n) => n !== "Today" && n !== "ShareTo")],
211
- ];
212
- for (const order of orders) {
213
- expect([order[0], pick("Client.xcodeproj", order)]).toEqual([order[0], "Fennec"]);
214
- }
215
- });
216
- test("still keeps every scheme in the list", () => {
217
- const names = firefoxIos();
218
- expect([...rankSchemes(root, "Client.xcodeproj", names)].sort()).toEqual([...names].sort());
219
- });
220
- // The narrow statement, without the other twelve schemes around it.
221
- test("an extension scheme launching the host app is not the app scheme", () => {
222
- scheme("Client", "Fennec", { runnable: "Client.app", testable: true });
223
- scheme("Client", "Today", { runnable: "Client.app", testable: true, appExtension: true });
224
- expect(pick("Client.xcodeproj", ["Today", "Fennec"])).toBe("Fennec");
225
- });
226
- // Xcode's own word about the target outranks a name coincidence, so it
227
- // disqualifies the name-match tier too.
228
- test("outranks a scheme named exactly after the project", () => {
229
- scheme("Widget", "Widget", { runnable: "Host.app", appExtension: true });
230
- scheme("Widget", "HostApp", { runnable: "Host.app", testable: true });
231
- expect(pick("Widget.xcodeproj", ["Widget", "HostApp"])).toBe("HostApp");
232
- });
233
- /**
234
- * The attribute is a sufficient signal, not a necessary one — a hand-written
235
- * or pre-Xcode-10 scheme may omit it. Its absence must change nothing, or
236
- * every scheme that ranked correctly before this could regress.
237
- *
238
- * `chenqi92/primuse` is the row that makes the point concrete: its `Primuse`
239
- * scheme is the real app scheme and builds two widget `.appex` bundles
240
- * alongside `Primuse.app`, so "demote anything that builds an extension"
241
- * would have taken the wrong one.
242
- */
243
- test("an untagged app scheme ranks exactly as it did before", () => {
244
- scheme("Primuse", "Primuse", { runnable: "Primuse.app", testable: true });
245
- scheme("Primuse", "PrimuseWidgets", { runnable: "Primuse.app" });
246
- expect(pick("Primuse.xcodeproj", ["PrimuseWidgets", "Primuse"])).toBe("Primuse");
247
- });
248
- // When every candidate is an extension scheme there is no app scheme to
249
- // find. Both land in the bottom tier, nothing is filtered out, and the
250
- // pre-existing within-tier rule decides — so the caller still gets a
251
- // deterministic answer rather than one that depends on the directory order.
252
- test("still answers deterministically when every scheme is an extension", () => {
253
- scheme("Client", "ShareTo", { runnable: "ShareTo.appex", appExtension: true });
254
- scheme("Client", "Today", { runnable: "Client.app", appExtension: true });
255
- for (const order of [
256
- ["Today", "ShareTo"],
257
- ["ShareTo", "Today"],
258
- ]) {
259
- expect([order[0], pick("Client.xcodeproj", order)]).toEqual([order[0], "Today"]);
260
- }
261
- expect(rankSchemes(root, "Client.xcodeproj", ["ShareTo", "Today"])).toHaveLength(2);
262
- });
263
- });
264
- //# sourceMappingURL=ios-scheme-ranking.test.js.map
@@ -1,30 +0,0 @@
1
- /**
2
- * A properties file the Secrets Gradle Plugin reads is a credential like any
3
- * other, and it has to reach every workflow that builds — not just `release`.
4
- *
5
- * The scanner has always found this one: it emits a `secrets-plugin` warning
6
- * whenever a build file applies the plugin and the properties file it reads is
7
- * gitignored, and `ci init` prints *"The file is gitignored — inject it as a
8
- * file step before building"* along with the exact step to write. Then it
9
- * generates a pipeline without that step. The advice was correct and nobody
10
- * acted on it, so the pipeline it wrote could not configure Gradle at all.
11
- *
12
- * Measured, not supposed: the first build in the record to consume an uploaded
13
- * credential (`bld_f5167b731b95974e61350390`, 2026-09-09) got past
14
- * google-services and died four steps later on
15
- *
16
- * A problem occurred configuring project ':analytics'.
17
- * > The file '<repo>/local.properties' could not be found
18
- *
19
- * on a repository whose `release` workflow had a `file@` step for it and whose
20
- * `primary` and `pull-request` did not. The plugin's evaluation listener runs
21
- * for every variant, so a debug build needs the file exactly as much as a
22
- * release one does.
23
- *
24
- * Declaring the slot matters as much as the step. `unsetEnvKeys` — what
25
- * `invarn setup` searches by — reads `envs`, not step inputs, so an undeclared
26
- * `LOCAL_PROPERTIES` is never discovered on the developer's machine and never
27
- * offered for upload, however many steps name it.
28
- */
29
- export {};
30
- //# sourceMappingURL=local-properties-reaches-every-workflow.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-properties-reaches-every-workflow.test.d.ts","sourceRoot":"","sources":["../../../src/commands/local-properties-reaches-every-workflow.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
@@ -1,146 +0,0 @@
1
- /**
2
- * A properties file the Secrets Gradle Plugin reads is a credential like any
3
- * other, and it has to reach every workflow that builds — not just `release`.
4
- *
5
- * The scanner has always found this one: it emits a `secrets-plugin` warning
6
- * whenever a build file applies the plugin and the properties file it reads is
7
- * gitignored, and `ci init` prints *"The file is gitignored — inject it as a
8
- * file step before building"* along with the exact step to write. Then it
9
- * generates a pipeline without that step. The advice was correct and nobody
10
- * acted on it, so the pipeline it wrote could not configure Gradle at all.
11
- *
12
- * Measured, not supposed: the first build in the record to consume an uploaded
13
- * credential (`bld_f5167b731b95974e61350390`, 2026-09-09) got past
14
- * google-services and died four steps later on
15
- *
16
- * A problem occurred configuring project ':analytics'.
17
- * > The file '<repo>/local.properties' could not be found
18
- *
19
- * on a repository whose `release` workflow had a `file@` step for it and whose
20
- * `primary` and `pull-request` did not. The plugin's evaluation listener runs
21
- * for every variant, so a debug build needs the file exactly as much as a
22
- * release one does.
23
- *
24
- * Declaring the slot matters as much as the step. `unsetEnvKeys` — what
25
- * `invarn setup` searches by — reads `envs`, not step inputs, so an undeclared
26
- * `LOCAL_PROPERTIES` is never discovered on the developer's machine and never
27
- * offered for upload, however many steps name it.
28
- */
29
- import { describe, test, expect } from '@jest/globals';
30
- import { load } from 'js-yaml';
31
- import { generateAndroidPipeline, detectSetupNeeds } from './build.js';
32
- const BASE = {
33
- keystore: false,
34
- keystoreProperties: false,
35
- googleServices: false,
36
- googlePlayDeploy: false,
37
- googlePlayPackageName: '',
38
- artifactType: 'apk',
39
- keystorePaths: {},
40
- googleServicesPaths: {},
41
- workflowFlavors: {},
42
- secretsProperties: false,
43
- secretsPropertiesPath: 'local.properties',
44
- };
45
- function parse(yaml) {
46
- return load(yaml);
47
- }
48
- function envs(parsed) {
49
- return Object.assign({}, ...(parsed.app?.envs ?? []));
50
- }
51
- function stepNames(parsed, workflow) {
52
- return (parsed.workflows?.[workflow]?.steps ?? []).map((s) => Object.keys(s)[0]);
53
- }
54
- function fileStepsOf(parsed, workflow) {
55
- return (parsed.workflows?.[workflow]?.steps ?? [])
56
- .filter((s) => Object.keys(s)[0] === 'file@1.0.0')
57
- .map((s) => s['file@1.0.0']);
58
- }
59
- describe('a properties file the build reads at configuration time', () => {
60
- test('is declared once and written in every workflow that builds', () => {
61
- const parsed = parse(generateAndroidPipeline(17, { ...BASE, secretsProperties: true }));
62
- expect(envs(parsed).LOCAL_PROPERTIES).toBe('');
63
- // One object per workflow so a failure names the workflow that lost it.
64
- const written = ['primary', 'pull-request', 'release'].map((workflow) => {
65
- const step = fileStepsOf(parsed, workflow).find((s) => s.inputs.var_name === 'LOCAL_PROPERTIES');
66
- return {
67
- workflow,
68
- target: step?.inputs.target_path,
69
- // Text, not binary: re-encoding a properties file as base64 would
70
- // write base64 to disk and the plugin would read gibberish.
71
- base64: step?.inputs.base64_encoded,
72
- };
73
- });
74
- expect(written).toEqual([
75
- { workflow: 'primary', target: 'local.properties', base64: undefined },
76
- { workflow: 'pull-request', target: 'local.properties', base64: undefined },
77
- { workflow: 'release', target: 'local.properties', base64: undefined },
78
- ]);
79
- });
80
- test('is written before anything that could read it', () => {
81
- const parsed = parse(generateAndroidPipeline(17, { ...BASE, secretsProperties: true }));
82
- const order = ['primary', 'pull-request', 'release'].map((workflow) => {
83
- const names = stepNames(parsed, workflow);
84
- const wrote = names.indexOf('file@1.0.0');
85
- const firstBuildTool = names.findIndex((n) => /^(gradle-build|android-lint|android-unit-test)@/.test(n));
86
- return { workflow, writesBeforeBuilding: wrote >= 0 && firstBuildTool > wrote };
87
- });
88
- expect(order).toEqual([
89
- { workflow: 'primary', writesBeforeBuilding: true },
90
- { workflow: 'pull-request', writesBeforeBuilding: true },
91
- { workflow: 'release', writesBeforeBuilding: true },
92
- ]);
93
- });
94
- test('follows the plugin to a properties file that is not local.properties', () => {
95
- const parsed = parse(generateAndroidPipeline(17, {
96
- ...BASE,
97
- secretsProperties: true,
98
- secretsPropertiesPath: 'config/secrets.properties',
99
- }));
100
- const written = fileStepsOf(parsed, 'primary').find((s) => s.inputs.var_name === 'LOCAL_PROPERTIES');
101
- expect(written.inputs.target_path).toBe('config/secrets.properties');
102
- });
103
- test('appears nowhere in a repository that does not use the plugin', () => {
104
- // The whole point of scanning: a pipeline must not declare a slot the
105
- // build never reads. After issue 03 a declared-and-empty slot fails the
106
- // build, so an unnecessary one turns a working repository red.
107
- const yaml = generateAndroidPipeline(17, BASE);
108
- expect(yaml).not.toContain('LOCAL_PROPERTIES');
109
- expect(fileStepsOf(parse(yaml), 'primary')).toEqual([]);
110
- });
111
- });
112
- describe('the scan that decides it', () => {
113
- const warning = (over) => ({
114
- category: 'secrets-plugin',
115
- severity: 'warning',
116
- message: 'Secrets plugin key: MAPS_API_KEY',
117
- location: 'local.properties',
118
- ...over,
119
- });
120
- test('takes the properties file from the per-key warning', () => {
121
- const needs = detectSetupNeeds([warning({})]);
122
- expect(needs.secretsProperties).toBe(true);
123
- expect(needs.secretsPropertiesPath).toBe('local.properties');
124
- });
125
- test('takes it from the message when the warning has no defaults file', () => {
126
- // The two `secrets-plugin` warnings disagree about `location`: the
127
- // per-key one carries the properties file, the fallback one carries the
128
- // *build file* that applies the plugin. Reading the wrong one would point
129
- // the step at `app/build.gradle.kts`.
130
- const needs = detectSetupNeeds([
131
- warning({
132
- message: "Google Secrets Gradle Plugin reads 'config/secrets.properties' which is absent in CI",
133
- location: 'app/build.gradle.kts',
134
- }),
135
- ]);
136
- expect(needs.secretsProperties).toBe(true);
137
- expect(needs.secretsPropertiesPath).toBe('config/secrets.properties');
138
- });
139
- test('is off when nothing reports the plugin', () => {
140
- const needs = detectSetupNeeds([
141
- { category: 'missing-file', severity: 'warning', message: 'keystore.properties not found' },
142
- ]);
143
- expect(needs.secretsProperties).toBe(false);
144
- });
145
- });
146
- //# sourceMappingURL=local-properties-reaches-every-workflow.test.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * Reset command — removes all files and folders created by cibuild.
3
- */
4
- export declare function handleResetCommand(options?: {
5
- force?: boolean;
6
- }): Promise<void>;
7
- //# sourceMappingURL=reset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/commands/reset.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzF"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Reset command — removes all files and folders created by cibuild.
3
- */
4
- import { existsSync, readFileSync, writeFileSync, rmSync } from 'node:fs';
5
- import { resolve } from 'node:path';
6
- import prompts from 'prompts';
7
- /** Paths that cibuild creates, relative to project root. */
8
- const CIBUILD_PATHS = [
9
- '.ci',
10
- '.cibuild-secrets.json',
11
- '.ci-builds',
12
- '.ci-cache',
13
- 'ci.config.json',
14
- ];
15
- /** Lines that `ci init` appends to .gitignore. */
16
- const GITIGNORE_ENTRIES = [
17
- '.cibuild-secrets.json',
18
- '.ci/.envstore.json',
19
- '.ci/keys/',
20
- ];
21
- export async function handleResetCommand(options = {}) {
22
- const cwd = process.cwd();
23
- // Discover what actually exists
24
- const existing = CIBUILD_PATHS
25
- .map((p) => ({ rel: p, abs: resolve(cwd, p) }))
26
- .filter(({ abs }) => existsSync(abs));
27
- const gitignorePath = resolve(cwd, '.gitignore');
28
- const hasGitignoreEntries = existsSync(gitignorePath) && hasAnyEntry(gitignorePath);
29
- if (existing.length === 0 && !hasGitignoreEntries) {
30
- console.log('Nothing to reset — no cibuild files found.');
31
- return;
32
- }
33
- // Show what will be removed
34
- console.log('\nThe following will be removed:\n');
35
- for (const { rel } of existing) {
36
- console.log(` • ${rel}`);
37
- }
38
- if (hasGitignoreEntries) {
39
- console.log(' • cibuild entries from .gitignore');
40
- }
41
- console.log('');
42
- // Confirm unless --force
43
- if (!options.force) {
44
- const { confirmed } = await prompts({
45
- type: 'confirm',
46
- name: 'confirmed',
47
- message: 'Are you sure? This cannot be undone.',
48
- initial: false,
49
- });
50
- if (!confirmed) {
51
- console.log('\n❌ Cancelled');
52
- return;
53
- }
54
- }
55
- // Remove paths
56
- for (const { rel, abs } of existing) {
57
- rmSync(abs, { recursive: true, force: true });
58
- console.log(` Removed ${rel}`);
59
- }
60
- // Clean .gitignore
61
- if (hasGitignoreEntries) {
62
- cleanGitignore(gitignorePath);
63
- console.log(' Cleaned .gitignore');
64
- }
65
- console.log('\n✅ Reset complete\n');
66
- }
67
- function hasAnyEntry(gitignorePath) {
68
- const content = readFileSync(gitignorePath, 'utf-8');
69
- return GITIGNORE_ENTRIES.some((entry) => content.split('\n').includes(entry));
70
- }
71
- function cleanGitignore(gitignorePath) {
72
- const lines = readFileSync(gitignorePath, 'utf-8').split('\n');
73
- const filtered = lines.filter((line) => !GITIGNORE_ENTRIES.includes(line));
74
- // Remove trailing blank lines left over from removal
75
- while (filtered.length > 0 && filtered[filtered.length - 1] === '') {
76
- filtered.pop();
77
- }
78
- const result = filtered.length > 0 ? filtered.join('\n') + '\n' : '';
79
- writeFileSync(gitignorePath, result);
80
- }
81
- //# sourceMappingURL=reset.js.map
@@ -1,22 +0,0 @@
1
- export interface RunOptions {
2
- /**
3
- * Absolute path to the pipeline file. If omitted, the handler looks
4
- * inside `./.ci/pipelines/` and prompts when multiple files exist.
5
- */
6
- pipelinePath?: string;
7
- workflow?: string;
8
- validateOnly?: boolean;
9
- production?: boolean;
10
- skipValidation?: boolean;
11
- local?: boolean;
12
- }
13
- /**
14
- * Run a pipeline locally. Mirrors `ci run <path>`.
15
- *
16
- * - `.yml` / `.yaml` → parse, validate, optionally prompt for missing
17
- * env vars, then execute via `PipelineRunner`.
18
- * - `.ts` / `.js` → dynamic-import the module, use its default export
19
- * as the `PipelineDef`, then execute.
20
- */
21
- export declare function handleRunCommand(opts?: RunOptions): Promise<void>;
22
- //# sourceMappingURL=run.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJ3E"}