@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,525 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for platform detection
|
|
3
|
-
*/
|
|
4
|
-
import { describe, test, expect } from '@jest/globals';
|
|
5
|
-
import { PlatformDetector, detectPlatform, detectPlatformInfo, PlatformDetectionError } from './platform-detector.js';
|
|
6
|
-
describe('PlatformDetector', () => {
|
|
7
|
-
describe('Priority 1: Extract from meta.cibuild.io.stack', () => {
|
|
8
|
-
test('should detect macOS from stack', () => {
|
|
9
|
-
const pipeline = {
|
|
10
|
-
format_version: '4',
|
|
11
|
-
meta: {
|
|
12
|
-
'cibuild.io': {
|
|
13
|
-
stack: 'macos-ventura-xcode-15.1',
|
|
14
|
-
machine_type: 'performance',
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
workflows: {
|
|
18
|
-
primary: {
|
|
19
|
-
steps: [{ 'script@1.0.0': { inputs: { content: 'echo "test"' } } }],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
24
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
25
|
-
expect(detector.getStack()).toBe('macos-ventura-xcode-15.1');
|
|
26
|
-
expect(detector.getMachineType()).toBe('performance');
|
|
27
|
-
});
|
|
28
|
-
test('should detect linux from stack', () => {
|
|
29
|
-
const pipeline = {
|
|
30
|
-
format_version: '4',
|
|
31
|
-
meta: {
|
|
32
|
-
'cibuild.io': {
|
|
33
|
-
stack: 'linux-docker-android-22.04',
|
|
34
|
-
machine_type: 'standard',
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
workflows: {
|
|
38
|
-
primary: {
|
|
39
|
-
steps: [{ 'script@1.0.0': { inputs: { content: 'echo "test"' } } }],
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
44
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
45
|
-
expect(detector.getStack()).toBe('linux-docker-android-22.04');
|
|
46
|
-
expect(detector.getMachineType()).toBe('standard');
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe('Priority 1: Extract from meta.invarn.stack', () => {
|
|
50
|
-
test('should detect macOS from meta.invarn stack when only invarn is present', () => {
|
|
51
|
-
const pipeline = {
|
|
52
|
-
format_version: '4',
|
|
53
|
-
meta: {
|
|
54
|
-
invarn: {
|
|
55
|
-
stack: 'macos-xcode-26.4',
|
|
56
|
-
machine_type: 'standard',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
workflows: {
|
|
60
|
-
primary: {
|
|
61
|
-
steps: [{ 'script@1.0.0': { inputs: { content: 'echo "test"' } } }],
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
66
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
67
|
-
expect(detector.getStack()).toBe('macos-xcode-26.4');
|
|
68
|
-
expect(detector.getMachineType()).toBe('standard');
|
|
69
|
-
});
|
|
70
|
-
test('should prefer meta.invarn over meta.cibuild.io when both are present', () => {
|
|
71
|
-
const pipeline = {
|
|
72
|
-
format_version: '4',
|
|
73
|
-
meta: {
|
|
74
|
-
invarn: {
|
|
75
|
-
stack: 'macos-xcode-26.4',
|
|
76
|
-
machine_type: 'performance',
|
|
77
|
-
},
|
|
78
|
-
'cibuild.io': {
|
|
79
|
-
stack: 'linux-docker-android-22.04',
|
|
80
|
-
machine_type: 'standard',
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
workflows: {
|
|
84
|
-
primary: {
|
|
85
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
90
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
91
|
-
expect(detector.getStack()).toBe('macos-xcode-26.4');
|
|
92
|
-
expect(detector.getMachineType()).toBe('performance');
|
|
93
|
-
});
|
|
94
|
-
test('should expose meta.invarn fields via getPlatformInfo()', () => {
|
|
95
|
-
const pipeline = {
|
|
96
|
-
format_version: '4',
|
|
97
|
-
meta: {
|
|
98
|
-
invarn: {
|
|
99
|
-
stack: 'linux-docker-android-22.04',
|
|
100
|
-
machine_type: 'performance',
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
workflows: {
|
|
104
|
-
primary: {
|
|
105
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
110
|
-
const info = detector.getPlatformInfo();
|
|
111
|
-
expect(info.platform).toBe('linux');
|
|
112
|
-
expect(info.stack).toBe('linux-docker-android-22.04');
|
|
113
|
-
expect(info.machineType).toBe('performance');
|
|
114
|
-
});
|
|
115
|
-
test('should treat a partial meta.invarn block as the sole source — meta.cibuild.io is ignored field-by-field', () => {
|
|
116
|
-
// PRD: "When both are present, meta.invarn wins." Block-level precedence — once
|
|
117
|
-
// meta.invarn appears, the legacy meta.cibuild.io block is treated as stale and ignored.
|
|
118
|
-
const pipeline = {
|
|
119
|
-
format_version: '4',
|
|
120
|
-
meta: {
|
|
121
|
-
invarn: {
|
|
122
|
-
stack: 'macos-xcode-26.4',
|
|
123
|
-
},
|
|
124
|
-
'cibuild.io': {
|
|
125
|
-
stack: 'linux-docker-android-22.04',
|
|
126
|
-
machine_type: 'performance',
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
workflows: {
|
|
130
|
-
primary: {
|
|
131
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
136
|
-
expect(detector.getStack()).toBe('macos-xcode-26.4');
|
|
137
|
-
expect(detector.getMachineType()).toBeNull();
|
|
138
|
-
});
|
|
139
|
-
test('should fall back to meta.cibuild.io when meta.invarn is absent (backward-compat lock-in)', () => {
|
|
140
|
-
const pipeline = {
|
|
141
|
-
format_version: '4',
|
|
142
|
-
meta: {
|
|
143
|
-
'cibuild.io': {
|
|
144
|
-
stack: 'macos-xcode-26.4',
|
|
145
|
-
machine_type: 'performance',
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
workflows: {
|
|
149
|
-
primary: {
|
|
150
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
};
|
|
154
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
155
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
156
|
-
expect(detector.getStack()).toBe('macos-xcode-26.4');
|
|
157
|
-
expect(detector.getMachineType()).toBe('performance');
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
describe('Priority 2: Use meta.platform field', () => {
|
|
161
|
-
test('should use meta.platform when stack not specified', () => {
|
|
162
|
-
const pipeline = {
|
|
163
|
-
format_version: '4',
|
|
164
|
-
meta: {
|
|
165
|
-
platform: 'macos',
|
|
166
|
-
},
|
|
167
|
-
workflows: {
|
|
168
|
-
primary: {
|
|
169
|
-
steps: [{ 'script@1.0.0': { inputs: { content: 'echo "test"' } } }],
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
174
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
175
|
-
expect(detector.getStack()).toBeNull();
|
|
176
|
-
expect(detector.getMachineType()).toBeNull();
|
|
177
|
-
});
|
|
178
|
-
test('should use meta.platform: linux', () => {
|
|
179
|
-
const pipeline = {
|
|
180
|
-
format_version: '4',
|
|
181
|
-
meta: {
|
|
182
|
-
platform: 'linux',
|
|
183
|
-
},
|
|
184
|
-
workflows: {
|
|
185
|
-
primary: {
|
|
186
|
-
steps: [{ 'script@1.0.0': { inputs: { content: 'echo "test"' } } }],
|
|
187
|
-
},
|
|
188
|
-
},
|
|
189
|
-
};
|
|
190
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
191
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
describe('Priority 3: Auto-detect from workflow steps', () => {
|
|
195
|
-
test('should detect macOS from xcodebuild step', () => {
|
|
196
|
-
const pipeline = {
|
|
197
|
-
format_version: '4',
|
|
198
|
-
workflows: {
|
|
199
|
-
primary: {
|
|
200
|
-
steps: [
|
|
201
|
-
{ 'git-clone@4.0.17': { inputs: {} } },
|
|
202
|
-
{ 'xcodebuild@5.0.0': { inputs: { project_path: './MyApp.xcodeproj' } } },
|
|
203
|
-
],
|
|
204
|
-
},
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
208
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
209
|
-
});
|
|
210
|
-
test('should detect macOS from ui-fidelity-render step', () => {
|
|
211
|
-
const pipeline = {
|
|
212
|
-
format_version: '4',
|
|
213
|
-
workflows: {
|
|
214
|
-
primary: {
|
|
215
|
-
steps: [
|
|
216
|
-
{ 'git-clone@4.0.17': { inputs: {} } },
|
|
217
|
-
{
|
|
218
|
-
'ui-fidelity-render@1.0.0': {
|
|
219
|
-
inputs: { package_path: './MyPackage', target: 'MyViews' },
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
],
|
|
223
|
-
},
|
|
224
|
-
},
|
|
225
|
-
};
|
|
226
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
227
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
228
|
-
});
|
|
229
|
-
test('should detect macOS from xcode-test step', () => {
|
|
230
|
-
const pipeline = {
|
|
231
|
-
format_version: '4',
|
|
232
|
-
workflows: {
|
|
233
|
-
primary: {
|
|
234
|
-
steps: [
|
|
235
|
-
{ 'xcode-test@2.0.0': { inputs: { project_path: './MyApp.xcodeproj' } } },
|
|
236
|
-
],
|
|
237
|
-
},
|
|
238
|
-
},
|
|
239
|
-
};
|
|
240
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
241
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
242
|
-
});
|
|
243
|
-
test('should detect linux from gradle-build step', () => {
|
|
244
|
-
const pipeline = {
|
|
245
|
-
format_version: '4',
|
|
246
|
-
workflows: {
|
|
247
|
-
primary: {
|
|
248
|
-
steps: [
|
|
249
|
-
{ 'git-clone@4.0.17': { inputs: {} } },
|
|
250
|
-
{ 'gradle-build@1.0.0': { inputs: { project_location: './android' } } },
|
|
251
|
-
],
|
|
252
|
-
},
|
|
253
|
-
},
|
|
254
|
-
};
|
|
255
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
256
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
257
|
-
});
|
|
258
|
-
test('should detect linux from android-lint step', () => {
|
|
259
|
-
const pipeline = {
|
|
260
|
-
format_version: '4',
|
|
261
|
-
workflows: {
|
|
262
|
-
primary: {
|
|
263
|
-
steps: [
|
|
264
|
-
{ 'android-lint@1.0.0': { inputs: { project_location: './android' } } },
|
|
265
|
-
],
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
};
|
|
269
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
270
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
271
|
-
});
|
|
272
|
-
test('should detect linux from android-unit-test step', () => {
|
|
273
|
-
const pipeline = {
|
|
274
|
-
format_version: '4',
|
|
275
|
-
workflows: {
|
|
276
|
-
primary: {
|
|
277
|
-
steps: [
|
|
278
|
-
{ 'android-unit-test@1.0.0': { inputs: { project_location: './android' } } },
|
|
279
|
-
],
|
|
280
|
-
},
|
|
281
|
-
},
|
|
282
|
-
};
|
|
283
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
284
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
285
|
-
});
|
|
286
|
-
test('should detect linux from set-java-version step', () => {
|
|
287
|
-
const pipeline = {
|
|
288
|
-
format_version: '4',
|
|
289
|
-
workflows: {
|
|
290
|
-
primary: {
|
|
291
|
-
steps: [
|
|
292
|
-
{ 'set-java-version@1.0.0': { inputs: { java_version: '17' } } },
|
|
293
|
-
],
|
|
294
|
-
},
|
|
295
|
-
},
|
|
296
|
-
};
|
|
297
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
298
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
299
|
-
});
|
|
300
|
-
test('should default to linux for platform-agnostic steps', () => {
|
|
301
|
-
const pipeline = {
|
|
302
|
-
format_version: '4',
|
|
303
|
-
workflows: {
|
|
304
|
-
primary: {
|
|
305
|
-
steps: [
|
|
306
|
-
{ 'git-clone@4.0.17': { inputs: {} } },
|
|
307
|
-
{ 'script@1.0.0': { inputs: { content: 'npm install' } } },
|
|
308
|
-
{ 'cache-push@2.0.0': { inputs: { cache_paths: 'node_modules' } } },
|
|
309
|
-
],
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
};
|
|
313
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
314
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
315
|
-
});
|
|
316
|
-
});
|
|
317
|
-
describe('Mixed platform detection (FR-37)', () => {
|
|
318
|
-
test('should throw error for mixed macOS and Linux steps', () => {
|
|
319
|
-
const pipeline = {
|
|
320
|
-
format_version: '4',
|
|
321
|
-
workflows: {
|
|
322
|
-
primary: {
|
|
323
|
-
steps: [
|
|
324
|
-
{ 'xcodebuild@5.0.0': { inputs: { project_path: './ios' } } },
|
|
325
|
-
{ 'gradle-build@1.0.0': { inputs: { project_location: './android' } } },
|
|
326
|
-
],
|
|
327
|
-
},
|
|
328
|
-
},
|
|
329
|
-
};
|
|
330
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
331
|
-
expect(() => detector.getPlatform()).toThrow(PlatformDetectionError);
|
|
332
|
-
expect(() => detector.getPlatform()).toThrow(/contains steps for multiple platforms/);
|
|
333
|
-
expect(() => detector.getPlatform()).toThrow(/xcodebuild/);
|
|
334
|
-
expect(() => detector.getPlatform()).toThrow(/gradle-build/);
|
|
335
|
-
});
|
|
336
|
-
test('should throw error listing all mixed platform steps', () => {
|
|
337
|
-
const pipeline = {
|
|
338
|
-
format_version: '4',
|
|
339
|
-
workflows: {
|
|
340
|
-
primary: {
|
|
341
|
-
steps: [
|
|
342
|
-
{ 'xcodebuild@5.0.0': { inputs: {} } },
|
|
343
|
-
{ 'xcode-test@2.0.0': { inputs: {} } },
|
|
344
|
-
{ 'gradle-build@1.0.0': { inputs: {} } },
|
|
345
|
-
{ 'android-lint@1.0.0': { inputs: {} } },
|
|
346
|
-
],
|
|
347
|
-
},
|
|
348
|
-
},
|
|
349
|
-
};
|
|
350
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
351
|
-
expect(() => detector.getPlatform()).toThrow(/xcodebuild.*xcode-test/);
|
|
352
|
-
expect(() => detector.getPlatform()).toThrow(/gradle-build.*android-lint/);
|
|
353
|
-
});
|
|
354
|
-
});
|
|
355
|
-
describe('Step name parsing', () => {
|
|
356
|
-
test('should parse step name with version', () => {
|
|
357
|
-
const pipeline = {
|
|
358
|
-
format_version: '4',
|
|
359
|
-
workflows: {
|
|
360
|
-
primary: {
|
|
361
|
-
steps: [
|
|
362
|
-
{ 'xcodebuild@5.0.0': { inputs: {} } },
|
|
363
|
-
],
|
|
364
|
-
},
|
|
365
|
-
},
|
|
366
|
-
};
|
|
367
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
368
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
369
|
-
});
|
|
370
|
-
test('should parse step name without version', () => {
|
|
371
|
-
const pipeline = {
|
|
372
|
-
format_version: '4',
|
|
373
|
-
workflows: {
|
|
374
|
-
primary: {
|
|
375
|
-
steps: [
|
|
376
|
-
{ xcodebuild: { inputs: {} } },
|
|
377
|
-
],
|
|
378
|
-
},
|
|
379
|
-
},
|
|
380
|
-
};
|
|
381
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
382
|
-
expect(detector.getPlatform()).toBe('macos');
|
|
383
|
-
});
|
|
384
|
-
});
|
|
385
|
-
describe('getPlatformInfo()', () => {
|
|
386
|
-
test('should return complete platform info with all fields', () => {
|
|
387
|
-
const pipeline = {
|
|
388
|
-
format_version: '4',
|
|
389
|
-
meta: {
|
|
390
|
-
'cibuild.io': {
|
|
391
|
-
stack: 'macos-ventura-xcode-15.1',
|
|
392
|
-
machine_type: 'performance',
|
|
393
|
-
},
|
|
394
|
-
},
|
|
395
|
-
workflows: {
|
|
396
|
-
primary: {
|
|
397
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
398
|
-
},
|
|
399
|
-
},
|
|
400
|
-
};
|
|
401
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
402
|
-
const info = detector.getPlatformInfo();
|
|
403
|
-
expect(info.platform).toBe('macos');
|
|
404
|
-
expect(info.stack).toBe('macos-ventura-xcode-15.1');
|
|
405
|
-
expect(info.machineType).toBe('performance');
|
|
406
|
-
});
|
|
407
|
-
test('should return platform info with only platform field', () => {
|
|
408
|
-
const pipeline = {
|
|
409
|
-
format_version: '4',
|
|
410
|
-
workflows: {
|
|
411
|
-
primary: {
|
|
412
|
-
steps: [{ 'xcodebuild@5.0.0': { inputs: {} } }],
|
|
413
|
-
},
|
|
414
|
-
},
|
|
415
|
-
};
|
|
416
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
417
|
-
const info = detector.getPlatformInfo();
|
|
418
|
-
expect(info.platform).toBe('macos');
|
|
419
|
-
expect(info.stack).toBeUndefined();
|
|
420
|
-
expect(info.machineType).toBeUndefined();
|
|
421
|
-
});
|
|
422
|
-
});
|
|
423
|
-
describe('Helper functions', () => {
|
|
424
|
-
test('detectPlatform() should work', () => {
|
|
425
|
-
const pipeline = {
|
|
426
|
-
format_version: '4',
|
|
427
|
-
workflows: {
|
|
428
|
-
primary: {
|
|
429
|
-
steps: [{ 'xcodebuild@5.0.0': { inputs: {} } }],
|
|
430
|
-
},
|
|
431
|
-
},
|
|
432
|
-
};
|
|
433
|
-
const platform = detectPlatform(pipeline, 'primary');
|
|
434
|
-
expect(platform).toBe('macos');
|
|
435
|
-
});
|
|
436
|
-
test('detectPlatform() should throw for non-existent workflow', () => {
|
|
437
|
-
const pipeline = {
|
|
438
|
-
format_version: '4',
|
|
439
|
-
workflows: {
|
|
440
|
-
primary: {
|
|
441
|
-
steps: [{ 'xcodebuild@5.0.0': { inputs: {} } }],
|
|
442
|
-
},
|
|
443
|
-
},
|
|
444
|
-
};
|
|
445
|
-
expect(() => detectPlatform(pipeline, 'nonexistent')).toThrow(/not found/);
|
|
446
|
-
});
|
|
447
|
-
test('detectPlatformInfo() should work', () => {
|
|
448
|
-
const pipeline = {
|
|
449
|
-
format_version: '4',
|
|
450
|
-
meta: {
|
|
451
|
-
'cibuild.io': {
|
|
452
|
-
stack: 'linux-docker-android-22.04',
|
|
453
|
-
},
|
|
454
|
-
},
|
|
455
|
-
workflows: {
|
|
456
|
-
build: {
|
|
457
|
-
steps: [{ 'gradle-build@1.0.0': { inputs: {} } }],
|
|
458
|
-
},
|
|
459
|
-
},
|
|
460
|
-
};
|
|
461
|
-
const info = detectPlatformInfo(pipeline, 'build');
|
|
462
|
-
expect(info.platform).toBe('linux');
|
|
463
|
-
expect(info.stack).toBe('linux-docker-android-22.04');
|
|
464
|
-
});
|
|
465
|
-
test('detectPlatformInfo() should throw for non-existent workflow', () => {
|
|
466
|
-
const pipeline = {
|
|
467
|
-
format_version: '4',
|
|
468
|
-
workflows: {
|
|
469
|
-
primary: {
|
|
470
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
471
|
-
},
|
|
472
|
-
},
|
|
473
|
-
};
|
|
474
|
-
expect(() => detectPlatformInfo(pipeline, 'missing')).toThrow(/not found/);
|
|
475
|
-
});
|
|
476
|
-
});
|
|
477
|
-
describe('Edge cases', () => {
|
|
478
|
-
test('should handle empty steps array (defaults to linux)', () => {
|
|
479
|
-
const pipeline = {
|
|
480
|
-
format_version: '4',
|
|
481
|
-
workflows: {
|
|
482
|
-
primary: {
|
|
483
|
-
steps: [],
|
|
484
|
-
},
|
|
485
|
-
},
|
|
486
|
-
};
|
|
487
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
488
|
-
expect(detector.getPlatform()).toBe('linux');
|
|
489
|
-
});
|
|
490
|
-
test('should handle stack with priority over platform field', () => {
|
|
491
|
-
const pipeline = {
|
|
492
|
-
format_version: '4',
|
|
493
|
-
meta: {
|
|
494
|
-
'cibuild.io': {
|
|
495
|
-
stack: 'macos-ventura-xcode-15.1',
|
|
496
|
-
},
|
|
497
|
-
platform: 'linux', // This should be ignored
|
|
498
|
-
},
|
|
499
|
-
workflows: {
|
|
500
|
-
primary: {
|
|
501
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
502
|
-
},
|
|
503
|
-
},
|
|
504
|
-
};
|
|
505
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
506
|
-
expect(detector.getPlatform()).toBe('macos'); // Stack takes priority
|
|
507
|
-
});
|
|
508
|
-
test('should handle platform field with priority over step detection', () => {
|
|
509
|
-
const pipeline = {
|
|
510
|
-
format_version: '4',
|
|
511
|
-
meta: {
|
|
512
|
-
platform: 'linux',
|
|
513
|
-
},
|
|
514
|
-
workflows: {
|
|
515
|
-
primary: {
|
|
516
|
-
steps: [{ 'xcodebuild@5.0.0': { inputs: {} } }], // Would auto-detect as macOS
|
|
517
|
-
},
|
|
518
|
-
},
|
|
519
|
-
};
|
|
520
|
-
const detector = new PlatformDetector(pipeline, pipeline.workflows.primary, 'primary');
|
|
521
|
-
expect(detector.getPlatform()).toBe('linux'); // Explicit platform takes priority
|
|
522
|
-
});
|
|
523
|
-
});
|
|
524
|
-
});
|
|
525
|
-
//# sourceMappingURL=platform-detector.test.js.map
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pre-flight validation hook that runs before any workflow step executes.
|
|
3
|
-
*
|
|
4
|
-
* It no longer checks anything. The checks it used to carry — that
|
|
5
|
-
* CIBUILD_GIT_REPOSITORY_URL is set and reachable, and that activate-ssh-key
|
|
6
|
-
* precedes git-clone — assumed cibuild would clone the repository itself. It
|
|
7
|
-
* does not: the source is already on disk when a pipeline runs (a runner
|
|
8
|
-
* checks out the dispatched commit before cibuild starts; locally it is the
|
|
9
|
-
* working copy), so there is no remote to validate before execution. The
|
|
10
|
-
* class and its `validate()` signature are kept so the call site in
|
|
11
|
-
* pipeline-with-secrets.ts is unchanged.
|
|
12
|
-
*/
|
|
13
|
-
import type { MissingEnvironmentVariableError } from './env-resolver.js';
|
|
14
|
-
import type { SecretsManager } from './secrets-manager.js';
|
|
15
|
-
import type { YAMLWorkflow } from './types.js';
|
|
16
|
-
/**
|
|
17
|
-
* Pre-flight validation results
|
|
18
|
-
*/
|
|
19
|
-
export interface PreFlightResult {
|
|
20
|
-
success: boolean;
|
|
21
|
-
error?: MissingEnvironmentVariableError;
|
|
22
|
-
}
|
|
23
|
-
export declare class PreFlightValidator {
|
|
24
|
-
/**
|
|
25
|
-
* Run all pre-flight validations. Always succeeds — see the file comment.
|
|
26
|
-
*/
|
|
27
|
-
validate(_env: Record<string, string>, _secretsManager?: SecretsManager, _workflow?: YAMLWorkflow): Promise<PreFlightResult>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=preflight-validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preflight-validation.d.ts","sourceRoot":"","sources":["../../../src/yaml/preflight-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,+BAA+B,CAAC;CACzC;AAED,qBAAa,kBAAkB;IAC7B;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,eAAe,CAAC,EAAE,cAAc,EAChC,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,eAAe,CAAC;CAG5B"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pre-flight validation hook that runs before any workflow step executes.
|
|
3
|
-
*
|
|
4
|
-
* It no longer checks anything. The checks it used to carry — that
|
|
5
|
-
* CIBUILD_GIT_REPOSITORY_URL is set and reachable, and that activate-ssh-key
|
|
6
|
-
* precedes git-clone — assumed cibuild would clone the repository itself. It
|
|
7
|
-
* does not: the source is already on disk when a pipeline runs (a runner
|
|
8
|
-
* checks out the dispatched commit before cibuild starts; locally it is the
|
|
9
|
-
* working copy), so there is no remote to validate before execution. The
|
|
10
|
-
* class and its `validate()` signature are kept so the call site in
|
|
11
|
-
* pipeline-with-secrets.ts is unchanged.
|
|
12
|
-
*/
|
|
13
|
-
export class PreFlightValidator {
|
|
14
|
-
/**
|
|
15
|
-
* Run all pre-flight validations. Always succeeds — see the file comment.
|
|
16
|
-
*/
|
|
17
|
-
async validate(_env, _secretsManager, _workflow) {
|
|
18
|
-
return { success: true };
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=preflight-validation.js.map
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Universal secrets management for CI Build
|
|
3
|
-
* Stores sensitive values by exact variable name — no UUIDs, no YAML modification
|
|
4
|
-
* Supports per-workflow scoping with global fallback
|
|
5
|
-
*
|
|
6
|
-
* File format:
|
|
7
|
-
* {
|
|
8
|
-
* "global": { "VAR_NAME": "value" },
|
|
9
|
-
* "workflows": {
|
|
10
|
-
* "staging-java-17": { "VAR_NAME": "value" }
|
|
11
|
-
* }
|
|
12
|
-
* }
|
|
13
|
-
*/
|
|
14
|
-
export interface SecretsFile {
|
|
15
|
-
global: Record<string, string>;
|
|
16
|
-
workflows: Record<string, Record<string, string>>;
|
|
17
|
-
}
|
|
18
|
-
export declare class SecretsManager {
|
|
19
|
-
private secretsFilePath;
|
|
20
|
-
private data;
|
|
21
|
-
private fileLoaded;
|
|
22
|
-
constructor(secretsFilePath?: string);
|
|
23
|
-
private loadSecrets;
|
|
24
|
-
/**
|
|
25
|
-
* Reads structured env vars (CIBUILD_S__* and CIBUILD_SW__*) and decodes them
|
|
26
|
-
* back into a SecretsFile structure. Used when running in CI where secrets
|
|
27
|
-
* were uploaded via `ci secrets upload`.
|
|
28
|
-
*/
|
|
29
|
-
private getStructuredEnvSecrets;
|
|
30
|
-
private saveSecrets;
|
|
31
|
-
/**
|
|
32
|
-
* Store a secret by variable name, optionally scoped to a workflow.
|
|
33
|
-
* @returns The variable name (used as the key)
|
|
34
|
-
*/
|
|
35
|
-
storeSecret(name: string, value: string, workflow?: string): string;
|
|
36
|
-
private static readonly ENV_PREFIX;
|
|
37
|
-
/**
|
|
38
|
-
* Reads all CIBUILD_-prefixed env vars, stripping the prefix from the keys.
|
|
39
|
-
* e.g. CIBUILD_SSH_RSA_PRIVATE_KEY → SSH_RSA_PRIVATE_KEY
|
|
40
|
-
*/
|
|
41
|
-
private getEnvSecrets;
|
|
42
|
-
/**
|
|
43
|
-
* Get a secret value by variable name.
|
|
44
|
-
* Workflow-specific value takes precedence over global.
|
|
45
|
-
* Falls back to CIBUILD_-prefixed env vars when no secrets file is present.
|
|
46
|
-
*
|
|
47
|
-
* The stored data is consulted before that fallback, and not only when a
|
|
48
|
-
* file was loaded. `storeSecret` writes the file but cannot make it one this
|
|
49
|
-
* instance *loaded*, so a value collected by `ci init` on a repository that
|
|
50
|
-
* had no store — which is the only kind of run that collects anything — read
|
|
51
|
-
* back as absent from the instance that had just stored it. `ci init`'s own
|
|
52
|
-
* `getSecret('KEYSTORE_PROPERTIES', wf)`, which is how a workflow's keystore
|
|
53
|
-
* target is taken from `storeFile=`, returned undefined on every fresh
|
|
54
|
-
* repository because of it.
|
|
55
|
-
*/
|
|
56
|
-
getSecret(name: string, workflow?: string): string | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* Get all secrets merged: global + workflow-specific (workflow overrides global).
|
|
59
|
-
* Falls back to CIBUILD_-prefixed env vars when no secrets file is present —
|
|
60
|
-
* for the keys the store does not hold. See `getSecret`.
|
|
61
|
-
*/
|
|
62
|
-
getAll(workflow?: string): Record<string, string>;
|
|
63
|
-
/**
|
|
64
|
-
* Returns the variable name if a secret exists for it, undefined otherwise.
|
|
65
|
-
* Checks workflow scope first, then global, then the CIBUILD_-prefixed env
|
|
66
|
-
* vars when no secrets file is present. See `getSecret`.
|
|
67
|
-
*/
|
|
68
|
-
getSecretIdByName(name: string, workflow?: string): string | undefined;
|
|
69
|
-
/**
|
|
70
|
-
* Returns the name itself (API compatibility).
|
|
71
|
-
*/
|
|
72
|
-
getSecretName(id: string): string | undefined;
|
|
73
|
-
/**
|
|
74
|
-
* Check if a secret exists by variable name (global or any workflow).
|
|
75
|
-
*/
|
|
76
|
-
hasSecret(name: string, workflow?: string): boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Get all stored variable names (global + all workflows, deduplicated).
|
|
79
|
-
*/
|
|
80
|
-
getAllSecretNames(): string[];
|
|
81
|
-
/**
|
|
82
|
-
* Delete a secret by variable name (from workflow scope or global).
|
|
83
|
-
*/
|
|
84
|
-
deleteSecret(name: string, workflow?: string): boolean;
|
|
85
|
-
getSecretsFilePath(): string;
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=secrets-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"secrets-manager.d.ts","sourceRoot":"","sources":["../../../src/yaml/secrets-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAkB;gBAExB,eAAe,CAAC,EAAE,MAAM;IAMpC,OAAO,CAAC,WAAW;IAqCnB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAanE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEhD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAa9D;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASjD;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAatE;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAInD;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAQ7B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAetD,kBAAkB,IAAI,MAAM;CAG7B"}
|