@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,30 +0,0 @@
|
|
|
1
|
-
import type { YAMLPipeline } from "../yaml/types.js";
|
|
2
|
-
import type { CIConfig } from "../types.js";
|
|
3
|
-
/**
|
|
4
|
-
* True only when stdin AND stdout are real TTYs AND the caller has not
|
|
5
|
-
* explicitly opted out of interactivity.
|
|
6
|
-
*
|
|
7
|
-
* `process.stdin.isTTY` is unreliable as a sole signal: Tart guest
|
|
8
|
-
* sessions opened via `tart exec` attach a pseudo-TTY, so the check
|
|
9
|
-
* passes and the prompt runs — only for nobody to ever answer it. The
|
|
10
|
-
* runner sets `CIBUILD_NON_INTERACTIVE=1` (and the generic `CI=1` env
|
|
11
|
-
* is also honored) to make the override unambiguous regardless of
|
|
12
|
-
* whether the shell looks interactive.
|
|
13
|
-
*/
|
|
14
|
-
export declare function isInteractiveTTY(): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Shows an interactive workflow picker. If exactly one workflow exists,
|
|
17
|
-
* returns it without prompting. Returns `undefined` when the user cancels
|
|
18
|
-
* or no workflows are defined.
|
|
19
|
-
*/
|
|
20
|
-
export declare function promptForWorkflow(workflows: string[]): Promise<string | undefined>;
|
|
21
|
-
/**
|
|
22
|
-
* Runs pre-execution validation, separates issues into user-fillable
|
|
23
|
-
* (missing env vars) vs hard-blocking, and collects all missing values
|
|
24
|
-
* upfront in a single form-like pass before execution begins.
|
|
25
|
-
*
|
|
26
|
-
* @returns true if it's safe to proceed, false if the user cancelled or
|
|
27
|
-
* hard errors exist.
|
|
28
|
-
*/
|
|
29
|
-
export declare function promptForMissingVariables(yamlPipeline: YAMLPipeline, workflowName: string, config: CIConfig, yamlFilePath: string): Promise<boolean>;
|
|
30
|
-
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/shared/prompts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAU1C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0BxF;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAwFlB"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import prompts from "prompts";
|
|
2
|
-
import { StepValidator, formatValidationResult } from "../yaml/step-validator.js";
|
|
3
|
-
import { MissingEnvHandler } from "../yaml/missing-env-handler.js";
|
|
4
|
-
import { MissingEnvironmentVariableError } from "../yaml/env-resolver.js";
|
|
5
|
-
/**
|
|
6
|
-
* True only when stdin AND stdout are real TTYs AND the caller has not
|
|
7
|
-
* explicitly opted out of interactivity.
|
|
8
|
-
*
|
|
9
|
-
* `process.stdin.isTTY` is unreliable as a sole signal: Tart guest
|
|
10
|
-
* sessions opened via `tart exec` attach a pseudo-TTY, so the check
|
|
11
|
-
* passes and the prompt runs — only for nobody to ever answer it. The
|
|
12
|
-
* runner sets `CIBUILD_NON_INTERACTIVE=1` (and the generic `CI=1` env
|
|
13
|
-
* is also honored) to make the override unambiguous regardless of
|
|
14
|
-
* whether the shell looks interactive.
|
|
15
|
-
*/
|
|
16
|
-
export function isInteractiveTTY() {
|
|
17
|
-
if (process.env.CIBUILD_NON_INTERACTIVE === '1' ||
|
|
18
|
-
process.env.CIBUILD_NON_INTERACTIVE === 'true' ||
|
|
19
|
-
process.env.CI === '1' ||
|
|
20
|
-
process.env.CI === 'true') {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Shows an interactive workflow picker. If exactly one workflow exists,
|
|
27
|
-
* returns it without prompting. Returns `undefined` when the user cancels
|
|
28
|
-
* or no workflows are defined.
|
|
29
|
-
*/
|
|
30
|
-
export async function promptForWorkflow(workflows) {
|
|
31
|
-
if (workflows.length === 0) {
|
|
32
|
-
console.error("Error: No workflows found in pipeline file");
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
if (workflows.length === 1) {
|
|
36
|
-
console.log(`Using workflow: ${workflows[0]}\n`);
|
|
37
|
-
return workflows[0];
|
|
38
|
-
}
|
|
39
|
-
const response = await prompts({
|
|
40
|
-
type: "select",
|
|
41
|
-
name: "workflow",
|
|
42
|
-
message: "Select a workflow to run:",
|
|
43
|
-
choices: workflows.map((name) => ({ title: name, value: name })),
|
|
44
|
-
initial: 0,
|
|
45
|
-
});
|
|
46
|
-
if (!response.workflow) {
|
|
47
|
-
console.log("\nWorkflow selection cancelled");
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
console.log();
|
|
51
|
-
return response.workflow;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Runs pre-execution validation, separates issues into user-fillable
|
|
55
|
-
* (missing env vars) vs hard-blocking, and collects all missing values
|
|
56
|
-
* upfront in a single form-like pass before execution begins.
|
|
57
|
-
*
|
|
58
|
-
* @returns true if it's safe to proceed, false if the user cancelled or
|
|
59
|
-
* hard errors exist.
|
|
60
|
-
*/
|
|
61
|
-
export async function promptForMissingVariables(yamlPipeline, workflowName, config, yamlFilePath) {
|
|
62
|
-
console.log(`\n🔍 Running pre-execution validation...`);
|
|
63
|
-
const validator = new StepValidator(yamlPipeline, workflowName, config, yamlFilePath);
|
|
64
|
-
const result = await validator.validateWorkflow();
|
|
65
|
-
const errorIssues = result.issues.filter((i) => i.requirement.severity === "error" && i.result && !i.result.passed);
|
|
66
|
-
const fillable = errorIssues.filter((i) => i.requirement.timing === "pre-execution" &&
|
|
67
|
-
(i.requirement.category === "environment" || i.requirement.category === "input"));
|
|
68
|
-
const blocking = errorIssues.filter((i) => !(i.requirement.timing === "pre-execution" &&
|
|
69
|
-
(i.requirement.category === "environment" || i.requirement.category === "input")));
|
|
70
|
-
if (blocking.length > 0) {
|
|
71
|
-
console.log(formatValidationResult(result));
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
if (fillable.length === 0) {
|
|
75
|
-
if (result.counts.warnings > 0 || result.counts.info > 0) {
|
|
76
|
-
console.log(formatValidationResult(result));
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
console.log("✅ Pre-execution validation passed\n");
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
console.log(`\n${fillable.length} required value(s) missing — provide them to continue:\n`);
|
|
84
|
-
for (const issue of fillable) {
|
|
85
|
-
const stepInfo = issue.stepName ? ` needed by: ${issue.stepName}` : "";
|
|
86
|
-
console.log(` • ${issue.requirement.name.padEnd(30)}${stepInfo}`);
|
|
87
|
-
}
|
|
88
|
-
console.log();
|
|
89
|
-
if (!isInteractiveTTY()) {
|
|
90
|
-
console.error("\n❌ Cannot prompt for missing values: no interactive TTY available (running in a sandbox / CI).\n" +
|
|
91
|
-
" Define the required values as env vars, secrets, or app.envs before dispatch, then retry.");
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
const handler = new MissingEnvHandler({
|
|
95
|
-
interactive: true,
|
|
96
|
-
workflow: workflowName,
|
|
97
|
-
});
|
|
98
|
-
for (let i = 0; i < fillable.length; i++) {
|
|
99
|
-
const issue = fillable[i];
|
|
100
|
-
const error = new MissingEnvironmentVariableError(issue.requirement.name, issue.stepName, issue.requirement.hint);
|
|
101
|
-
const original = console.log;
|
|
102
|
-
const label = `(${i + 1} of ${fillable.length})`;
|
|
103
|
-
let patched = false;
|
|
104
|
-
console.log = (...args) => {
|
|
105
|
-
if (!patched && typeof args[0] === "string" && args[0].includes("MISSING REQUIRED")) {
|
|
106
|
-
original(`║ MISSING REQUIRED ENVIRONMENT VARIABLE ${label.padEnd(28)}║`);
|
|
107
|
-
patched = true;
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
original(...args);
|
|
111
|
-
};
|
|
112
|
-
const handleResult = await handler.handleMissingVariable(error);
|
|
113
|
-
console.log = original;
|
|
114
|
-
if (handleResult.cancelled) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
handler.close();
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xcode-container.test.d.ts","sourceRoot":"","sources":["../../../src/shared/xcode-container.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A `.xcodeproj` with no `project.pbxproj` is not a project.
|
|
3
|
-
*
|
|
4
|
-
* `Uwi0/Oakane` is the row. Its `iosApp/` ships two Xcode projects: a tracked
|
|
5
|
-
* `iosApp.xcodeproj` holding nothing but `project.xcworkspace/`, and the real
|
|
6
|
-
* `oakane.xcodeproj` beside it. The scan chose the husk — `iosApp` is the name
|
|
7
|
-
* the KMM wizard gives, so the conventional name outranked the project that
|
|
8
|
-
* exists — and the build died at step 9 on
|
|
9
|
-
*
|
|
10
|
-
* xcodebuild: error: Unable to read project 'iosApp.xcodeproj' …
|
|
11
|
-
* Reason: … missing its project.pbxproj file.
|
|
12
|
-
*
|
|
13
|
-
* The husk supplied `IOS_SCHEME` too: with no shared schemes anywhere in that
|
|
14
|
-
* repository, `detectSchemes` falls back to each project's own directory name,
|
|
15
|
-
* so the husk contributed the scheme `iosApp` as well as the project path.
|
|
16
|
-
*
|
|
17
|
-
* This is the iOS twin of the Gradle module scan once treating "a directory
|
|
18
|
-
* holding a file called build.gradle" as a module, and it is fixed the same
|
|
19
|
-
* way: one reader, used by everyone.
|
|
20
|
-
*/
|
|
21
|
-
import { mkdtempSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
|
|
22
|
-
import { join } from "node:path";
|
|
23
|
-
import { tmpdir } from "node:os";
|
|
24
|
-
import { isXcodeContainer, xcodeContainersIn, detectMobileProjectRoot } from "./detect-project.js";
|
|
25
|
-
import { scanIosProject } from "../commands/ios-scanner.js";
|
|
26
|
-
let root;
|
|
27
|
-
beforeEach(() => {
|
|
28
|
-
root = mkdtempSync(join(tmpdir(), "cibuild-husk-"));
|
|
29
|
-
});
|
|
30
|
-
afterEach(() => {
|
|
31
|
-
rmSync(root, { recursive: true, force: true });
|
|
32
|
-
});
|
|
33
|
-
/** A project Xcode could open. */
|
|
34
|
-
function project(name) {
|
|
35
|
-
mkdirSync(join(root, `${name}.xcodeproj`), { recursive: true });
|
|
36
|
-
writeFileSync(join(root, `${name}.xcodeproj`, "project.pbxproj"), "// !$*UTF8*$!\n");
|
|
37
|
-
}
|
|
38
|
-
/** Oakane's shape: the name, the inner workspace, and no project at all. */
|
|
39
|
-
function husk(name) {
|
|
40
|
-
mkdirSync(join(root, `${name}.xcodeproj`, "project.xcworkspace"), { recursive: true });
|
|
41
|
-
writeFileSync(join(root, `${name}.xcodeproj`, "project.xcworkspace", "contents.xcworkspacedata"), '<?xml version="1.0" encoding="UTF-8"?>\n<Workspace version = "1.0"></Workspace>\n');
|
|
42
|
-
}
|
|
43
|
-
function workspace(name) {
|
|
44
|
-
mkdirSync(join(root, `${name}.xcworkspace`), { recursive: true });
|
|
45
|
-
writeFileSync(join(root, `${name}.xcworkspace`, "contents.xcworkspacedata"), '<?xml version="1.0" encoding="UTF-8"?>\n<Workspace version = "1.0"></Workspace>\n');
|
|
46
|
-
}
|
|
47
|
-
describe("isXcodeContainer", () => {
|
|
48
|
-
test("a project with a project.pbxproj is one", () => {
|
|
49
|
-
project("Real");
|
|
50
|
-
expect(isXcodeContainer(join(root, "Real.xcodeproj"))).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
test("a project with no project.pbxproj is not", () => {
|
|
53
|
-
husk("iosApp");
|
|
54
|
-
expect(isXcodeContainer(join(root, "iosApp.xcodeproj"))).toBe(false);
|
|
55
|
-
});
|
|
56
|
-
test("an empty project.pbxproj is not a project either", () => {
|
|
57
|
-
mkdirSync(join(root, "Empty.xcodeproj"), { recursive: true });
|
|
58
|
-
writeFileSync(join(root, "Empty.xcodeproj", "project.pbxproj"), "");
|
|
59
|
-
expect(isXcodeContainer(join(root, "Empty.xcodeproj"))).toBe(false);
|
|
60
|
-
});
|
|
61
|
-
test("a workspace needs its contents.xcworkspacedata", () => {
|
|
62
|
-
workspace("Real");
|
|
63
|
-
mkdirSync(join(root, "Husk.xcworkspace"), { recursive: true });
|
|
64
|
-
expect(isXcodeContainer(join(root, "Real.xcworkspace"))).toBe(true);
|
|
65
|
-
expect(isXcodeContainer(join(root, "Husk.xcworkspace"))).toBe(false);
|
|
66
|
-
});
|
|
67
|
-
test("a path that is not named like a container is never one", () => {
|
|
68
|
-
mkdirSync(join(root, "Sources"), { recursive: true });
|
|
69
|
-
expect(isXcodeContainer(join(root, "Sources"))).toBe(false);
|
|
70
|
-
expect(isXcodeContainer(join(root, "does-not-exist"))).toBe(false);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
describe("xcodeContainersIn", () => {
|
|
74
|
-
test("keeps the real projects and drops the husks", () => {
|
|
75
|
-
husk("iosApp");
|
|
76
|
-
project("oakane");
|
|
77
|
-
expect(xcodeContainersIn(root)).toEqual(["oakane.xcodeproj"]);
|
|
78
|
-
});
|
|
79
|
-
test("an unreadable directory is empty, not a throw", () => {
|
|
80
|
-
expect(xcodeContainersIn(join(root, "nowhere"))).toEqual([]);
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
describe("detectMobileProjectRoot", () => {
|
|
84
|
-
test("a husk alone is not an iOS project root", () => {
|
|
85
|
-
husk("iosApp");
|
|
86
|
-
expect(detectMobileProjectRoot(root)).toBeNull();
|
|
87
|
-
});
|
|
88
|
-
test("a real project beside a husk still is", () => {
|
|
89
|
-
husk("iosApp");
|
|
90
|
-
project("oakane");
|
|
91
|
-
expect(detectMobileProjectRoot(root)).toBe("ios");
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
describe("scanIosProject", () => {
|
|
95
|
-
test("Oakane's shape resolves the project that exists, and its scheme", async () => {
|
|
96
|
-
husk("iosApp");
|
|
97
|
-
project("oakane");
|
|
98
|
-
const scan = await scanIosProject(root);
|
|
99
|
-
expect(scan.projectPath).toBe("oakane.xcodeproj");
|
|
100
|
-
// No shared schemes anywhere, so each project falls back to its own name —
|
|
101
|
-
// and only one of them is a project.
|
|
102
|
-
expect(scan.detectedSchemes).toEqual(["oakane"]);
|
|
103
|
-
});
|
|
104
|
-
test("a repository whose only project is a husk resolves nothing", async () => {
|
|
105
|
-
husk("iosApp");
|
|
106
|
-
const scan = await scanIosProject(root);
|
|
107
|
-
expect(scan.projectPath).toBe("");
|
|
108
|
-
expect(scan.detectedSchemes).toEqual([]);
|
|
109
|
-
});
|
|
110
|
-
test("a single valid project is unchanged", async () => {
|
|
111
|
-
project("Contributions");
|
|
112
|
-
const scan = await scanIosProject(root);
|
|
113
|
-
expect(scan.projectPath).toBe("Contributions.xcodeproj");
|
|
114
|
-
expect(scan.detectedSchemes).toEqual(["Contributions"]);
|
|
115
|
-
});
|
|
116
|
-
test("a workspace still outranks a project beside it", async () => {
|
|
117
|
-
project("QiniuSDK");
|
|
118
|
-
workspace("QiniuSDK");
|
|
119
|
-
const scan = await scanIosProject(root);
|
|
120
|
-
expect(scan.projectPath).toBe("QiniuSDK.xcworkspace");
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
//# sourceMappingURL=xcode-container.test.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare function formatStepMarker(stepNumber: number, stepName: string): string;
|
|
2
|
-
/**
|
|
3
|
-
* cibuild ships publicly on npm as `@invarn/cibuild`. Emitting the marker
|
|
4
|
-
* unconditionally would leak Invarn's log-parsing protocol into external
|
|
5
|
-
* users' stdout. The Invarn runner (cibuild-runner) opts in by exporting
|
|
6
|
-
* INVARN_RUNNER=1 into the sandbox; everywhere else this returns false
|
|
7
|
-
* and the runner stays quiet.
|
|
8
|
-
*
|
|
9
|
-
* Strict equality to "1" — no truthy parsing — keeps the contract crisp.
|
|
10
|
-
*/
|
|
11
|
-
export declare function shouldEmitStepMarker(env?: NodeJS.ProcessEnv): boolean;
|
|
12
|
-
//# sourceMappingURL=step-marker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"step-marker.d.ts","sourceRoot":"","sources":["../../src/step-marker.ts"],"names":[],"mappings":"AAcA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAElF"}
|
package/dist/src/step-marker.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Producer side of the INVARN_STEP marker contract.
|
|
3
|
-
*
|
|
4
|
-
* The dashboard's `lib/shared/step-progress.ts` parses runtime logs for
|
|
5
|
-
* lines matching `/▸ INVARN_STEP:(\d+):(.+)/` to populate
|
|
6
|
-
* `BuildEnrichment.parsedSteps`. The runner emits one marker per step
|
|
7
|
-
* via `console.log(formatStepMarker(...))` before executing it, so every
|
|
8
|
-
* build (agent or not) gets symmetric step telemetry.
|
|
9
|
-
*
|
|
10
|
-
* Step name is embedded as-is. The dashboard parser uses `(.+)` (greedy),
|
|
11
|
-
* so step names containing colons (`build:android:debug`) round-trip.
|
|
12
|
-
*/
|
|
13
|
-
const STEP_MARKER_PREFIX = '▸ INVARN_STEP';
|
|
14
|
-
export function formatStepMarker(stepNumber, stepName) {
|
|
15
|
-
return `${STEP_MARKER_PREFIX}:${stepNumber}:${stepName}`;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* cibuild ships publicly on npm as `@invarn/cibuild`. Emitting the marker
|
|
19
|
-
* unconditionally would leak Invarn's log-parsing protocol into external
|
|
20
|
-
* users' stdout. The Invarn runner (cibuild-runner) opts in by exporting
|
|
21
|
-
* INVARN_RUNNER=1 into the sandbox; everywhere else this returns false
|
|
22
|
-
* and the runner stays quiet.
|
|
23
|
-
*
|
|
24
|
-
* Strict equality to "1" — no truthy parsing — keeps the contract crisp.
|
|
25
|
-
*/
|
|
26
|
-
export function shouldEmitStepMarker(env = process.env) {
|
|
27
|
-
return env.INVARN_RUNNER === '1';
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=step-marker.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for the INVARN_STEP marker formatter.
|
|
3
|
-
*
|
|
4
|
-
* The dashboard's `lib/shared/step-progress.ts` parses runtime logs for
|
|
5
|
-
* lines matching `/▸ INVARN_STEP:(\d+):(.+)/` to populate
|
|
6
|
-
* `BuildEnrichment.parsedSteps`. This formatter is the producer side of
|
|
7
|
-
* that contract — the runner emits one marker per step before executing
|
|
8
|
-
* it so non-agent builds get symmetric step telemetry.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=step-marker.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"step-marker.test.d.ts","sourceRoot":"","sources":["../../src/step-marker.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for the INVARN_STEP marker formatter.
|
|
3
|
-
*
|
|
4
|
-
* The dashboard's `lib/shared/step-progress.ts` parses runtime logs for
|
|
5
|
-
* lines matching `/▸ INVARN_STEP:(\d+):(.+)/` to populate
|
|
6
|
-
* `BuildEnrichment.parsedSteps`. This formatter is the producer side of
|
|
7
|
-
* that contract — the runner emits one marker per step before executing
|
|
8
|
-
* it so non-agent builds get symmetric step telemetry.
|
|
9
|
-
*/
|
|
10
|
-
import { describe, test, expect } from '@jest/globals';
|
|
11
|
-
import { formatStepMarker, shouldEmitStepMarker } from './step-marker.js';
|
|
12
|
-
describe('formatStepMarker', () => {
|
|
13
|
-
test('formats a step number and name as the wire-format marker', () => {
|
|
14
|
-
expect(formatStepMarker(1, 'install-deps')).toBe('▸ INVARN_STEP:1:install-deps');
|
|
15
|
-
});
|
|
16
|
-
test('preserves colons in the step name (the dashboard parser is greedy on the trailing capture)', () => {
|
|
17
|
-
expect(formatStepMarker(2, 'build:android:debug')).toBe('▸ INVARN_STEP:2:build:android:debug');
|
|
18
|
-
});
|
|
19
|
-
test('uses 1-indexed step numbers (matches the agent generator and dashboard parser)', () => {
|
|
20
|
-
expect(formatStepMarker(3, 'lint')).toBe('▸ INVARN_STEP:3:lint');
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
/**
|
|
24
|
-
* Gate that keeps the marker off when cibuild is used outside Invarn
|
|
25
|
-
* infrastructure. cibuild ships publicly on npm as @invarn/cibuild and
|
|
26
|
-
* must not leak Invarn's log-parsing protocol into external users' stdout.
|
|
27
|
-
* The Invarn runner (cibuild-runner) opts in by exporting INVARN_RUNNER=1
|
|
28
|
-
* into the sandbox alongside CIBUILD_NON_INTERACTIVE / CI.
|
|
29
|
-
*/
|
|
30
|
-
describe('shouldEmitStepMarker', () => {
|
|
31
|
-
test('returns true only when INVARN_RUNNER === "1"', () => {
|
|
32
|
-
expect(shouldEmitStepMarker({ INVARN_RUNNER: '1' })).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
test('returns false when INVARN_RUNNER is absent (public/external cibuild use)', () => {
|
|
35
|
-
expect(shouldEmitStepMarker({})).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
test('returns false for INVARN_RUNNER values that are not literally "1"', () => {
|
|
38
|
-
// Strict equality keeps the wire-level handshake unambiguous — no truthy parsing.
|
|
39
|
-
expect(shouldEmitStepMarker({ INVARN_RUNNER: '0' })).toBe(false);
|
|
40
|
-
expect(shouldEmitStepMarker({ INVARN_RUNNER: 'true' })).toBe(false);
|
|
41
|
-
expect(shouldEmitStepMarker({ INVARN_RUNNER: '' })).toBe(false);
|
|
42
|
-
expect(shouldEmitStepMarker({ INVARN_RUNNER: ' 1 ' })).toBe(false);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=step-marker.test.js.map
|
package/dist/src/types.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
export interface StepDef {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
kind: "script" | "python" | "ruby" | "node";
|
|
5
|
-
shell?: string;
|
|
6
|
-
script: string;
|
|
7
|
-
isSkippable?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface PipelineDef {
|
|
10
|
-
name: string;
|
|
11
|
-
artifacts: string[];
|
|
12
|
-
steps: StepDef[];
|
|
13
|
-
stepsOrder: string[];
|
|
14
|
-
}
|
|
15
|
-
export interface CIConfig {
|
|
16
|
-
artifactsDir: string;
|
|
17
|
-
interpreters: {
|
|
18
|
-
python: string;
|
|
19
|
-
ruby: string;
|
|
20
|
-
node: string;
|
|
21
|
-
bash: string;
|
|
22
|
-
};
|
|
23
|
-
maxConcurrentJobs: number;
|
|
24
|
-
paths: {
|
|
25
|
-
buildsDir: string;
|
|
26
|
-
cacheDir: string;
|
|
27
|
-
peerCacheDir?: string;
|
|
28
|
-
derivedDataDir: string;
|
|
29
|
-
};
|
|
30
|
-
/** When true, steps that require remote infrastructure (S3, servers) skip gracefully */
|
|
31
|
-
local?: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface StepBuilders {
|
|
34
|
-
script(name: string, options: {
|
|
35
|
-
id: string;
|
|
36
|
-
shell?: string;
|
|
37
|
-
script: string;
|
|
38
|
-
}): void;
|
|
39
|
-
python(name: string, options: {
|
|
40
|
-
id: string;
|
|
41
|
-
script: string;
|
|
42
|
-
}): void;
|
|
43
|
-
ruby(name: string, options: {
|
|
44
|
-
id: string;
|
|
45
|
-
script: string;
|
|
46
|
-
}): void;
|
|
47
|
-
node(name: string, options: {
|
|
48
|
-
id: string;
|
|
49
|
-
script: string;
|
|
50
|
-
}): void;
|
|
51
|
-
}
|
|
52
|
-
export interface PipelineContext {
|
|
53
|
-
artifacts(paths: string[]): void;
|
|
54
|
-
steps(builder: (s: StepBuilders) => void): void;
|
|
55
|
-
stepsOrder(ids: string[]): void;
|
|
56
|
-
}
|
|
57
|
-
export type PipelineFactory = (name: string, builder: (ctx: PipelineContext) => void) => PipelineDef;
|
|
58
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/src/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,KAAK,WAAW,CAAC"}
|
package/dist/src/types.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A `cache_paths` entry must not contain the file a `file@` step writes.
|
|
3
|
-
*
|
|
4
|
-
* Everything else about a credential's life inside a build is bounded, and was
|
|
5
|
-
* checked on the three boxes after the first build that ever wrote one: the
|
|
6
|
-
* runner pushes the checkout and the guest root onto `cleanupPaths` and
|
|
7
|
-
* removes them in a `finally`, the guest gets `rm -rf`, and `tart delete`
|
|
8
|
-
* reclaims the VM. Nothing was left anywhere.
|
|
9
|
-
*
|
|
10
|
-
* The cache store is the one place a file can survive all of that.
|
|
11
|
-
* `cache-push` archives whatever `cache_paths` names and uploads it to where
|
|
12
|
-
* the *next* build pulls it from, so a credential swept into that archive
|
|
13
|
-
* outlives the build it was delivered to — and outlives the sandbox that was
|
|
14
|
-
* supposed to contain it.
|
|
15
|
-
*
|
|
16
|
-
* No pipeline in play trips this. Every one of them caches
|
|
17
|
-
* `~/.gradle/caches`, `~/.gradle/wrapper` and `.gradle`, and none of those
|
|
18
|
-
* holds a credential. It is a guard on a mistake that is easy to make and
|
|
19
|
-
* invisible once made: adding `.` to `cache_paths` is a plausible way to make
|
|
20
|
-
* a build faster, and it would publish the signing key.
|
|
21
|
-
*
|
|
22
|
-
* Refused at generation time, like issue 03's missing credential, because that
|
|
23
|
-
* is the only place that can see a whole workflow at once — a cache step can
|
|
24
|
-
* be written before the `file@` step whose target it would swallow — and
|
|
25
|
-
* because the alternative is a build that goes green while leaking.
|
|
26
|
-
*/
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=a-cache-path-must-not-swallow-a-credential.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a-cache-path-must-not-swallow-a-credential.test.d.ts","sourceRoot":"","sources":["../../../src/yaml/a-cache-path-must-not-swallow-a-credential.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
|