@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.
- package/dist/chunk-35SI42CD.mjs +1 -0
- package/dist/chunk-IC45KVLJ.mjs +1 -0
- package/dist/chunk-XDY4V23V.mjs +1 -0
- package/dist/cli.cjs +14 -14
- package/dist/commands.mjs +1 -0
- package/dist/lib.mjs +3934 -0
- package/package.json +6 -10
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -399
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
- package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
- package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
- package/dist/src/commands/android-gms-guard.test.js +0 -78
- package/dist/src/commands/android-java-version.test.d.ts +0 -12
- package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
- package/dist/src/commands/android-java-version.test.js +0 -209
- package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
- package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
- package/dist/src/commands/android-scanner-java.test.js +0 -130
- package/dist/src/commands/android-scanner.d.ts +0 -250
- package/dist/src/commands/android-scanner.d.ts.map +0 -1
- package/dist/src/commands/android-scanner.js +0 -1639
- package/dist/src/commands/build.d.ts +0 -215
- package/dist/src/commands/build.d.ts.map +0 -1
- package/dist/src/commands/build.js +0 -1433
- package/dist/src/commands/build.test.d.ts +0 -13
- package/dist/src/commands/build.test.d.ts.map +0 -1
- package/dist/src/commands/build.test.js +0 -121
- package/dist/src/commands/detect-platform.d.ts +0 -13
- package/dist/src/commands/detect-platform.d.ts.map +0 -1
- package/dist/src/commands/detect-platform.js +0 -51
- package/dist/src/commands/detect-project.d.ts +0 -7
- package/dist/src/commands/detect-project.d.ts.map +0 -1
- package/dist/src/commands/detect-project.js +0 -12
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
- package/dist/src/commands/edit.d.ts +0 -12
- package/dist/src/commands/edit.d.ts.map +0 -1
- package/dist/src/commands/edit.js +0 -652
- package/dist/src/commands/edit.test.d.ts +0 -6
- package/dist/src/commands/edit.test.d.ts.map +0 -1
- package/dist/src/commands/edit.test.js +0 -45
- package/dist/src/commands/fidelity-trim.d.ts +0 -13
- package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.js +0 -21
- package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
- package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.test.js +0 -79
- package/dist/src/commands/file-secret-collector.d.ts +0 -50
- package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
- package/dist/src/commands/file-secret-collector.js +0 -217
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
- package/dist/src/commands/github-workflow.d.ts +0 -5
- package/dist/src/commands/github-workflow.d.ts.map +0 -1
- package/dist/src/commands/github-workflow.js +0 -45
- package/dist/src/commands/index.d.ts +0 -33
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/commands/index.js +0 -33
- package/dist/src/commands/init.d.ts +0 -20
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/init.js +0 -264
- package/dist/src/commands/ios-scanner.d.ts +0 -104
- package/dist/src/commands/ios-scanner.d.ts.map +0 -1
- package/dist/src/commands/ios-scanner.js +0 -492
- package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
- package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
- package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
- package/dist/src/commands/reset.d.ts +0 -7
- package/dist/src/commands/reset.d.ts.map +0 -1
- package/dist/src/commands/reset.js +0 -81
- package/dist/src/commands/run.d.ts +0 -22
- package/dist/src/commands/run.d.ts.map +0 -1
- package/dist/src/commands/run.js +0 -141
- package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
- package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
- package/dist/src/commands/secrets-sync-workflow.js +0 -255
- package/dist/src/commands/secrets-upload.d.ts +0 -21
- package/dist/src/commands/secrets-upload.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.js +0 -177
- package/dist/src/commands/secrets-upload.test.d.ts +0 -5
- package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.test.js +0 -60
- package/dist/src/commands/validate.d.ts +0 -10
- package/dist/src/commands/validate.d.ts.map +0 -1
- package/dist/src/commands/validate.js +0 -46
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -47
- package/dist/src/envman/cli.d.ts +0 -21
- package/dist/src/envman/cli.d.ts.map +0 -1
- package/dist/src/envman/cli.js +0 -240
- package/dist/src/envman/envman.d.ts +0 -83
- package/dist/src/envman/envman.d.ts.map +0 -1
- package/dist/src/envman/envman.js +0 -361
- package/dist/src/envman/envman.test.d.ts +0 -5
- package/dist/src/envman/envman.test.d.ts.map +0 -1
- package/dist/src/envman/envman.test.js +0 -236
- package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
- package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
- package/dist/src/envman/envstore-round-trip.test.js +0 -130
- package/dist/src/envman/index.d.ts +0 -23
- package/dist/src/envman/index.d.ts.map +0 -1
- package/dist/src/envman/index.js +0 -23
- package/dist/src/envman/shim.d.ts +0 -16
- package/dist/src/envman/shim.d.ts.map +0 -1
- package/dist/src/envman/shim.js +0 -66
- package/dist/src/envman/types.d.ts +0 -55
- package/dist/src/envman/types.d.ts.map +0 -1
- package/dist/src/envman/types.js +0 -12
- package/dist/src/lib.d.ts +0 -33
- package/dist/src/lib.d.ts.map +0 -1
- package/dist/src/lib.js +0 -37
- package/dist/src/pipeline.d.ts +0 -3
- package/dist/src/pipeline.d.ts.map +0 -1
- package/dist/src/pipeline.js +0 -57
- package/dist/src/runner-node-step.test.d.ts +0 -12
- package/dist/src/runner-node-step.test.d.ts.map +0 -1
- package/dist/src/runner-node-step.test.js +0 -61
- package/dist/src/runner.d.ts +0 -31
- package/dist/src/runner.d.ts.map +0 -1
- package/dist/src/runner.js +0 -240
- package/dist/src/shared/detect-project.d.ts +0 -57
- package/dist/src/shared/detect-project.d.ts.map +0 -1
- package/dist/src/shared/detect-project.js +0 -219
- package/dist/src/shared/detect-project.test.d.ts +0 -2
- package/dist/src/shared/detect-project.test.d.ts.map +0 -1
- package/dist/src/shared/detect-project.test.js +0 -161
- package/dist/src/shared/git.d.ts +0 -25
- package/dist/src/shared/git.d.ts.map +0 -1
- package/dist/src/shared/git.js +0 -53
- package/dist/src/shared/git.test.d.ts +0 -9
- package/dist/src/shared/git.test.d.ts.map +0 -1
- package/dist/src/shared/git.test.js +0 -66
- package/dist/src/shared/gitignore.d.ts +0 -6
- package/dist/src/shared/gitignore.d.ts.map +0 -1
- package/dist/src/shared/gitignore.js +0 -26
- package/dist/src/shared/gradle-settings.d.ts +0 -49
- package/dist/src/shared/gradle-settings.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.js +0 -138
- package/dist/src/shared/gradle-settings.test.d.ts +0 -2
- package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.test.js +0 -65
- package/dist/src/shared/prompts.d.ts +0 -30
- package/dist/src/shared/prompts.d.ts.map +0 -1
- package/dist/src/shared/prompts.js +0 -121
- package/dist/src/shared/xcode-container.test.d.ts +0 -2
- package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
- package/dist/src/shared/xcode-container.test.js +0 -123
- package/dist/src/step-marker.d.ts +0 -12
- package/dist/src/step-marker.d.ts.map +0 -1
- package/dist/src/step-marker.js +0 -29
- package/dist/src/step-marker.test.d.ts +0 -11
- package/dist/src/step-marker.test.d.ts.map +0 -1
- package/dist/src/step-marker.test.js +0 -45
- package/dist/src/types.d.ts +0 -58
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
- package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
- package/dist/src/yaml/bitrise-compat.d.ts +0 -65
- package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.js +0 -206
- package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
- package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.test.js +0 -347
- package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
- package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
- package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
- package/dist/src/yaml/converter.d.ts +0 -103
- package/dist/src/yaml/converter.d.ts.map +0 -1
- package/dist/src/yaml/converter.js +0 -420
- package/dist/src/yaml/converter.test.d.ts +0 -5
- package/dist/src/yaml/converter.test.d.ts.map +0 -1
- package/dist/src/yaml/converter.test.js +0 -548
- package/dist/src/yaml/e2e.test.d.ts +0 -6
- package/dist/src/yaml/e2e.test.d.ts.map +0 -1
- package/dist/src/yaml/e2e.test.js +0 -446
- package/dist/src/yaml/env-resolver.d.ts +0 -218
- package/dist/src/yaml/env-resolver.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.js +0 -591
- package/dist/src/yaml/env-resolver.test.d.ts +0 -5
- package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.test.js +0 -502
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
- package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
- package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.js +0 -208
- package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
- package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
- package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
- package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.js +0 -134
- package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
- package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.test.js +0 -251
- package/dist/src/yaml/interactive-prompts.d.ts +0 -71
- package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
- package/dist/src/yaml/interactive-prompts.js +0 -260
- package/dist/src/yaml/meta-helpers.d.ts +0 -28
- package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
- package/dist/src/yaml/meta-helpers.js +0 -46
- package/dist/src/yaml/missing-env-handler.d.ts +0 -45
- package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
- package/dist/src/yaml/missing-env-handler.js +0 -64
- package/dist/src/yaml/parser.d.ts +0 -33
- package/dist/src/yaml/parser.d.ts.map +0 -1
- package/dist/src/yaml/parser.js +0 -148
- package/dist/src/yaml/parser.test.d.ts +0 -5
- package/dist/src/yaml/parser.test.d.ts.map +0 -1
- package/dist/src/yaml/parser.test.js +0 -83
- package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
- package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
- package/dist/src/yaml/pipeline-with-secrets.js +0 -76
- package/dist/src/yaml/platform-detector.d.ts +0 -83
- package/dist/src/yaml/platform-detector.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.js +0 -189
- package/dist/src/yaml/platform-detector.test.d.ts +0 -5
- package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.test.js +0 -525
- package/dist/src/yaml/preflight-validation.d.ts +0 -29
- package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
- package/dist/src/yaml/preflight-validation.js +0 -21
- package/dist/src/yaml/secrets-manager.d.ts +0 -87
- package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
- package/dist/src/yaml/secrets-manager.js +0 -230
- package/dist/src/yaml/shell-assignments.d.ts +0 -40
- package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
- package/dist/src/yaml/shell-assignments.js +0 -77
- package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
- package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
- package/dist/src/yaml/step-validator.d.ts +0 -67
- package/dist/src/yaml/step-validator.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.js +0 -466
- package/dist/src/yaml/step-validator.test.d.ts +0 -18
- package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.test.js +0 -140
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts +0 -2
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.js +0 -96
- package/dist/src/yaml/steps/android-sign.d.ts +0 -35
- package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-sign.js +0 -147
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
- package/dist/src/yaml/steps/android-version.d.ts +0 -26
- package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.js +0 -128
- package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
- package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.test.js +0 -196
- package/dist/src/yaml/steps/android.d.ts +0 -156
- package/dist/src/yaml/steps/android.d.ts.map +0 -1
- package/dist/src/yaml/steps/android.js +0 -1100
- package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
- package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/app-store-deploy.js +0 -167
- package/dist/src/yaml/steps/base.d.ts +0 -263
- package/dist/src/yaml/steps/base.d.ts.map +0 -1
- package/dist/src/yaml/steps/base.js +0 -380
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
- package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
- package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.js +0 -280
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
- package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
- package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
- package/dist/src/yaml/steps/cache.d.ts +0 -59
- package/dist/src/yaml/steps/cache.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache.js +0 -1027
- package/dist/src/yaml/steps/capture-injection.d.ts +0 -30
- package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
- package/dist/src/yaml/steps/capture-injection.js +0 -88
- package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
- package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/capture-injection.test.js +0 -163
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
- package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
- package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
- package/dist/src/yaml/steps/fastlane.d.ts +0 -27
- package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
- package/dist/src/yaml/steps/fastlane.js +0 -79
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
- package/dist/src/yaml/steps/file.d.ts +0 -52
- package/dist/src/yaml/steps/file.d.ts.map +0 -1
- package/dist/src/yaml/steps/file.js +0 -108
- package/dist/src/yaml/steps/flutter.d.ts +0 -63
- package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
- package/dist/src/yaml/steps/flutter.js +0 -215
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
- package/dist/src/yaml/steps/git-clone.d.ts +0 -32
- package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone.js +0 -171
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
- package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
- package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
- package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
- package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.js +0 -193
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
- package/dist/src/yaml/steps/gradle-memory.d.ts +0 -91
- package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.js +0 -495
- package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
- package/dist/src/yaml/steps/index.d.ts +0 -10
- package/dist/src/yaml/steps/index.d.ts.map +0 -1
- package/dist/src/yaml/steps/index.js +0 -1461
- package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
- package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.js +0 -279
- package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
- package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.test.js +0 -90
- package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
- package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-signing.js +0 -144
- package/dist/src/yaml/steps/ios-version.d.ts +0 -47
- package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-version.js +0 -151
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts +0 -2
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.js +0 -139
- package/dist/src/yaml/steps/linting.d.ts +0 -47
- package/dist/src/yaml/steps/linting.d.ts.map +0 -1
- package/dist/src/yaml/steps/linting.js +0 -148
- package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase2.test.js +0 -197
- package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase3.test.js +0 -144
- package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase4.test.js +0 -166
- package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase5.test.js +0 -263
- package/dist/src/yaml/steps/registry.d.ts +0 -88
- package/dist/src/yaml/steps/registry.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.js +0 -125
- package/dist/src/yaml/steps/registry.test.d.ts +0 -5
- package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.test.js +0 -235
- package/dist/src/yaml/steps/release.d.ts +0 -50
- package/dist/src/yaml/steps/release.d.ts.map +0 -1
- package/dist/src/yaml/steps/release.js +0 -154
- package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
- package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.js +0 -270
- package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
- package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
- package/dist/src/yaml/steps/script.d.ts +0 -23
- package/dist/src/yaml/steps/script.d.ts.map +0 -1
- package/dist/src/yaml/steps/script.js +0 -63
- package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
- package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/spec-validation.test.js +0 -130
- package/dist/src/yaml/steps/steps.test.d.ts +0 -6
- package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/steps.test.js +0 -881
- package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
- package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.js +0 -3276
- package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
- package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
- package/dist/src/yaml/steps/test-config.d.ts +0 -5
- package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
- package/dist/src/yaml/steps/test-config.js +0 -25
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
- package/dist/src/yaml/steps/trim-align.d.ts +0 -87
- package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.js +0 -367
- package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
- package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.test.js +0 -261
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
- package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
- package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.js +0 -247
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
- package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
- package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.js +0 -202
- package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
- package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
- package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-new.test.js +0 -211
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
- package/dist/src/yaml/steps/xcode.d.ts +0 -230
- package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode.js +0 -1350
- package/dist/src/yaml/types.d.ts +0 -76
- package/dist/src/yaml/types.d.ts.map +0 -1
- package/dist/src/yaml/types.js +0 -5
- package/dist/src/yaml/validation-types.d.ts +0 -102
- package/dist/src/yaml/validation-types.d.ts.map +0 -1
- package/dist/src/yaml/validation-types.js +0 -8
- package/dist/src/yaml/yaml-updater.d.ts +0 -24
- package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
- package/dist/src/yaml/yaml-updater.js +0 -128
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
import { copyFileSync, existsSync, mkdirSync, readdirSync } from "node:fs";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { resolve } from "node:path";
|
|
5
|
-
import prompts from "prompts";
|
|
6
|
-
import { detectMobileProjectRoot } from "../shared/detect-project.js";
|
|
7
|
-
import { ensureCiBuildGitignoreEntries } from "../shared/gitignore.js";
|
|
8
|
-
import { getInvarnMeta } from "../yaml/meta-helpers.js";
|
|
9
|
-
import { loadYAMLPipeline } from "../yaml/parser.js";
|
|
10
|
-
import { handleBuildCommand } from "./build.js";
|
|
11
|
-
import { generateGitHubActionsWorkflow } from "./github-workflow.js";
|
|
12
|
-
/**
|
|
13
|
-
* Check dependencies, then either import an existing YAML pipeline or
|
|
14
|
-
* scaffold a new one via `handleBuildCommand`. Mirrors `ci init`.
|
|
15
|
-
*
|
|
16
|
-
* Exits the process with a non-zero code on any unrecoverable error
|
|
17
|
-
* (missing deps, unreadable project, cancelled prompts).
|
|
18
|
-
*/
|
|
19
|
-
export async function handleInitCommand(opts = {}) {
|
|
20
|
-
const cwd = process.cwd();
|
|
21
|
-
const projectType = detectMobileProjectRoot(cwd);
|
|
22
|
-
if (!projectType) {
|
|
23
|
-
console.error("Error: Not a mobile project root.");
|
|
24
|
-
console.error("ci init must be run from the root folder of an Android, iOS, or KMM project.");
|
|
25
|
-
console.error("\nAndroid/KMM projects must contain one of:");
|
|
26
|
-
console.error(" build.gradle, build.gradle.kts, settings.gradle, settings.gradle.kts, gradlew");
|
|
27
|
-
console.error("\nKMM projects additionally need: iosApp/, shared/, or composeApp/ directory");
|
|
28
|
-
console.error("\niOS projects must contain one of:");
|
|
29
|
-
console.error(" *.xcodeproj, *.xcworkspace, Podfile");
|
|
30
|
-
process.exit(1);
|
|
31
|
-
}
|
|
32
|
-
const ciDir = resolve(cwd, ".ci");
|
|
33
|
-
if (existsSync(ciDir)) {
|
|
34
|
-
const entries = readdirSync(ciDir);
|
|
35
|
-
if (entries.length > 0) {
|
|
36
|
-
console.error("Already initialised. Run 'ci run' to execute your pipeline.");
|
|
37
|
-
process.exit(1);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const projectTypeLabel = projectType === "kmm"
|
|
41
|
-
? "KMM (Kotlin Multiplatform)"
|
|
42
|
-
: projectType === "android"
|
|
43
|
-
? "Android"
|
|
44
|
-
: "iOS";
|
|
45
|
-
console.log(`\nDetected project type: ${projectTypeLabel}`);
|
|
46
|
-
console.log(`
|
|
47
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
48
|
-
║ CI Build - Dependency Check ║
|
|
49
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
50
|
-
`);
|
|
51
|
-
const commonDependencies = [
|
|
52
|
-
{
|
|
53
|
-
name: "Git",
|
|
54
|
-
command: "git --version",
|
|
55
|
-
required: true,
|
|
56
|
-
installInstructions: "Download from https://git-scm.com/",
|
|
57
|
-
},
|
|
58
|
-
];
|
|
59
|
-
const androidDependencies = [
|
|
60
|
-
{
|
|
61
|
-
name: "Java (JDK)",
|
|
62
|
-
command: "java -version 2>&1 | head -1",
|
|
63
|
-
required: true,
|
|
64
|
-
installInstructions: "Download from https://adoptium.net/ or install via brew: brew install --cask temurin",
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "Android SDK",
|
|
68
|
-
customCheck: () => {
|
|
69
|
-
const fromEnv = process.env.ANDROID_HOME;
|
|
70
|
-
if (fromEnv && existsSync(fromEnv)) {
|
|
71
|
-
return { found: true, message: `${fromEnv} (via ANDROID_HOME)` };
|
|
72
|
-
}
|
|
73
|
-
const commonPaths = [
|
|
74
|
-
`${homedir()}/Library/Android/sdk`,
|
|
75
|
-
`${homedir()}/Android/Sdk`,
|
|
76
|
-
"/usr/local/android-sdk",
|
|
77
|
-
];
|
|
78
|
-
const detected = commonPaths.find((p) => existsSync(p));
|
|
79
|
-
if (detected) {
|
|
80
|
-
return { found: true, message: `${detected} (auto-detected)` };
|
|
81
|
-
}
|
|
82
|
-
return { found: false, message: "Android SDK not found" };
|
|
83
|
-
},
|
|
84
|
-
required: true,
|
|
85
|
-
installInstructions: "Install Android Studio from https://developer.android.com/studio or set ANDROID_HOME manually",
|
|
86
|
-
},
|
|
87
|
-
];
|
|
88
|
-
const iosDependencies = [
|
|
89
|
-
{
|
|
90
|
-
name: "Xcode",
|
|
91
|
-
command: "xcodebuild -version 2>&1 | head -1",
|
|
92
|
-
required: true,
|
|
93
|
-
installInstructions: "Install Xcode from the Mac App Store",
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: "CocoaPods",
|
|
97
|
-
command: "pod --version",
|
|
98
|
-
required: false,
|
|
99
|
-
installInstructions: "Run: sudo gem install cocoapods",
|
|
100
|
-
},
|
|
101
|
-
];
|
|
102
|
-
const dependencies = [
|
|
103
|
-
...commonDependencies,
|
|
104
|
-
...(projectType === "android"
|
|
105
|
-
? androidDependencies
|
|
106
|
-
: projectType === "kmm"
|
|
107
|
-
? [...androidDependencies, ...iosDependencies]
|
|
108
|
-
: iosDependencies),
|
|
109
|
-
];
|
|
110
|
-
let allRequired = true;
|
|
111
|
-
let missingOptional = false;
|
|
112
|
-
for (const dep of dependencies) {
|
|
113
|
-
if (dep.customCheck) {
|
|
114
|
-
const result = dep.customCheck();
|
|
115
|
-
if (result.found) {
|
|
116
|
-
console.log(`✅ ${dep.name.padEnd(20)} ${result.message}`);
|
|
117
|
-
}
|
|
118
|
-
else if (dep.required) {
|
|
119
|
-
console.log(`❌ ${dep.name.padEnd(20)} Not found (REQUIRED)`);
|
|
120
|
-
console.log(` Install: ${dep.installInstructions}`);
|
|
121
|
-
allRequired = false;
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
console.log(`⚠️ ${dep.name.padEnd(20)} Not found (optional)`);
|
|
125
|
-
console.log(` Install: ${dep.installInstructions}`);
|
|
126
|
-
missingOptional = true;
|
|
127
|
-
}
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
const output = execSync(dep.command, {
|
|
132
|
-
encoding: "utf-8",
|
|
133
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
134
|
-
shell: "/bin/sh",
|
|
135
|
-
}).trim();
|
|
136
|
-
console.log(`✅ ${dep.name.padEnd(20)} ${output}`);
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
if (dep.required) {
|
|
140
|
-
console.log(`❌ ${dep.name.padEnd(20)} Not found (REQUIRED)`);
|
|
141
|
-
console.log(` Install: ${dep.installInstructions}`);
|
|
142
|
-
allRequired = false;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
console.log(`⚠️ ${dep.name.padEnd(20)} Not found (optional)`);
|
|
146
|
-
console.log(` Install: ${dep.installInstructions}`);
|
|
147
|
-
missingOptional = true;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
console.log();
|
|
152
|
-
if (allRequired && !missingOptional) {
|
|
153
|
-
console.log("✨ All dependencies are installed and ready!");
|
|
154
|
-
}
|
|
155
|
-
else if (allRequired) {
|
|
156
|
-
console.log("✅ All required dependencies are installed!");
|
|
157
|
-
console.log("⚠️ Some optional dependencies are missing but you can still use CI Build.");
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
console.log("❌ Please install the missing required dependencies above.");
|
|
161
|
-
process.exit(1);
|
|
162
|
-
}
|
|
163
|
-
console.log();
|
|
164
|
-
let action;
|
|
165
|
-
if (opts.importPath) {
|
|
166
|
-
action = "import";
|
|
167
|
-
}
|
|
168
|
-
else if (opts.create) {
|
|
169
|
-
action = "create";
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
const response = await prompts({
|
|
173
|
-
type: "select",
|
|
174
|
-
name: "action",
|
|
175
|
-
message: "How would you like to set up your pipeline?",
|
|
176
|
-
choices: [
|
|
177
|
-
{ title: "Import an existing YAML pipeline", value: "import" },
|
|
178
|
-
{ title: "Create a new pipeline", value: "create" },
|
|
179
|
-
],
|
|
180
|
-
});
|
|
181
|
-
action = response.action;
|
|
182
|
-
}
|
|
183
|
-
if (!action) {
|
|
184
|
-
console.log("\nCancelled.");
|
|
185
|
-
process.exit(0);
|
|
186
|
-
}
|
|
187
|
-
ensureCiBuildGitignoreEntries(cwd);
|
|
188
|
-
if (action === "create") {
|
|
189
|
-
await handleBuildCommand(detectMobileProjectRoot, {
|
|
190
|
-
createPipelinesDir: true,
|
|
191
|
-
nonInteractive: !!opts.create,
|
|
192
|
-
metaNamespace: opts.metaNamespace,
|
|
193
|
-
});
|
|
194
|
-
process.exit(0);
|
|
195
|
-
}
|
|
196
|
-
// Import flow
|
|
197
|
-
let resolvedYaml;
|
|
198
|
-
if (opts.importPath) {
|
|
199
|
-
const trimmed = opts.importPath.trim();
|
|
200
|
-
if (!existsSync(trimmed)) {
|
|
201
|
-
console.error(`Error: File not found: ${trimmed}`);
|
|
202
|
-
process.exit(1);
|
|
203
|
-
}
|
|
204
|
-
const ext = trimmed.split(".").pop()?.toLowerCase();
|
|
205
|
-
if (ext !== "yml" && ext !== "yaml") {
|
|
206
|
-
console.error("Error: File must be a .yml or .yaml file");
|
|
207
|
-
process.exit(1);
|
|
208
|
-
}
|
|
209
|
-
resolvedYaml = trimmed;
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
const { yamlPath } = await prompts({
|
|
213
|
-
type: "text",
|
|
214
|
-
name: "yamlPath",
|
|
215
|
-
message: "Enter the absolute path to your YAML pipeline file:",
|
|
216
|
-
validate: (value) => {
|
|
217
|
-
if (!value.trim())
|
|
218
|
-
return "Path is required";
|
|
219
|
-
if (!existsSync(value.trim()))
|
|
220
|
-
return `File not found: ${value.trim()}`;
|
|
221
|
-
const ext = value.trim().split(".").pop()?.toLowerCase();
|
|
222
|
-
if (ext !== "yml" && ext !== "yaml")
|
|
223
|
-
return "File must be a .yml or .yaml file";
|
|
224
|
-
return true;
|
|
225
|
-
},
|
|
226
|
-
});
|
|
227
|
-
if (!yamlPath) {
|
|
228
|
-
console.log("\nCancelled.");
|
|
229
|
-
process.exit(0);
|
|
230
|
-
}
|
|
231
|
-
resolvedYaml = yamlPath.trim();
|
|
232
|
-
}
|
|
233
|
-
const fileName = resolvedYaml.split("/").pop();
|
|
234
|
-
const pipelinesDir = resolve(ciDir, "pipelines");
|
|
235
|
-
const destPath = resolve(pipelinesDir, fileName);
|
|
236
|
-
mkdirSync(pipelinesDir, { recursive: true });
|
|
237
|
-
copyFileSync(resolvedYaml, destPath);
|
|
238
|
-
console.log(`\n✅ Created .ci/pipelines/`);
|
|
239
|
-
console.log(`✅ Copied pipeline: ${fileName}`);
|
|
240
|
-
let importedPlatform = null;
|
|
241
|
-
try {
|
|
242
|
-
const yamlPipeline = loadYAMLPipeline(destPath);
|
|
243
|
-
const meta = getInvarnMeta(yamlPipeline);
|
|
244
|
-
if (meta?.platform === "ios" || meta?.platform === "android" || meta?.platform === "kmm") {
|
|
245
|
-
importedPlatform = meta.platform === "kmm" ? "ios" : meta.platform;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
catch {
|
|
249
|
-
// Ignore parse errors — default to macos-latest in generator.
|
|
250
|
-
}
|
|
251
|
-
generateGitHubActionsWorkflow({ platform: importedPlatform, cwd });
|
|
252
|
-
const hasSecrets = existsSync(resolve(cwd, ".cibuild-secrets.json"));
|
|
253
|
-
const hasWorkflow = existsSync(resolve(cwd, ".github", "workflows", "ci.yml"));
|
|
254
|
-
console.log("\nNext steps:");
|
|
255
|
-
console.log(" ci run .ci/pipelines/cibuild.yml -w primary # Run locally");
|
|
256
|
-
if (hasWorkflow) {
|
|
257
|
-
if (hasSecrets) {
|
|
258
|
-
console.log(" ci secrets upload # Upload secrets to GitHub");
|
|
259
|
-
}
|
|
260
|
-
console.log(" git add . && git push # Push to GitHub - CI runs automatically");
|
|
261
|
-
}
|
|
262
|
-
console.log("");
|
|
263
|
-
}
|
|
264
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
export type IosWarningCategory = "missing-file" | "env-var" | "signing-config" | "cocoapods";
|
|
2
|
-
export type IosWarningSeverity = "warning" | "info";
|
|
3
|
-
export interface IosWarning {
|
|
4
|
-
category: IosWarningCategory;
|
|
5
|
-
severity: IosWarningSeverity;
|
|
6
|
-
message: string;
|
|
7
|
-
hint?: string;
|
|
8
|
-
location?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface IosScanResult {
|
|
11
|
-
warnings: IosWarning[];
|
|
12
|
-
/**
|
|
13
|
-
* Schemes detected from .xcscheme files inside .xcodeproj, **best first**.
|
|
14
|
-
* Falls back to the project name. Callers write `[0]` into IOS_SCHEME.
|
|
15
|
-
*/
|
|
16
|
-
detectedSchemes: string[];
|
|
17
|
-
/** Why `detectedSchemes[0]` is first, when more than one was found. */
|
|
18
|
-
schemeChoiceReason?: string;
|
|
19
|
-
/** True if a Podfile exists in the project root. */
|
|
20
|
-
hasCocoaPods: boolean;
|
|
21
|
-
/** True if a Package.swift exists in the project root. */
|
|
22
|
-
hasSPM: boolean;
|
|
23
|
-
/** Relative path to .xcworkspace (preferred) or .xcodeproj. */
|
|
24
|
-
projectPath: string;
|
|
25
|
-
/** True if project.pbxproj indicates manual code signing. */
|
|
26
|
-
hasSigningConfig: boolean;
|
|
27
|
-
/** DEVELOPMENT_TEAM value from project.pbxproj, or empty string if not found. */
|
|
28
|
-
developmentTeam: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* The detected schemes, best first.
|
|
32
|
-
*
|
|
33
|
-
* `detectedSchemes[0]` is what every caller writes into `IOS_SCHEME`, and it
|
|
34
|
-
* used to be whatever `readdirSync` returned first. A space (0x20) sorts
|
|
35
|
-
* before a period (0x2E), so `"<App> <Suffix>.xcscheme"` **always** lists
|
|
36
|
-
* before `"<App>.xcscheme"`: an app named after its own project loses to its
|
|
37
|
-
* extension or its tvOS companion every time. Four of the eight iOS rows that
|
|
38
|
-
* built in the thirty-app study were given a non-app scheme that way — Stay
|
|
39
|
-
* built its extension and reported "no test bundles available to test";
|
|
40
|
-
* Swiftfin built its tvOS scheme and could not find an iOS Simulator
|
|
41
|
-
* destination.
|
|
42
|
-
*
|
|
43
|
-
* The order, in the terms the scheme XML actually states:
|
|
44
|
-
*
|
|
45
|
-
* 1. named after the project or workspace — the commonest case, and
|
|
46
|
-
* unambiguous;
|
|
47
|
-
* 2. launches the product named after the project, and is not a companion.
|
|
48
|
-
* `thebaselab/codeapp` is why this outranks the next one: its `Code App`
|
|
49
|
-
* scheme launches `Code.app` and declares no tests at all, while `Code UI`
|
|
50
|
-
* has two test bundles and launches `CodeUI.app`;
|
|
51
|
-
* 3. launches an `.app`, declares tests (the template runs them), and is not a
|
|
52
|
-
* companion; among several, the iOS or Debug one, then the shortest;
|
|
53
|
-
* 4. launches an `.app` and is not a companion;
|
|
54
|
-
* 5. whatever order it came in.
|
|
55
|
-
*
|
|
56
|
-
* Every scheme stays in the list — this reorders, it does not filter, so a
|
|
57
|
-
* caller wanting the extension can still find it.
|
|
58
|
-
*
|
|
59
|
-
* **What "companion" has to mean, and why a name is not enough.**
|
|
60
|
-
* `mozilla-mobile/firefox-ios` broke tiers 1-4 without touching the directory
|
|
61
|
-
* order this function was written for. Its project is `Client.xcodeproj`, so
|
|
62
|
-
* `projectName` is `Client`. An app extension is launched *through its host
|
|
63
|
-
* app*, so the `Today` widget scheme's LaunchAction runnable is `Client.app` —
|
|
64
|
-
* identical to `Fennec`'s. Both landed in tier 1, neither name carries an `iOS`
|
|
65
|
-
* or `Debug` token, and the tie fell to name length:
|
|
66
|
-
*
|
|
67
|
-
* "Today" -> 5 characters <- won
|
|
68
|
-
* "Fennec" -> 6 characters
|
|
69
|
-
*
|
|
70
|
-
* The build then failed compiling `ActionExtension` rather than the browser
|
|
71
|
-
* (`bld_b1b38dda58f4111080415283`).
|
|
72
|
-
*
|
|
73
|
-
* Launching the app binary is therefore not sufficient, and the answer is not a
|
|
74
|
-
* longer name blocklist either — `Today` names nothing. Xcode states the fact
|
|
75
|
-
* outright: it writes `wasCreatedForAppExtension = "YES"` onto the `<Scheme>`
|
|
76
|
-
* element of a scheme it created for an extension target, so that is what is
|
|
77
|
-
* read.
|
|
78
|
-
*
|
|
79
|
-
* Measured over all 125 shared schemes in the thirty-app study's clones: 29
|
|
80
|
-
* carry the attribute, and **all 29 are extension schemes** — no false
|
|
81
|
-
* positive. It is also the only signal that would have worked. Two that were
|
|
82
|
-
* considered and are wrong on this same evidence:
|
|
83
|
-
*
|
|
84
|
-
* - *require an `.app` among the BuildAction entries.* 27 of the 29 extension
|
|
85
|
-
* schemes build the host app too — `Today` builds
|
|
86
|
-
* `["Today.appex", "Client.app"]` — so this demotes 2 of 29 and leaves
|
|
87
|
-
* firefox-ios picking `Today`.
|
|
88
|
-
* - *demote anything building an `.appex`.* `chenqi92/primuse`'s `Primuse`
|
|
89
|
-
* scheme is the real app scheme and builds two widget extensions alongside
|
|
90
|
-
* `Primuse.app`.
|
|
91
|
-
*
|
|
92
|
-
* The attribute is a sufficient signal, not a necessary one: a hand-written or
|
|
93
|
-
* pre-Xcode-10 scheme may omit it, and its absence changes nothing, so nothing
|
|
94
|
-
* that ranked before can regress on a scheme that does not carry it.
|
|
95
|
-
*/
|
|
96
|
-
export declare function rankSchemes(root: string, projectPath: string, schemes: string[]): string[];
|
|
97
|
-
/** The ranking, plus the sentence explaining its first entry. */
|
|
98
|
-
export declare function rankSchemesWithReason(root: string, projectPath: string, schemes: string[]): {
|
|
99
|
-
schemes: string[];
|
|
100
|
-
reason?: string;
|
|
101
|
-
};
|
|
102
|
-
export declare function scanIosProject(projectRoot: string): Promise<IosScanResult>;
|
|
103
|
-
export declare function formatIosScanResult(result: IosScanResult): string;
|
|
104
|
-
//# sourceMappingURL=ios-scanner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ios-scanner.d.ts","sourceRoot":"","sources":["../../../src/commands/ios-scanner.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE7F,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;CACzB;AAiFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CAEV;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA8CxC;AAkLD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAgGhF;AAaD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAkDjE"}
|