@invarn/cibuild 2.9.6 → 2.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-35SI42CD.mjs +1 -0
- package/dist/chunk-IC45KVLJ.mjs +1 -0
- package/dist/chunk-XDY4V23V.mjs +1 -0
- package/dist/cli.cjs +14 -14
- package/dist/commands.mjs +1 -0
- package/dist/lib.mjs +3934 -0
- package/package.json +6 -10
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -399
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
- package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
- package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
- package/dist/src/commands/android-gms-guard.test.js +0 -78
- package/dist/src/commands/android-java-version.test.d.ts +0 -12
- package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
- package/dist/src/commands/android-java-version.test.js +0 -209
- package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
- package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
- package/dist/src/commands/android-scanner-java.test.js +0 -130
- package/dist/src/commands/android-scanner.d.ts +0 -250
- package/dist/src/commands/android-scanner.d.ts.map +0 -1
- package/dist/src/commands/android-scanner.js +0 -1639
- package/dist/src/commands/build.d.ts +0 -215
- package/dist/src/commands/build.d.ts.map +0 -1
- package/dist/src/commands/build.js +0 -1433
- package/dist/src/commands/build.test.d.ts +0 -13
- package/dist/src/commands/build.test.d.ts.map +0 -1
- package/dist/src/commands/build.test.js +0 -121
- package/dist/src/commands/detect-platform.d.ts +0 -13
- package/dist/src/commands/detect-platform.d.ts.map +0 -1
- package/dist/src/commands/detect-platform.js +0 -51
- package/dist/src/commands/detect-project.d.ts +0 -7
- package/dist/src/commands/detect-project.d.ts.map +0 -1
- package/dist/src/commands/detect-project.js +0 -12
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
- package/dist/src/commands/edit.d.ts +0 -12
- package/dist/src/commands/edit.d.ts.map +0 -1
- package/dist/src/commands/edit.js +0 -652
- package/dist/src/commands/edit.test.d.ts +0 -6
- package/dist/src/commands/edit.test.d.ts.map +0 -1
- package/dist/src/commands/edit.test.js +0 -45
- package/dist/src/commands/fidelity-trim.d.ts +0 -13
- package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.js +0 -21
- package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
- package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.test.js +0 -79
- package/dist/src/commands/file-secret-collector.d.ts +0 -50
- package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
- package/dist/src/commands/file-secret-collector.js +0 -217
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
- package/dist/src/commands/github-workflow.d.ts +0 -5
- package/dist/src/commands/github-workflow.d.ts.map +0 -1
- package/dist/src/commands/github-workflow.js +0 -45
- package/dist/src/commands/index.d.ts +0 -33
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/commands/index.js +0 -33
- package/dist/src/commands/init.d.ts +0 -20
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/init.js +0 -264
- package/dist/src/commands/ios-scanner.d.ts +0 -104
- package/dist/src/commands/ios-scanner.d.ts.map +0 -1
- package/dist/src/commands/ios-scanner.js +0 -492
- package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
- package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
- package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
- package/dist/src/commands/reset.d.ts +0 -7
- package/dist/src/commands/reset.d.ts.map +0 -1
- package/dist/src/commands/reset.js +0 -81
- package/dist/src/commands/run.d.ts +0 -22
- package/dist/src/commands/run.d.ts.map +0 -1
- package/dist/src/commands/run.js +0 -141
- package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
- package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
- package/dist/src/commands/secrets-sync-workflow.js +0 -255
- package/dist/src/commands/secrets-upload.d.ts +0 -21
- package/dist/src/commands/secrets-upload.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.js +0 -177
- package/dist/src/commands/secrets-upload.test.d.ts +0 -5
- package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.test.js +0 -60
- package/dist/src/commands/validate.d.ts +0 -10
- package/dist/src/commands/validate.d.ts.map +0 -1
- package/dist/src/commands/validate.js +0 -46
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -47
- package/dist/src/envman/cli.d.ts +0 -21
- package/dist/src/envman/cli.d.ts.map +0 -1
- package/dist/src/envman/cli.js +0 -240
- package/dist/src/envman/envman.d.ts +0 -83
- package/dist/src/envman/envman.d.ts.map +0 -1
- package/dist/src/envman/envman.js +0 -361
- package/dist/src/envman/envman.test.d.ts +0 -5
- package/dist/src/envman/envman.test.d.ts.map +0 -1
- package/dist/src/envman/envman.test.js +0 -236
- package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
- package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
- package/dist/src/envman/envstore-round-trip.test.js +0 -130
- package/dist/src/envman/index.d.ts +0 -23
- package/dist/src/envman/index.d.ts.map +0 -1
- package/dist/src/envman/index.js +0 -23
- package/dist/src/envman/shim.d.ts +0 -16
- package/dist/src/envman/shim.d.ts.map +0 -1
- package/dist/src/envman/shim.js +0 -66
- package/dist/src/envman/types.d.ts +0 -55
- package/dist/src/envman/types.d.ts.map +0 -1
- package/dist/src/envman/types.js +0 -12
- package/dist/src/lib.d.ts +0 -33
- package/dist/src/lib.d.ts.map +0 -1
- package/dist/src/lib.js +0 -37
- package/dist/src/pipeline.d.ts +0 -3
- package/dist/src/pipeline.d.ts.map +0 -1
- package/dist/src/pipeline.js +0 -57
- package/dist/src/runner-node-step.test.d.ts +0 -12
- package/dist/src/runner-node-step.test.d.ts.map +0 -1
- package/dist/src/runner-node-step.test.js +0 -61
- package/dist/src/runner.d.ts +0 -31
- package/dist/src/runner.d.ts.map +0 -1
- package/dist/src/runner.js +0 -240
- package/dist/src/shared/detect-project.d.ts +0 -57
- package/dist/src/shared/detect-project.d.ts.map +0 -1
- package/dist/src/shared/detect-project.js +0 -219
- package/dist/src/shared/detect-project.test.d.ts +0 -2
- package/dist/src/shared/detect-project.test.d.ts.map +0 -1
- package/dist/src/shared/detect-project.test.js +0 -161
- package/dist/src/shared/git.d.ts +0 -25
- package/dist/src/shared/git.d.ts.map +0 -1
- package/dist/src/shared/git.js +0 -53
- package/dist/src/shared/git.test.d.ts +0 -9
- package/dist/src/shared/git.test.d.ts.map +0 -1
- package/dist/src/shared/git.test.js +0 -66
- package/dist/src/shared/gitignore.d.ts +0 -6
- package/dist/src/shared/gitignore.d.ts.map +0 -1
- package/dist/src/shared/gitignore.js +0 -26
- package/dist/src/shared/gradle-settings.d.ts +0 -49
- package/dist/src/shared/gradle-settings.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.js +0 -138
- package/dist/src/shared/gradle-settings.test.d.ts +0 -2
- package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.test.js +0 -65
- package/dist/src/shared/prompts.d.ts +0 -30
- package/dist/src/shared/prompts.d.ts.map +0 -1
- package/dist/src/shared/prompts.js +0 -121
- package/dist/src/shared/xcode-container.test.d.ts +0 -2
- package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
- package/dist/src/shared/xcode-container.test.js +0 -123
- package/dist/src/step-marker.d.ts +0 -12
- package/dist/src/step-marker.d.ts.map +0 -1
- package/dist/src/step-marker.js +0 -29
- package/dist/src/step-marker.test.d.ts +0 -11
- package/dist/src/step-marker.test.d.ts.map +0 -1
- package/dist/src/step-marker.test.js +0 -45
- package/dist/src/types.d.ts +0 -58
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
- package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
- package/dist/src/yaml/bitrise-compat.d.ts +0 -65
- package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.js +0 -206
- package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
- package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.test.js +0 -347
- package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
- package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
- package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
- package/dist/src/yaml/converter.d.ts +0 -103
- package/dist/src/yaml/converter.d.ts.map +0 -1
- package/dist/src/yaml/converter.js +0 -420
- package/dist/src/yaml/converter.test.d.ts +0 -5
- package/dist/src/yaml/converter.test.d.ts.map +0 -1
- package/dist/src/yaml/converter.test.js +0 -548
- package/dist/src/yaml/e2e.test.d.ts +0 -6
- package/dist/src/yaml/e2e.test.d.ts.map +0 -1
- package/dist/src/yaml/e2e.test.js +0 -446
- package/dist/src/yaml/env-resolver.d.ts +0 -218
- package/dist/src/yaml/env-resolver.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.js +0 -591
- package/dist/src/yaml/env-resolver.test.d.ts +0 -5
- package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.test.js +0 -502
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
- package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
- package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.js +0 -208
- package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
- package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
- package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
- package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.js +0 -134
- package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
- package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.test.js +0 -251
- package/dist/src/yaml/interactive-prompts.d.ts +0 -71
- package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
- package/dist/src/yaml/interactive-prompts.js +0 -260
- package/dist/src/yaml/meta-helpers.d.ts +0 -28
- package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
- package/dist/src/yaml/meta-helpers.js +0 -46
- package/dist/src/yaml/missing-env-handler.d.ts +0 -45
- package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
- package/dist/src/yaml/missing-env-handler.js +0 -64
- package/dist/src/yaml/parser.d.ts +0 -33
- package/dist/src/yaml/parser.d.ts.map +0 -1
- package/dist/src/yaml/parser.js +0 -148
- package/dist/src/yaml/parser.test.d.ts +0 -5
- package/dist/src/yaml/parser.test.d.ts.map +0 -1
- package/dist/src/yaml/parser.test.js +0 -83
- package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
- package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
- package/dist/src/yaml/pipeline-with-secrets.js +0 -76
- package/dist/src/yaml/platform-detector.d.ts +0 -83
- package/dist/src/yaml/platform-detector.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.js +0 -189
- package/dist/src/yaml/platform-detector.test.d.ts +0 -5
- package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.test.js +0 -525
- package/dist/src/yaml/preflight-validation.d.ts +0 -29
- package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
- package/dist/src/yaml/preflight-validation.js +0 -21
- package/dist/src/yaml/secrets-manager.d.ts +0 -87
- package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
- package/dist/src/yaml/secrets-manager.js +0 -230
- package/dist/src/yaml/shell-assignments.d.ts +0 -40
- package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
- package/dist/src/yaml/shell-assignments.js +0 -77
- package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
- package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
- package/dist/src/yaml/step-validator.d.ts +0 -67
- package/dist/src/yaml/step-validator.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.js +0 -466
- package/dist/src/yaml/step-validator.test.d.ts +0 -18
- package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.test.js +0 -140
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts +0 -2
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.js +0 -96
- package/dist/src/yaml/steps/android-sign.d.ts +0 -35
- package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-sign.js +0 -147
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
- package/dist/src/yaml/steps/android-version.d.ts +0 -26
- package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.js +0 -128
- package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
- package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.test.js +0 -196
- package/dist/src/yaml/steps/android.d.ts +0 -156
- package/dist/src/yaml/steps/android.d.ts.map +0 -1
- package/dist/src/yaml/steps/android.js +0 -1100
- package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
- package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/app-store-deploy.js +0 -167
- package/dist/src/yaml/steps/base.d.ts +0 -263
- package/dist/src/yaml/steps/base.d.ts.map +0 -1
- package/dist/src/yaml/steps/base.js +0 -380
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
- package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
- package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.js +0 -280
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
- package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
- package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
- package/dist/src/yaml/steps/cache.d.ts +0 -59
- package/dist/src/yaml/steps/cache.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache.js +0 -1027
- package/dist/src/yaml/steps/capture-injection.d.ts +0 -30
- package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
- package/dist/src/yaml/steps/capture-injection.js +0 -88
- package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
- package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/capture-injection.test.js +0 -163
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
- package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
- package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
- package/dist/src/yaml/steps/fastlane.d.ts +0 -27
- package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
- package/dist/src/yaml/steps/fastlane.js +0 -79
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
- package/dist/src/yaml/steps/file.d.ts +0 -52
- package/dist/src/yaml/steps/file.d.ts.map +0 -1
- package/dist/src/yaml/steps/file.js +0 -108
- package/dist/src/yaml/steps/flutter.d.ts +0 -63
- package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
- package/dist/src/yaml/steps/flutter.js +0 -215
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
- package/dist/src/yaml/steps/git-clone.d.ts +0 -32
- package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone.js +0 -171
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
- package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
- package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
- package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
- package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.js +0 -193
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
- package/dist/src/yaml/steps/gradle-memory.d.ts +0 -91
- package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.js +0 -495
- package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
- package/dist/src/yaml/steps/index.d.ts +0 -10
- package/dist/src/yaml/steps/index.d.ts.map +0 -1
- package/dist/src/yaml/steps/index.js +0 -1461
- package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
- package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.js +0 -279
- package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
- package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.test.js +0 -90
- package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
- package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-signing.js +0 -144
- package/dist/src/yaml/steps/ios-version.d.ts +0 -47
- package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-version.js +0 -151
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts +0 -2
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.js +0 -139
- package/dist/src/yaml/steps/linting.d.ts +0 -47
- package/dist/src/yaml/steps/linting.d.ts.map +0 -1
- package/dist/src/yaml/steps/linting.js +0 -148
- package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase2.test.js +0 -197
- package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase3.test.js +0 -144
- package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase4.test.js +0 -166
- package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase5.test.js +0 -263
- package/dist/src/yaml/steps/registry.d.ts +0 -88
- package/dist/src/yaml/steps/registry.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.js +0 -125
- package/dist/src/yaml/steps/registry.test.d.ts +0 -5
- package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.test.js +0 -235
- package/dist/src/yaml/steps/release.d.ts +0 -50
- package/dist/src/yaml/steps/release.d.ts.map +0 -1
- package/dist/src/yaml/steps/release.js +0 -154
- package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
- package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.js +0 -270
- package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
- package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
- package/dist/src/yaml/steps/script.d.ts +0 -23
- package/dist/src/yaml/steps/script.d.ts.map +0 -1
- package/dist/src/yaml/steps/script.js +0 -63
- package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
- package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/spec-validation.test.js +0 -130
- package/dist/src/yaml/steps/steps.test.d.ts +0 -6
- package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/steps.test.js +0 -881
- package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
- package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.js +0 -3276
- package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
- package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
- package/dist/src/yaml/steps/test-config.d.ts +0 -5
- package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
- package/dist/src/yaml/steps/test-config.js +0 -25
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
- package/dist/src/yaml/steps/trim-align.d.ts +0 -87
- package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.js +0 -367
- package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
- package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.test.js +0 -261
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
- package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
- package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.js +0 -247
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
- package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
- package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.js +0 -202
- package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
- package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
- package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-new.test.js +0 -211
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
- package/dist/src/yaml/steps/xcode.d.ts +0 -230
- package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode.js +0 -1350
- package/dist/src/yaml/types.d.ts +0 -76
- package/dist/src/yaml/types.d.ts.map +0 -1
- package/dist/src/yaml/types.js +0 -5
- package/dist/src/yaml/validation-types.d.ts +0 -102
- package/dist/src/yaml/validation-types.d.ts.map +0 -1
- package/dist/src/yaml/validation-types.js +0 -8
- package/dist/src/yaml/yaml-updater.d.ts +0 -24
- package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
- package/dist/src/yaml/yaml-updater.js +0 -128
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for step registry
|
|
3
|
-
*/
|
|
4
|
-
import { describe, test, expect, beforeEach } from '@jest/globals';
|
|
5
|
-
import { testConfig } from './test-config.js';
|
|
6
|
-
import { registerStep, getStepExecutor, hasStep, getAvailableSteps, getStepMetadata, clearRegistry, UnrecognizedStepError, } from './registry.js';
|
|
7
|
-
import { BaseStepExecutor } from './base.js';
|
|
8
|
-
// Mock step executor for testing
|
|
9
|
-
class MockStepExecutor extends BaseStepExecutor {
|
|
10
|
-
async execute(inputs, env) {
|
|
11
|
-
return this.createScriptStep('echo "mock step"', 'mock-step');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
describe('Step Registry', () => {
|
|
15
|
-
beforeEach(() => {
|
|
16
|
-
// Clear registry before each test to ensure clean state
|
|
17
|
-
clearRegistry();
|
|
18
|
-
});
|
|
19
|
-
describe('registerStep', () => {
|
|
20
|
-
test('should register a step successfully', () => {
|
|
21
|
-
const executor = new MockStepExecutor();
|
|
22
|
-
registerStep('test-step', executor);
|
|
23
|
-
expect(hasStep('test-step')).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
test('should register a step with metadata', () => {
|
|
26
|
-
const executor = new MockStepExecutor();
|
|
27
|
-
const metadata = {
|
|
28
|
-
name: 'test-step',
|
|
29
|
-
description: 'A test step',
|
|
30
|
-
inputs: {
|
|
31
|
-
test_input: {
|
|
32
|
-
description: 'Test input',
|
|
33
|
-
required: true,
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
registerStep('test-step', executor, metadata);
|
|
38
|
-
expect(hasStep('test-step')).toBe(true);
|
|
39
|
-
expect(getStepMetadata('test-step')).toEqual(metadata);
|
|
40
|
-
});
|
|
41
|
-
test('should allow overwriting an existing step', () => {
|
|
42
|
-
const executor1 = new MockStepExecutor();
|
|
43
|
-
const executor2 = new MockStepExecutor();
|
|
44
|
-
registerStep('test-step', executor1);
|
|
45
|
-
registerStep('test-step', executor2);
|
|
46
|
-
expect(hasStep('test-step')).toBe(true);
|
|
47
|
-
expect(getStepExecutor('test-step')).toBe(executor2);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('getStepExecutor', () => {
|
|
51
|
-
test('should retrieve a registered step executor', () => {
|
|
52
|
-
const executor = new MockStepExecutor();
|
|
53
|
-
registerStep('test-step', executor);
|
|
54
|
-
const retrieved = getStepExecutor('test-step');
|
|
55
|
-
expect(retrieved).toBe(executor);
|
|
56
|
-
});
|
|
57
|
-
test('should throw UnrecognizedStepError for unknown step', () => {
|
|
58
|
-
expect(() => {
|
|
59
|
-
getStepExecutor('unknown-step');
|
|
60
|
-
}).toThrow(UnrecognizedStepError);
|
|
61
|
-
});
|
|
62
|
-
test('UnrecognizedStepError should include step name', () => {
|
|
63
|
-
try {
|
|
64
|
-
getStepExecutor('unknown-step');
|
|
65
|
-
expect(true).toBe(false); // Should not reach here
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
expect(error).toBeInstanceOf(UnrecognizedStepError);
|
|
69
|
-
expect(error.stepName).toBe('unknown-step');
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
test('UnrecognizedStepError should include available steps', () => {
|
|
73
|
-
registerStep('step-a', new MockStepExecutor());
|
|
74
|
-
registerStep('step-b', new MockStepExecutor());
|
|
75
|
-
try {
|
|
76
|
-
getStepExecutor('unknown-step');
|
|
77
|
-
expect(true).toBe(false); // Should not reach here
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
expect(error).toBeInstanceOf(UnrecognizedStepError);
|
|
81
|
-
const err = error;
|
|
82
|
-
expect(err.availableSteps).toContain('step-a');
|
|
83
|
-
expect(err.availableSteps).toContain('step-b');
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
test('UnrecognizedStepError message should be helpful', () => {
|
|
87
|
-
registerStep('git-clone', new MockStepExecutor());
|
|
88
|
-
registerStep('script', new MockStepExecutor());
|
|
89
|
-
try {
|
|
90
|
-
getStepExecutor('git-push');
|
|
91
|
-
expect(true).toBe(false); // Should not reach here
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
expect(error).toBeInstanceOf(UnrecognizedStepError);
|
|
95
|
-
const message = error.message;
|
|
96
|
-
expect(message).toContain('git-push');
|
|
97
|
-
expect(message).toContain('Supported steps');
|
|
98
|
-
expect(message).toContain('git-clone');
|
|
99
|
-
expect(message).toContain('script');
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('hasStep', () => {
|
|
104
|
-
test('should return true for registered step', () => {
|
|
105
|
-
registerStep('test-step', new MockStepExecutor());
|
|
106
|
-
expect(hasStep('test-step')).toBe(true);
|
|
107
|
-
});
|
|
108
|
-
test('should return false for unregistered step', () => {
|
|
109
|
-
expect(hasStep('unknown-step')).toBe(false);
|
|
110
|
-
});
|
|
111
|
-
test('should return false after clearing registry', () => {
|
|
112
|
-
registerStep('test-step', new MockStepExecutor());
|
|
113
|
-
clearRegistry();
|
|
114
|
-
expect(hasStep('test-step')).toBe(false);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('getAvailableSteps', () => {
|
|
118
|
-
test('should return empty array when no steps registered', () => {
|
|
119
|
-
expect(getAvailableSteps()).toEqual([]);
|
|
120
|
-
});
|
|
121
|
-
test('should return all registered step names', () => {
|
|
122
|
-
registerStep('step-a', new MockStepExecutor());
|
|
123
|
-
registerStep('step-b', new MockStepExecutor());
|
|
124
|
-
registerStep('step-c', new MockStepExecutor());
|
|
125
|
-
const steps = getAvailableSteps();
|
|
126
|
-
expect(steps).toHaveLength(3);
|
|
127
|
-
expect(steps).toContain('step-a');
|
|
128
|
-
expect(steps).toContain('step-b');
|
|
129
|
-
expect(steps).toContain('step-c');
|
|
130
|
-
});
|
|
131
|
-
test('should return steps in sorted order', () => {
|
|
132
|
-
registerStep('zebra', new MockStepExecutor());
|
|
133
|
-
registerStep('apple', new MockStepExecutor());
|
|
134
|
-
registerStep('mango', new MockStepExecutor());
|
|
135
|
-
const steps = getAvailableSteps();
|
|
136
|
-
expect(steps).toEqual(['apple', 'mango', 'zebra']);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
describe('getStepMetadata', () => {
|
|
140
|
-
test('should return metadata for registered step', () => {
|
|
141
|
-
const metadata = {
|
|
142
|
-
name: 'test-step',
|
|
143
|
-
description: 'A test step',
|
|
144
|
-
};
|
|
145
|
-
registerStep('test-step', new MockStepExecutor(), metadata);
|
|
146
|
-
expect(getStepMetadata('test-step')).toEqual(metadata);
|
|
147
|
-
});
|
|
148
|
-
test('should return undefined for step without metadata', () => {
|
|
149
|
-
registerStep('test-step', new MockStepExecutor());
|
|
150
|
-
expect(getStepMetadata('test-step')).toBeUndefined();
|
|
151
|
-
});
|
|
152
|
-
test('should return undefined for unregistered step', () => {
|
|
153
|
-
expect(getStepMetadata('unknown-step')).toBeUndefined();
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
describe('clearRegistry', () => {
|
|
157
|
-
test('should remove all registered steps', () => {
|
|
158
|
-
registerStep('step-a', new MockStepExecutor());
|
|
159
|
-
registerStep('step-b', new MockStepExecutor());
|
|
160
|
-
expect(getAvailableSteps()).toHaveLength(2);
|
|
161
|
-
clearRegistry();
|
|
162
|
-
expect(getAvailableSteps()).toHaveLength(0);
|
|
163
|
-
expect(hasStep('step-a')).toBe(false);
|
|
164
|
-
expect(hasStep('step-b')).toBe(false);
|
|
165
|
-
});
|
|
166
|
-
test('should allow re-registration after clear', () => {
|
|
167
|
-
registerStep('test-step', new MockStepExecutor());
|
|
168
|
-
clearRegistry();
|
|
169
|
-
registerStep('test-step', new MockStepExecutor());
|
|
170
|
-
expect(hasStep('test-step')).toBe(true);
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
describe('Step execution', () => {
|
|
174
|
-
test('should execute registered step', async () => {
|
|
175
|
-
const executor = new MockStepExecutor();
|
|
176
|
-
registerStep('test-step', executor);
|
|
177
|
-
const retrieved = getStepExecutor('test-step');
|
|
178
|
-
const result = await retrieved.execute({}, {}, testConfig);
|
|
179
|
-
expect(result).toHaveProperty('kind', 'script');
|
|
180
|
-
expect(result).toHaveProperty('name', 'mock-step');
|
|
181
|
-
expect(result).toHaveProperty('script');
|
|
182
|
-
});
|
|
183
|
-
test('should pass inputs and env to executor', async () => {
|
|
184
|
-
class InputCapturingExecutor extends BaseStepExecutor {
|
|
185
|
-
capturedInputs;
|
|
186
|
-
capturedEnv;
|
|
187
|
-
async execute(inputs, env) {
|
|
188
|
-
this.capturedInputs = inputs;
|
|
189
|
-
this.capturedEnv = env;
|
|
190
|
-
return this.createScriptStep('echo "test"', 'test');
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
const executor = new InputCapturingExecutor();
|
|
194
|
-
registerStep('test-step', executor);
|
|
195
|
-
const inputs = { test: 'value' };
|
|
196
|
-
const env = { VAR: 'test' };
|
|
197
|
-
const retrieved = getStepExecutor('test-step');
|
|
198
|
-
await retrieved.execute(inputs, env, testConfig);
|
|
199
|
-
expect(executor.capturedInputs).toEqual(inputs);
|
|
200
|
-
expect(executor.capturedEnv).toEqual(env);
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
describe('Integration scenarios', () => {
|
|
204
|
-
test('should handle multiple steps with same prefix', () => {
|
|
205
|
-
registerStep('git-clone', new MockStepExecutor());
|
|
206
|
-
registerStep('git-push', new MockStepExecutor());
|
|
207
|
-
registerStep('git-pull', new MockStepExecutor());
|
|
208
|
-
expect(hasStep('git-clone')).toBe(true);
|
|
209
|
-
expect(hasStep('git-push')).toBe(true);
|
|
210
|
-
expect(hasStep('git-pull')).toBe(true);
|
|
211
|
-
const steps = getAvailableSteps();
|
|
212
|
-
expect(steps).toEqual(['git-clone', 'git-pull', 'git-push']);
|
|
213
|
-
});
|
|
214
|
-
test('should handle case-sensitive step names', () => {
|
|
215
|
-
registerStep('Step-A', new MockStepExecutor());
|
|
216
|
-
registerStep('step-a', new MockStepExecutor());
|
|
217
|
-
expect(hasStep('Step-A')).toBe(true);
|
|
218
|
-
expect(hasStep('step-a')).toBe(true);
|
|
219
|
-
expect(getAvailableSteps()).toHaveLength(2);
|
|
220
|
-
});
|
|
221
|
-
test('should provide helpful error when typo in step name', () => {
|
|
222
|
-
registerStep('git-clone', new MockStepExecutor());
|
|
223
|
-
try {
|
|
224
|
-
getStepExecutor('git-clonee'); // Common typo
|
|
225
|
-
expect(true).toBe(false);
|
|
226
|
-
}
|
|
227
|
-
catch (error) {
|
|
228
|
-
const message = error.message;
|
|
229
|
-
expect(message).toContain('git-clonee');
|
|
230
|
-
expect(message).toContain('git-clone');
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
});
|
|
235
|
-
//# sourceMappingURL=registry.test.js.map
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release steps: generate-changelog, github-release
|
|
3
|
-
*/
|
|
4
|
-
import { BaseStepExecutor } from './base.js';
|
|
5
|
-
import type { StepDef, CIConfig } from '../../types.js';
|
|
6
|
-
import type { ValidationRequirement, StepOutput } from '../validation-types.js';
|
|
7
|
-
export interface GenerateChangelogInputs {
|
|
8
|
-
/** Path to write the changelog file */
|
|
9
|
-
changelog_path?: string;
|
|
10
|
-
/** Working directory containing the git repo */
|
|
11
|
-
working_dir?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Generates changelog from git commit history since the last tag.
|
|
15
|
-
*/
|
|
16
|
-
export declare class GenerateChangelogStepExecutor extends BaseStepExecutor {
|
|
17
|
-
getValidationRequirements(_inputs: GenerateChangelogInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
|
|
18
|
-
getOutputs(): StepOutput[];
|
|
19
|
-
execute(inputs: GenerateChangelogInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
|
|
20
|
-
}
|
|
21
|
-
export interface GithubReleaseInputs {
|
|
22
|
-
/** GitHub repository (owner/repo) */
|
|
23
|
-
repository_url?: string;
|
|
24
|
-
/** Release tag name */
|
|
25
|
-
tag?: string;
|
|
26
|
-
/** Release title */
|
|
27
|
-
name?: string;
|
|
28
|
-
/** Release body / notes */
|
|
29
|
-
body?: string;
|
|
30
|
-
/** Path to changelog file to use as body (alternative to body) */
|
|
31
|
-
changelog_path?: string;
|
|
32
|
-
/** Whether this is a draft release (true/false) */
|
|
33
|
-
draft?: string;
|
|
34
|
-
/** Whether this is a pre-release (true/false) */
|
|
35
|
-
pre_release?: string;
|
|
36
|
-
/** File paths to attach as release assets (newline-separated) */
|
|
37
|
-
files_to_upload?: string;
|
|
38
|
-
/** GitHub API token */
|
|
39
|
-
api_token?: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Creates a GitHub release with optional artifact attachments using the gh CLI.
|
|
43
|
-
*/
|
|
44
|
-
export declare class GithubReleaseStepExecutor extends BaseStepExecutor {
|
|
45
|
-
getValidationRequirements(_inputs: GithubReleaseInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
|
|
46
|
-
getOutputs(): StepOutput[];
|
|
47
|
-
isSkippedInLocalMode(): boolean;
|
|
48
|
-
execute(inputs: GithubReleaseInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=release.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/release.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMhF,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,yBAAyB,CACvB,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAMpB,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAqDlH;AAMD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,yBAAyB,CACvB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAM1B,oBAAoB,IAAI,OAAO;IAIzB,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAmF9G"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release steps: generate-changelog, github-release
|
|
3
|
-
*/
|
|
4
|
-
import { BaseStepExecutor } from './base.js';
|
|
5
|
-
/**
|
|
6
|
-
* Generates changelog from git commit history since the last tag.
|
|
7
|
-
*/
|
|
8
|
-
export class GenerateChangelogStepExecutor extends BaseStepExecutor {
|
|
9
|
-
getValidationRequirements(_inputs, _env, _config) {
|
|
10
|
-
return [
|
|
11
|
-
this.requireCommand('git', 'git is required for changelog generation'),
|
|
12
|
-
];
|
|
13
|
-
}
|
|
14
|
-
getOutputs() {
|
|
15
|
-
return [
|
|
16
|
-
{ name: 'CIBUILD_CHANGELOG', type: 'environment', description: 'The generated changelog content' },
|
|
17
|
-
];
|
|
18
|
-
}
|
|
19
|
-
async execute(inputs, _env, _config) {
|
|
20
|
-
const stepName = 'generate-changelog';
|
|
21
|
-
const changelogPath = this.getInput(inputs, 'changelog_path', './CHANGELOG.md');
|
|
22
|
-
const workingDir = this.getInput(inputs, 'working_dir', '.');
|
|
23
|
-
const commands = [];
|
|
24
|
-
commands.push('# generate-changelog — from git history');
|
|
25
|
-
commands.push('echo "📝 Generating changelog..."');
|
|
26
|
-
commands.push('');
|
|
27
|
-
commands.push(`cd '${this.escapeBash(workingDir)}'`);
|
|
28
|
-
commands.push('');
|
|
29
|
-
// Find the latest tag
|
|
30
|
-
commands.push('# Find the latest tag');
|
|
31
|
-
commands.push('LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")');
|
|
32
|
-
commands.push('');
|
|
33
|
-
// Generate changelog
|
|
34
|
-
commands.push('if [ -n "$LATEST_TAG" ]; then');
|
|
35
|
-
commands.push(' echo "Generating changelog since tag: $LATEST_TAG"');
|
|
36
|
-
commands.push(' CHANGELOG=$(git log "$LATEST_TAG"..HEAD --pretty=format:"- %s (%h)" --no-merges)');
|
|
37
|
-
commands.push('else');
|
|
38
|
-
commands.push(' echo "No tags found — generating changelog from all commits"');
|
|
39
|
-
commands.push(' CHANGELOG=$(git log --pretty=format:"- %s (%h)" --no-merges)');
|
|
40
|
-
commands.push('fi');
|
|
41
|
-
commands.push('');
|
|
42
|
-
// Handle empty changelog
|
|
43
|
-
commands.push('if [ -z "$CHANGELOG" ]; then');
|
|
44
|
-
commands.push(' CHANGELOG="No changes since last release."');
|
|
45
|
-
commands.push('fi');
|
|
46
|
-
commands.push('');
|
|
47
|
-
// Write to file
|
|
48
|
-
commands.push(`CHANGELOG_PATH='${this.escapeBash(changelogPath)}'`);
|
|
49
|
-
commands.push('mkdir -p "$(dirname "$CHANGELOG_PATH")"');
|
|
50
|
-
commands.push('echo "$CHANGELOG" > "$CHANGELOG_PATH"');
|
|
51
|
-
commands.push('echo "Changelog written to: $CHANGELOG_PATH"');
|
|
52
|
-
commands.push('echo "---"');
|
|
53
|
-
commands.push('echo "$CHANGELOG"');
|
|
54
|
-
commands.push('echo "---"');
|
|
55
|
-
commands.push('');
|
|
56
|
-
// Export
|
|
57
|
-
commands.push('envman add --key CIBUILD_CHANGELOG --value "$CHANGELOG"');
|
|
58
|
-
commands.push('echo "✅ Changelog generated"');
|
|
59
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
60
|
-
return this.createScriptStep(script, stepName);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Creates a GitHub release with optional artifact attachments using the gh CLI.
|
|
65
|
-
*/
|
|
66
|
-
export class GithubReleaseStepExecutor extends BaseStepExecutor {
|
|
67
|
-
getValidationRequirements(_inputs, _env, _config) {
|
|
68
|
-
return [
|
|
69
|
-
this.requireCommand('gh', 'GitHub CLI (gh) is required for creating releases'),
|
|
70
|
-
];
|
|
71
|
-
}
|
|
72
|
-
getOutputs() {
|
|
73
|
-
return [
|
|
74
|
-
{ name: 'CIBUILD_RELEASE_URL', type: 'environment', description: 'URL of the created GitHub release' },
|
|
75
|
-
];
|
|
76
|
-
}
|
|
77
|
-
isSkippedInLocalMode() {
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
async execute(inputs, _env, _config) {
|
|
81
|
-
const stepName = 'github-release';
|
|
82
|
-
const tag = this.getRequiredInput(inputs, 'tag', stepName);
|
|
83
|
-
const repositoryUrl = this.getInput(inputs, 'repository_url', '');
|
|
84
|
-
const name = this.getInput(inputs, 'name', '');
|
|
85
|
-
const body = this.getInput(inputs, 'body', '');
|
|
86
|
-
const changelogPath = this.getInput(inputs, 'changelog_path', '');
|
|
87
|
-
const draft = this.getInput(inputs, 'draft', 'false') === 'true';
|
|
88
|
-
const preRelease = this.getInput(inputs, 'pre_release', 'false') === 'true';
|
|
89
|
-
const filesToUpload = this.getInput(inputs, 'files_to_upload', '');
|
|
90
|
-
const apiToken = this.getInput(inputs, 'api_token', '$GITHUB_TOKEN');
|
|
91
|
-
const commands = [];
|
|
92
|
-
commands.push('# github-release — create a GitHub release');
|
|
93
|
-
commands.push('echo "🚀 Creating GitHub release..."');
|
|
94
|
-
commands.push('');
|
|
95
|
-
// Auth
|
|
96
|
-
commands.push(`export GH_TOKEN='${this.escapeBash(apiToken)}'`);
|
|
97
|
-
commands.push('');
|
|
98
|
-
// Build gh release create command
|
|
99
|
-
const flags = [];
|
|
100
|
-
flags.push(`--title '${this.escapeBash(name || tag)}'`);
|
|
101
|
-
if (body) {
|
|
102
|
-
flags.push(`--notes '${this.escapeBash(body)}'`);
|
|
103
|
-
}
|
|
104
|
-
else if (changelogPath) {
|
|
105
|
-
flags.push(`--notes-file '${this.escapeBash(changelogPath)}'`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
flags.push('--generate-notes');
|
|
109
|
-
}
|
|
110
|
-
if (draft) {
|
|
111
|
-
flags.push('--draft');
|
|
112
|
-
}
|
|
113
|
-
if (preRelease) {
|
|
114
|
-
flags.push('--prerelease');
|
|
115
|
-
}
|
|
116
|
-
// Repository flag
|
|
117
|
-
let repoFlag = '';
|
|
118
|
-
if (repositoryUrl) {
|
|
119
|
-
repoFlag = ` --repo '${this.escapeBash(repositoryUrl)}'`;
|
|
120
|
-
}
|
|
121
|
-
// File attachments
|
|
122
|
-
if (filesToUpload) {
|
|
123
|
-
commands.push('# Collect files to upload');
|
|
124
|
-
commands.push(`FILES_INPUT='${this.escapeBash(filesToUpload)}'`);
|
|
125
|
-
commands.push('FILE_ARGS=""');
|
|
126
|
-
commands.push('while IFS= read -r file; do');
|
|
127
|
-
commands.push(' file=$(echo "$file" | xargs)');
|
|
128
|
-
commands.push(' [ -z "$file" ] && continue');
|
|
129
|
-
commands.push(' if [ -f "$file" ]; then');
|
|
130
|
-
commands.push(' FILE_ARGS="$FILE_ARGS \\"$file\\""');
|
|
131
|
-
commands.push(' else');
|
|
132
|
-
commands.push(' echo "⚠️ File not found: $file"');
|
|
133
|
-
commands.push(' fi');
|
|
134
|
-
commands.push('done <<< "$FILES_INPUT"');
|
|
135
|
-
commands.push('');
|
|
136
|
-
}
|
|
137
|
-
const flagStr = flags.join(' ');
|
|
138
|
-
commands.push(`TAG='${this.escapeBash(tag)}'`);
|
|
139
|
-
commands.push('');
|
|
140
|
-
if (filesToUpload) {
|
|
141
|
-
commands.push(`RELEASE_URL=$(eval gh release create "$TAG" ${flagStr}${repoFlag} $FILE_ARGS 2>&1)`);
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
commands.push(`RELEASE_URL=$(gh release create "$TAG" ${flagStr}${repoFlag} 2>&1)`);
|
|
145
|
-
}
|
|
146
|
-
commands.push('');
|
|
147
|
-
commands.push('echo "Release URL: $RELEASE_URL"');
|
|
148
|
-
commands.push('envman add --key CIBUILD_RELEASE_URL --value "$RELEASE_URL"');
|
|
149
|
-
commands.push('echo "✅ GitHub release created"');
|
|
150
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
151
|
-
return this.createScriptStep(script, stepName);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=release.js.map
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared render-output post-processor.
|
|
3
|
-
*
|
|
4
|
-
* The single source of truth for turning a freshly rendered PNG into the
|
|
5
|
-
* artifacts the fidelity loop compares: a content-trimmed image, a
|
|
6
|
-
* reference-sized aligned copy, and the reported dimensions (rendered px /
|
|
7
|
-
* logical pt / reference px). It operates on PNGs regardless of how they were
|
|
8
|
-
* produced -- a SwiftUI `ImageRenderer` render or a Compose/Roborazzi render --
|
|
9
|
-
* so crop/align/dimension behavior cannot drift between platforms.
|
|
10
|
-
*
|
|
11
|
-
* The pixel work is the pure-JS trim/align helper in trim-align.ts, invoked
|
|
12
|
-
* through the ci binary (`ci fidelity-trim`) -- the one artifact present on
|
|
13
|
-
* every backend -- so iOS and Android run the SAME bytes on macOS and Linux
|
|
14
|
-
* alike. It replaced an embedded CoreGraphics/ImageIO helper that ran via
|
|
15
|
-
* `swift` in script-interpreter mode and therefore could not run on Linux
|
|
16
|
-
* workers (fidelity-linux 06); the bounding-box, fit-pad, and TRIMDIMS
|
|
17
|
-
* semantics are a faithful port of that helper, guarded by a pixel-identity
|
|
18
|
-
* corpus gate (trim-align-corpus.test.ts).
|
|
19
|
-
*
|
|
20
|
-
* This module is consumed by `ui-fidelity-render.ts` (iOS) and
|
|
21
|
-
* `ui-fidelity-render-android.ts`; the surrounding JS orchestration is spliced
|
|
22
|
-
* into each platform's generated runtime script.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Runtime support for trimming the rendered output (package_source variants).
|
|
26
|
-
*
|
|
27
|
-
* The render entry forces the view into a fixed device-sized frame, so a
|
|
28
|
-
* component smaller than the canvas renders with transparent margins. After a
|
|
29
|
-
* screen renders, crop the PNG in place to the bounding box of its
|
|
30
|
-
* non-transparent pixels, so the rendered artifact is the component itself,
|
|
31
|
-
* tight -- no canvas, no background ambiguity for the human comparing screens.
|
|
32
|
-
*
|
|
33
|
-
* Best-effort: a trim failure is logged (warn-and-continue) and the untrimmed
|
|
34
|
-
* render is kept -- a cosmetic post-step never fails an otherwise good render.
|
|
35
|
-
* This is prep, not scoring: it produces a tighter image for the human's
|
|
36
|
-
* judgment and computes nothing about fidelity.
|
|
37
|
-
*
|
|
38
|
-
* NOTE: the comments inside the stage string ship inside generated runtime
|
|
39
|
-
* scripts. Keep them free of platform-toolchain references -- there is a unit
|
|
40
|
-
* gate asserting the stage never mentions the old interpreter.
|
|
41
|
-
*/
|
|
42
|
-
export declare const RENDER_SCRIPT_TRIM_STAGE: string;
|
|
43
|
-
/** A rendered/reference/source dimension pair in pixels, as TRIMDIMS reports. */
|
|
44
|
-
export type TrimDimsPair = [number, number];
|
|
45
|
-
/** Parsed TRIMDIMS line: rendered (trimmed) / reference / pre-trim source px,
|
|
46
|
-
* plus the crop origin within the source — null when the helper predates it
|
|
47
|
-
* (unknown, never assumed zero). */
|
|
48
|
-
export interface TrimDims {
|
|
49
|
-
rendered: TrimDimsPair;
|
|
50
|
-
reference: TrimDimsPair;
|
|
51
|
-
source: TrimDimsPair;
|
|
52
|
-
offset: TrimDimsPair | null;
|
|
53
|
-
}
|
|
54
|
-
/** How the stage will spawn the fidelity-trim helper. */
|
|
55
|
-
export interface TrimHelperInvocation {
|
|
56
|
-
cmd: string;
|
|
57
|
-
args: string[];
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The platform-neutral helpers embedded in the trim-stage script.
|
|
61
|
-
* `parseTrimDims` reads the helper's TRIMDIMS stdout line; `roundTwo` is the
|
|
62
|
-
* logical-pt rounding primitive; `trimHelperInvocation` resolves how the
|
|
63
|
-
* generated script reaches `ci fidelity-trim` at run time, and
|
|
64
|
-
* `runTrimHelper` spawns it.
|
|
65
|
-
*/
|
|
66
|
-
export interface PostProcessorInternals {
|
|
67
|
-
parseTrimDims(stdout: string): TrimDims | null;
|
|
68
|
-
roundTwo(value: number): number;
|
|
69
|
-
trimHelperInvocation(args: string[]): TrimHelperInvocation;
|
|
70
|
-
runTrimHelper(args: string[]): {
|
|
71
|
-
status: number | null;
|
|
72
|
-
stdout: string;
|
|
73
|
-
stderr: string;
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Evaluates the embedded trim-stage source and returns its pure helpers, so
|
|
78
|
-
* unit tests exercise exactly the code that ships inside the runtime script
|
|
79
|
-
* (mirrors getRenderScriptInternals in ui-fidelity-render.ts). `cp`, `process`,
|
|
80
|
-
* `fs`, `os` and `path` are injectable so the invocation/spawn/copy seams are
|
|
81
|
-
* testable; at runtime the stage is spliced into the generated script where
|
|
82
|
-
* those names are `require`d globals. Uninjected deps only matter for branches
|
|
83
|
-
* that dereference them (the pkg copy path), so existing callers can omit them.
|
|
84
|
-
*/
|
|
85
|
-
export declare function getPostProcessorInternals(overrides?: {
|
|
86
|
-
cp?: unknown;
|
|
87
|
-
processRef?: unknown;
|
|
88
|
-
fs?: unknown;
|
|
89
|
-
os?: unknown;
|
|
90
|
-
path?: unknown;
|
|
91
|
-
}): PostProcessorInternals;
|
|
92
|
-
/**
|
|
93
|
-
* Resolves the on-disk JS entrypoint of this cibuild installation's CLI
|
|
94
|
-
* (dist/cli.cjs), for callers that spawn a generated render script directly
|
|
95
|
-
* (the preview harnesses) and must hand it a working CIBUILD_CLI_JS. Returns
|
|
96
|
-
* null when no built CLI exists nearby (e.g. running from src under jest) --
|
|
97
|
-
* the script then falls back to `ci` on PATH.
|
|
98
|
-
*/
|
|
99
|
-
export declare function resolveCliJsPath(): string | null;
|
|
100
|
-
//# sourceMappingURL=render-post-processor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-post-processor.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/render-post-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAkLtC,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;qCAEqC;AACrC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;IAC3D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE;IACpD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,sBAAsB,CAkBzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAqBhD"}
|