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