@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,215 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flutter steps: flutter-installer, flutter-build, flutter-test
|
|
3
|
-
*/
|
|
4
|
-
import { BaseStepExecutor } from './base.js';
|
|
5
|
-
/**
|
|
6
|
-
* Installs or activates a specific Flutter SDK version.
|
|
7
|
-
*/
|
|
8
|
-
export class FlutterInstallerStepExecutor extends BaseStepExecutor {
|
|
9
|
-
getValidationRequirements(_inputs, _env, _config) {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
getOutputs() {
|
|
13
|
-
return [
|
|
14
|
-
{ name: 'CIBUILD_FLUTTER_SDK_PATH', type: 'environment', description: 'Path to the installed Flutter SDK' },
|
|
15
|
-
];
|
|
16
|
-
}
|
|
17
|
-
async execute(inputs, _env, _config) {
|
|
18
|
-
const stepName = 'flutter-installer';
|
|
19
|
-
const version = this.getInput(inputs, 'version', 'stable');
|
|
20
|
-
const installPath = this.getInput(inputs, 'installation_path', '$HOME/flutter');
|
|
21
|
-
const commands = [];
|
|
22
|
-
commands.push('# flutter-installer — install or activate Flutter SDK');
|
|
23
|
-
commands.push('echo "🐦 Installing Flutter SDK..."');
|
|
24
|
-
commands.push('');
|
|
25
|
-
commands.push(`FLUTTER_VERSION='${this.escapeBash(version)}'`);
|
|
26
|
-
commands.push(`INSTALL_PATH='${this.escapeBash(installPath)}'`);
|
|
27
|
-
commands.push('');
|
|
28
|
-
// Check if Flutter is already installed at the path
|
|
29
|
-
commands.push('if [ -d "$INSTALL_PATH" ] && [ -x "$INSTALL_PATH/bin/flutter" ]; then');
|
|
30
|
-
commands.push(' echo "Flutter SDK found at $INSTALL_PATH"');
|
|
31
|
-
commands.push(' CURRENT_VERSION=$("$INSTALL_PATH/bin/flutter" --version 2>/dev/null | head -1 || echo "unknown")');
|
|
32
|
-
commands.push(' echo "Current version: $CURRENT_VERSION"');
|
|
33
|
-
commands.push('else');
|
|
34
|
-
commands.push(' echo "Installing Flutter SDK to $INSTALL_PATH..."');
|
|
35
|
-
commands.push(' git clone https://github.com/flutter/flutter.git -b "$FLUTTER_VERSION" "$INSTALL_PATH" 2>/dev/null || {');
|
|
36
|
-
commands.push(' echo "Channel clone failed, trying as version tag..."');
|
|
37
|
-
commands.push(' git clone https://github.com/flutter/flutter.git "$INSTALL_PATH"');
|
|
38
|
-
commands.push(' cd "$INSTALL_PATH" && git checkout "$FLUTTER_VERSION" && cd -');
|
|
39
|
-
commands.push(' }');
|
|
40
|
-
commands.push('fi');
|
|
41
|
-
commands.push('');
|
|
42
|
-
// Add to PATH
|
|
43
|
-
commands.push('# Add Flutter to PATH');
|
|
44
|
-
commands.push('export PATH="$INSTALL_PATH/bin:$INSTALL_PATH/bin/cache/dart-sdk/bin:$PATH"');
|
|
45
|
-
commands.push('envman add --key PATH --value "$INSTALL_PATH/bin:$INSTALL_PATH/bin/cache/dart-sdk/bin:$PATH"');
|
|
46
|
-
commands.push('');
|
|
47
|
-
// Switch channel/version if needed
|
|
48
|
-
commands.push('# Switch to requested version/channel');
|
|
49
|
-
commands.push('case "$FLUTTER_VERSION" in');
|
|
50
|
-
commands.push(' stable|beta|master|dev)');
|
|
51
|
-
commands.push(' flutter channel "$FLUTTER_VERSION"');
|
|
52
|
-
commands.push(' flutter upgrade');
|
|
53
|
-
commands.push(' ;;');
|
|
54
|
-
commands.push('esac');
|
|
55
|
-
commands.push('');
|
|
56
|
-
// Pre-cache and doctor
|
|
57
|
-
commands.push('flutter precache');
|
|
58
|
-
commands.push('flutter doctor -v');
|
|
59
|
-
commands.push('');
|
|
60
|
-
// Export SDK path
|
|
61
|
-
commands.push('envman add --key CIBUILD_FLUTTER_SDK_PATH --value "$INSTALL_PATH"');
|
|
62
|
-
commands.push('echo "✅ Flutter SDK ready: $(flutter --version | head -1)"');
|
|
63
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
64
|
-
return this.createScriptStep(script, stepName);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Builds a Flutter project for iOS and/or Android.
|
|
69
|
-
*/
|
|
70
|
-
export class FlutterBuildStepExecutor extends BaseStepExecutor {
|
|
71
|
-
getValidationRequirements(_inputs, _env, _config) {
|
|
72
|
-
return [
|
|
73
|
-
this.requireCommand('flutter', 'Flutter SDK is required (use flutter-installer step)'),
|
|
74
|
-
];
|
|
75
|
-
}
|
|
76
|
-
getOutputs() {
|
|
77
|
-
return [
|
|
78
|
-
{ name: 'CIBUILD_APK_PATH', type: 'environment', description: 'Path to the built APK' },
|
|
79
|
-
{ name: 'CIBUILD_AAB_PATH', type: 'environment', description: 'Path to the built AAB' },
|
|
80
|
-
{ name: 'CIBUILD_APP_DIR_PATH', type: 'environment', description: 'Path to the built .app directory' },
|
|
81
|
-
];
|
|
82
|
-
}
|
|
83
|
-
async execute(inputs, _env, _config) {
|
|
84
|
-
const stepName = 'flutter-build';
|
|
85
|
-
const projectLocation = this.getInput(inputs, 'project_location', '.');
|
|
86
|
-
const platform = this.getInput(inputs, 'platform', 'both');
|
|
87
|
-
const additionalParams = this.getInput(inputs, 'additional_build_params', '');
|
|
88
|
-
const iosOutputType = this.getInput(inputs, 'ios_output_type', 'app');
|
|
89
|
-
const androidOutputType = this.getInput(inputs, 'android_output_type', 'apk');
|
|
90
|
-
const iosParams = this.getInput(inputs, 'ios_additional_params', '--release');
|
|
91
|
-
const androidParams = this.getInput(inputs, 'android_additional_params', '--release');
|
|
92
|
-
const debug = this.getInput(inputs, 'is_debug_mode', 'false') === 'true';
|
|
93
|
-
const commands = [];
|
|
94
|
-
commands.push('# flutter-build — build Flutter project');
|
|
95
|
-
commands.push('echo "🔨 Building Flutter project..."');
|
|
96
|
-
commands.push('');
|
|
97
|
-
commands.push(`cd '${this.escapeBash(projectLocation)}'`);
|
|
98
|
-
commands.push('');
|
|
99
|
-
// Fetch dependencies
|
|
100
|
-
commands.push('flutter pub get');
|
|
101
|
-
commands.push('');
|
|
102
|
-
if (debug) {
|
|
103
|
-
commands.push('set -x');
|
|
104
|
-
commands.push('');
|
|
105
|
-
}
|
|
106
|
-
const commonParams = additionalParams ? ` ${additionalParams}` : '';
|
|
107
|
-
// iOS build
|
|
108
|
-
if (platform === 'ios' || platform === 'both') {
|
|
109
|
-
commands.push('# Build iOS');
|
|
110
|
-
const iosCmd = iosOutputType === 'archive' ? 'ipa' : 'ios';
|
|
111
|
-
const iosFlags = iosParams ? ` ${iosParams}` : '';
|
|
112
|
-
commands.push(`echo "Building iOS (${iosCmd})..."`);
|
|
113
|
-
commands.push(`flutter build ${iosCmd}${iosFlags}${commonParams} --no-codesign`);
|
|
114
|
-
commands.push('');
|
|
115
|
-
// Find output
|
|
116
|
-
if (iosOutputType === 'archive') {
|
|
117
|
-
commands.push('XCARCHIVE=$(find build/ios/archive -name "*.xcarchive" 2>/dev/null | head -1)');
|
|
118
|
-
commands.push('if [ -n "$XCARCHIVE" ]; then');
|
|
119
|
-
commands.push(' envman add --key CIBUILD_XCARCHIVE_PATH --value "$XCARCHIVE"');
|
|
120
|
-
commands.push(' echo "iOS archive: $XCARCHIVE"');
|
|
121
|
-
commands.push('fi');
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
commands.push('APP_DIR=$(find build/ios/iphoneos -name "*.app" 2>/dev/null | head -1)');
|
|
125
|
-
commands.push('if [ -n "$APP_DIR" ]; then');
|
|
126
|
-
commands.push(' envman add --key CIBUILD_APP_DIR_PATH --value "$APP_DIR"');
|
|
127
|
-
commands.push(' echo "iOS app: $APP_DIR"');
|
|
128
|
-
commands.push('fi');
|
|
129
|
-
}
|
|
130
|
-
commands.push('');
|
|
131
|
-
}
|
|
132
|
-
// Android build
|
|
133
|
-
if (platform === 'android' || platform === 'both') {
|
|
134
|
-
commands.push('# Build Android');
|
|
135
|
-
const androidCmd = androidOutputType === 'appbundle' ? 'appbundle' : 'apk';
|
|
136
|
-
const androidFlags = androidParams ? ` ${androidParams}` : '';
|
|
137
|
-
commands.push(`echo "Building Android (${androidCmd})..."`);
|
|
138
|
-
commands.push(`flutter build ${androidCmd}${androidFlags}${commonParams}`);
|
|
139
|
-
commands.push('');
|
|
140
|
-
// Find output
|
|
141
|
-
if (androidOutputType === 'appbundle') {
|
|
142
|
-
commands.push('AAB_PATH=$(find build/app/outputs/bundle -name "*.aab" 2>/dev/null | head -1)');
|
|
143
|
-
commands.push('if [ -n "$AAB_PATH" ]; then');
|
|
144
|
-
commands.push(' envman add --key CIBUILD_AAB_PATH --value "$AAB_PATH"');
|
|
145
|
-
commands.push(' echo "Android AAB: $AAB_PATH"');
|
|
146
|
-
commands.push('fi');
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
commands.push('APK_PATH=$(find build/app/outputs/apk -name "*.apk" 2>/dev/null | head -1)');
|
|
150
|
-
commands.push('if [ -n "$APK_PATH" ]; then');
|
|
151
|
-
commands.push(' envman add --key CIBUILD_APK_PATH --value "$APK_PATH"');
|
|
152
|
-
commands.push(' echo "Android APK: $APK_PATH"');
|
|
153
|
-
commands.push('fi');
|
|
154
|
-
}
|
|
155
|
-
commands.push('');
|
|
156
|
-
}
|
|
157
|
-
commands.push('echo "✅ Flutter build complete"');
|
|
158
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
159
|
-
return this.createScriptStep(script, stepName);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Runs flutter test with optional coverage.
|
|
164
|
-
*/
|
|
165
|
-
export class FlutterTestStepExecutor extends BaseStepExecutor {
|
|
166
|
-
getValidationRequirements(_inputs, _env, _config) {
|
|
167
|
-
return [
|
|
168
|
-
this.requireCommand('flutter', 'Flutter SDK is required (use flutter-installer step)'),
|
|
169
|
-
];
|
|
170
|
-
}
|
|
171
|
-
getOutputs() {
|
|
172
|
-
return [
|
|
173
|
-
{ name: 'CIBUILD_FLUTTER_COVERAGE_PATH', type: 'environment', description: 'Path to lcov.info coverage file' },
|
|
174
|
-
];
|
|
175
|
-
}
|
|
176
|
-
async execute(inputs, _env, _config) {
|
|
177
|
-
const stepName = 'flutter-test';
|
|
178
|
-
const projectLocation = this.getInput(inputs, 'project_location', '.');
|
|
179
|
-
const additionalParams = this.getInput(inputs, 'additional_params', '');
|
|
180
|
-
const coverage = this.getInput(inputs, 'generate_code_coverage_files', 'false') === 'true';
|
|
181
|
-
const commands = [];
|
|
182
|
-
commands.push('# flutter-test — run Flutter tests');
|
|
183
|
-
commands.push('echo "🧪 Running Flutter tests..."');
|
|
184
|
-
commands.push('');
|
|
185
|
-
commands.push(`cd '${this.escapeBash(projectLocation)}'`);
|
|
186
|
-
commands.push('');
|
|
187
|
-
commands.push('flutter pub get');
|
|
188
|
-
commands.push('');
|
|
189
|
-
// Build test command
|
|
190
|
-
const flags = [];
|
|
191
|
-
if (coverage) {
|
|
192
|
-
flags.push('--coverage');
|
|
193
|
-
}
|
|
194
|
-
if (additionalParams) {
|
|
195
|
-
flags.push(additionalParams);
|
|
196
|
-
}
|
|
197
|
-
const flagStr = flags.length > 0 ? ` ${flags.join(' ')}` : '';
|
|
198
|
-
commands.push(`flutter test${flagStr}`);
|
|
199
|
-
commands.push('');
|
|
200
|
-
// Export coverage path if generated
|
|
201
|
-
if (coverage) {
|
|
202
|
-
commands.push('# Export coverage file path');
|
|
203
|
-
commands.push('COVERAGE_FILE="coverage/lcov.info"');
|
|
204
|
-
commands.push('if [ -f "$COVERAGE_FILE" ]; then');
|
|
205
|
-
commands.push(' envman add --key CIBUILD_FLUTTER_COVERAGE_PATH --value "$(pwd)/$COVERAGE_FILE"');
|
|
206
|
-
commands.push(' echo "Coverage report: $COVERAGE_FILE"');
|
|
207
|
-
commands.push('fi');
|
|
208
|
-
commands.push('');
|
|
209
|
-
}
|
|
210
|
-
commands.push('echo "✅ Flutter tests passed"');
|
|
211
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
212
|
-
return this.createScriptStep(script, stepName);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
//# sourceMappingURL=flutter.js.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `git-clone` reads none of its inputs, and said nothing about it.
|
|
3
|
-
*
|
|
4
|
-
* The step does not clone. By the time it runs, the runner has already checked
|
|
5
|
-
* the dispatched ref out — `git-clone` locates that checkout and republishes
|
|
6
|
-
* its commit metadata. `execute()` takes `_inputs` and never opens it. So
|
|
7
|
-
* `branch: release/2.0` parsed, validated, ran green, and built `main`; a
|
|
8
|
-
* Bitrise-migrated `git-clone@8` carried `clone_depth: 0`, `fetch_tags` and
|
|
9
|
-
* `submodule_update_depth` through the converter and into nothing.
|
|
10
|
-
*
|
|
11
|
-
* Accepting configuration that has no effect is the defect. The step now names
|
|
12
|
-
* every input it was handed, at warning severity: every pipeline written to
|
|
13
|
-
* date carries some of these, and all of them must keep building.
|
|
14
|
-
*/
|
|
15
|
-
import './index.js';
|
|
16
|
-
//# sourceMappingURL=git-clone-names-the-inputs-it-ignores.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-clone-names-the-inputs-it-ignores.test.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,YAAY,CAAC"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `git-clone` reads none of its inputs, and said nothing about it.
|
|
3
|
-
*
|
|
4
|
-
* The step does not clone. By the time it runs, the runner has already checked
|
|
5
|
-
* the dispatched ref out — `git-clone` locates that checkout and republishes
|
|
6
|
-
* its commit metadata. `execute()` takes `_inputs` and never opens it. So
|
|
7
|
-
* `branch: release/2.0` parsed, validated, ran green, and built `main`; a
|
|
8
|
-
* Bitrise-migrated `git-clone@8` carried `clone_depth: 0`, `fetch_tags` and
|
|
9
|
-
* `submodule_update_depth` through the converter and into nothing.
|
|
10
|
-
*
|
|
11
|
-
* Accepting configuration that has no effect is the defect. The step now names
|
|
12
|
-
* every input it was handed, at warning severity: every pipeline written to
|
|
13
|
-
* date carries some of these, and all of them must keep building.
|
|
14
|
-
*/
|
|
15
|
-
import { describe, test, expect } from '@jest/globals';
|
|
16
|
-
import './index.js';
|
|
17
|
-
import { GitCloneStepExecutor } from './git-clone.js';
|
|
18
|
-
import { testConfig } from './test-config.js';
|
|
19
|
-
import { StepValidator } from '../step-validator.js';
|
|
20
|
-
import { loadConfig } from '../../config.js';
|
|
21
|
-
const config = loadConfig();
|
|
22
|
-
/** A one-step workflow, so the only issues are `git-clone`'s. */
|
|
23
|
-
function clonePipeline(inputs) {
|
|
24
|
-
return {
|
|
25
|
-
format_version: '1',
|
|
26
|
-
meta: { invarn: { stack: 'macos-xcode-26.4' } },
|
|
27
|
-
workflows: {
|
|
28
|
-
primary: {
|
|
29
|
-
steps: [{ 'git-clone@1.0.0': { inputs } }],
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
async function validate(inputs) {
|
|
35
|
-
const validator = new StepValidator(clonePipeline(inputs), 'primary', config);
|
|
36
|
-
return validator.validateWorkflow();
|
|
37
|
-
}
|
|
38
|
-
function warningsOf(issues) {
|
|
39
|
-
return issues.filter((i) => i.requirement.severity === 'warning');
|
|
40
|
-
}
|
|
41
|
-
/** Everything the warning puts in front of a reader, as one string. */
|
|
42
|
-
function textOf(issue) {
|
|
43
|
-
return [
|
|
44
|
-
issue.requirement.description,
|
|
45
|
-
issue.result.message ?? '',
|
|
46
|
-
issue.requirement.hint ?? '',
|
|
47
|
-
].join('\n');
|
|
48
|
-
}
|
|
49
|
-
describe('git-clone names the inputs it ignores', () => {
|
|
50
|
-
test('a step given nothing says nothing', async () => {
|
|
51
|
-
const result = await validate({});
|
|
52
|
-
expect(warningsOf(result.issues)).toHaveLength(0);
|
|
53
|
-
expect(result.counts.warnings).toBe(0);
|
|
54
|
-
});
|
|
55
|
-
test('one warning names every input present', async () => {
|
|
56
|
-
const result = await validate({ branch: 'release/2.0', clone_depth: 50 });
|
|
57
|
-
const warnings = warningsOf(result.issues);
|
|
58
|
-
expect(warnings).toHaveLength(1);
|
|
59
|
-
const text = textOf(warnings[0]);
|
|
60
|
-
expect(text).toContain('branch');
|
|
61
|
-
expect(text).toContain('clone_depth');
|
|
62
|
-
});
|
|
63
|
-
test('each of the five declared inputs raises the warning on its own', async () => {
|
|
64
|
-
for (const input of [
|
|
65
|
-
'repository',
|
|
66
|
-
'clone_url',
|
|
67
|
-
'branch',
|
|
68
|
-
'clone_depth',
|
|
69
|
-
'clone_into_dir',
|
|
70
|
-
]) {
|
|
71
|
-
const result = await validate({ [input]: 'anything' });
|
|
72
|
-
const warnings = warningsOf(result.issues);
|
|
73
|
-
expect(warnings).toHaveLength(1);
|
|
74
|
-
expect(textOf(warnings[0])).toContain(input);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
test('an input the converter migrated from Bitrise is named too', async () => {
|
|
78
|
-
// `git-clone@8`'s inputs survive the name split and land in `inputs`
|
|
79
|
-
// unchanged. They are ignored exactly as thoroughly as the declared five,
|
|
80
|
-
// so a warning that only knew the five would let these vanish quietly.
|
|
81
|
-
const result = await validate({ fetch_tags: 'yes', submodule_update_depth: 1 });
|
|
82
|
-
const warnings = warningsOf(result.issues);
|
|
83
|
-
expect(warnings).toHaveLength(1);
|
|
84
|
-
const text = textOf(warnings[0]);
|
|
85
|
-
expect(text).toContain('fetch_tags');
|
|
86
|
-
expect(text).toContain('submodule_update_depth');
|
|
87
|
-
});
|
|
88
|
-
test('the warning does not fail validation', async () => {
|
|
89
|
-
const result = await validate({ branch: 'main', clone_depth: 1 });
|
|
90
|
-
// Every curated template and every pipeline created before this release
|
|
91
|
-
// carries these. An error would stop all of them building.
|
|
92
|
-
expect(result.valid).toBe(true);
|
|
93
|
-
expect(result.counts.errors).toBe(0);
|
|
94
|
-
});
|
|
95
|
-
test('the message names the mechanism rather than calling the inputs deprecated', async () => {
|
|
96
|
-
const result = await validate({ branch: 'main' });
|
|
97
|
-
const text = textOf(warningsOf(result.issues)[0]);
|
|
98
|
-
// What the runner does instead — a reader must be able to act on this
|
|
99
|
-
// without already knowing how the checkout works.
|
|
100
|
-
expect(text).toMatch(/runner/i);
|
|
101
|
-
expect(text).toMatch(/dispatched/i);
|
|
102
|
-
// Since the runner learned to recurse submodules, the message can say so
|
|
103
|
-
// honestly — and must not overclaim the rest, which is still a gap.
|
|
104
|
-
expect(text).toMatch(/submodule/i);
|
|
105
|
-
expect(text).toMatch(/tags/i);
|
|
106
|
-
expect(text).not.toMatch(/deprecat/i);
|
|
107
|
-
});
|
|
108
|
-
test('the requirement is warning-severity and reports itself unmet', async () => {
|
|
109
|
-
// Unit-level: the executor is what other callers reach for, and an issue
|
|
110
|
-
// only reaches a log when the requirement's own check reports `passed:
|
|
111
|
-
// false`. A requirement that quietly passes would print nothing.
|
|
112
|
-
const executor = new GitCloneStepExecutor();
|
|
113
|
-
const requirements = executor.getValidationRequirements({ branch: 'main' }, {}, testConfig);
|
|
114
|
-
const ignored = requirements.filter((r) => r.severity === 'warning');
|
|
115
|
-
expect(ignored).toHaveLength(1);
|
|
116
|
-
expect(ignored[0].timing).toBe('pre-execution');
|
|
117
|
-
const checked = await ignored[0].check();
|
|
118
|
-
expect(checked.passed).toBe(false);
|
|
119
|
-
});
|
|
120
|
-
test('git is still required', async () => {
|
|
121
|
-
const executor = new GitCloneStepExecutor();
|
|
122
|
-
const requirements = executor.getValidationRequirements({}, {}, testConfig);
|
|
123
|
-
expect(requirements.filter((r) => r.name === 'git' && r.severity === 'error'))
|
|
124
|
-
.toHaveLength(1);
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
//# sourceMappingURL=git-clone-names-the-inputs-it-ignores.test.js.map
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git clone step implementation
|
|
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
|
-
/**
|
|
8
|
-
* Inputs for git-clone step
|
|
9
|
-
*/
|
|
10
|
-
export interface GitCloneInputs {
|
|
11
|
-
repository?: string;
|
|
12
|
-
clone_url?: string;
|
|
13
|
-
branch?: string;
|
|
14
|
-
clone_depth?: number;
|
|
15
|
-
clone_into_dir?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* git-clone step executor.
|
|
19
|
-
*
|
|
20
|
-
* Does not clone. The source is already on disk when this runs — on a runner
|
|
21
|
-
* the dispatched commit was checked out before cibuild started (see
|
|
22
|
-
* cibuild-runner's GitCloneRunner); locally it is the developer's working copy.
|
|
23
|
-
* The step locates that checkout and republishes its commit metadata. Every
|
|
24
|
-
* input in GitCloneInputs is accepted so existing YAML keeps parsing, and none
|
|
25
|
-
* of them is read.
|
|
26
|
-
*/
|
|
27
|
-
export declare class GitCloneStepExecutor extends BaseStepExecutor {
|
|
28
|
-
getValidationRequirements(inputs: GitCloneInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
|
|
29
|
-
getOutputs(): StepOutput[];
|
|
30
|
-
execute(_inputs: GitCloneInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=git-clone.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-clone.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/git-clone.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;AAEhF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkCD;;;;;;;;;GASG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,yBAAyB,CACvB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAsC1B,UAAU,IAAI,UAAU,EAAE;IAkDpB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAqD1G"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git clone step implementation
|
|
3
|
-
*/
|
|
4
|
-
import { BaseStepExecutor } from './base.js';
|
|
5
|
-
/**
|
|
6
|
-
* The inputs this step declares, in the order a warning should name them.
|
|
7
|
-
* Declared so existing YAML keeps parsing; read by nothing.
|
|
8
|
-
*/
|
|
9
|
-
const DECLARED_INPUTS = [
|
|
10
|
-
'repository',
|
|
11
|
-
'clone_url',
|
|
12
|
-
'branch',
|
|
13
|
-
'clone_depth',
|
|
14
|
-
'clone_into_dir',
|
|
15
|
-
];
|
|
16
|
-
/**
|
|
17
|
-
* Every input the step was handed — all of which it ignores.
|
|
18
|
-
*
|
|
19
|
-
* Not limited to `DECLARED_INPUTS`: a `git-clone@8` migrated from Bitrise
|
|
20
|
-
* arrives with `fetch_tags` and `submodule_update_depth`, which the name split
|
|
21
|
-
* carries through untouched and `execute()` ignores just as completely. A
|
|
22
|
-
* warning that only knew the declared five would let exactly those vanish
|
|
23
|
-
* quietly. Declared names come first; the rest keep their document order.
|
|
24
|
-
*/
|
|
25
|
-
function ignoredInputNames(inputs) {
|
|
26
|
-
const present = Object.entries(inputs ?? {})
|
|
27
|
-
.filter(([, value]) => value !== undefined && value !== null)
|
|
28
|
-
.map(([name]) => name);
|
|
29
|
-
return [
|
|
30
|
-
...DECLARED_INPUTS.filter((name) => present.includes(name)),
|
|
31
|
-
...present.filter((name) => !DECLARED_INPUTS.includes(name)),
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* git-clone step executor.
|
|
36
|
-
*
|
|
37
|
-
* Does not clone. The source is already on disk when this runs — on a runner
|
|
38
|
-
* the dispatched commit was checked out before cibuild started (see
|
|
39
|
-
* cibuild-runner's GitCloneRunner); locally it is the developer's working copy.
|
|
40
|
-
* The step locates that checkout and republishes its commit metadata. Every
|
|
41
|
-
* input in GitCloneInputs is accepted so existing YAML keeps parsing, and none
|
|
42
|
-
* of them is read.
|
|
43
|
-
*/
|
|
44
|
-
export class GitCloneStepExecutor extends BaseStepExecutor {
|
|
45
|
-
getValidationRequirements(inputs, _env, _config) {
|
|
46
|
-
const requirements = [
|
|
47
|
-
this.requireCommand('git', 'Git is required', 'Install git: brew install git (macOS) or apt install git (Linux)'),
|
|
48
|
-
];
|
|
49
|
-
// Silently accepting configuration that has no effect is the defect: a
|
|
50
|
-
// `branch: release/2.0` validated, ran green, and built whatever was
|
|
51
|
-
// dispatched. One warning, naming what was given — never an error, because
|
|
52
|
-
// every pipeline written before this release carries some of these and all
|
|
53
|
-
// of them must keep building.
|
|
54
|
-
const ignored = ignoredInputNames(inputs);
|
|
55
|
-
if (ignored.length > 0) {
|
|
56
|
-
const named = ignored.join(', ');
|
|
57
|
-
requirements.push({
|
|
58
|
-
category: 'input',
|
|
59
|
-
name: 'git-clone',
|
|
60
|
-
description: `git-clone ignores ${named}`,
|
|
61
|
-
timing: 'pre-execution',
|
|
62
|
-
severity: 'warning',
|
|
63
|
-
check: async () => ({
|
|
64
|
-
passed: false,
|
|
65
|
-
message: 'The runner checks out the dispatched ref, submodules included, ' +
|
|
66
|
-
'before cibuild starts; git-clone only records the commit already ' +
|
|
67
|
-
'on disk and reads none of its inputs. That checkout fetches no ' +
|
|
68
|
-
'tags, no LFS objects and no history beyond the dispatched commit.',
|
|
69
|
-
}),
|
|
70
|
-
hint: `Remove ${named} from the step. To build a different ref, dispatch that ref.`,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return requirements;
|
|
74
|
-
}
|
|
75
|
-
getOutputs() {
|
|
76
|
-
return [
|
|
77
|
-
{
|
|
78
|
-
name: 'CIBUILD_SOURCE_DIR',
|
|
79
|
-
type: 'environment',
|
|
80
|
-
description: 'Path to cloned repository',
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: 'GIT_CLONE_COMMIT_HASH',
|
|
84
|
-
type: 'environment',
|
|
85
|
-
description: 'Commit hash of the cloned repository',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: 'CIBUILD_GIT_COMMIT',
|
|
89
|
-
type: 'environment',
|
|
90
|
-
description: 'Commit hash of the cloned repository',
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: 'GIT_CLONE_COMMIT_AUTHOR_NAME',
|
|
94
|
-
type: 'environment',
|
|
95
|
-
description: 'Author name of the cloned commit',
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
name: 'GIT_CLONE_COMMIT_AUTHOR_EMAIL',
|
|
99
|
-
type: 'environment',
|
|
100
|
-
description: 'Author email of the cloned commit',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'GIT_CLONE_COMMIT_COMMITER_NAME',
|
|
104
|
-
type: 'environment',
|
|
105
|
-
description: 'Committer name of the cloned commit',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'GIT_CLONE_COMMIT_COMMITER_EMAIL',
|
|
109
|
-
type: 'environment',
|
|
110
|
-
description: 'Committer email of the cloned commit',
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
name: 'GIT_CLONE_COMMIT_MESSAGE_SUBJECT',
|
|
114
|
-
type: 'environment',
|
|
115
|
-
description: 'First line of the commit message',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
name: 'GIT_CLONE_COMMIT_MESSAGE_BODY',
|
|
119
|
-
type: 'environment',
|
|
120
|
-
description: 'Body of the commit message (everything after first line)',
|
|
121
|
-
},
|
|
122
|
-
];
|
|
123
|
-
}
|
|
124
|
-
async execute(_inputs, _env, _config) {
|
|
125
|
-
const stepName = 'git-clone';
|
|
126
|
-
// The project is already present on the local machine — no cloning needed.
|
|
127
|
-
// Detect the git root of the current project and export it as CIBUILD_SOURCE_DIR
|
|
128
|
-
// so subsequent build steps (gradle, xcodebuild, etc.) can cd into it.
|
|
129
|
-
const commands = [];
|
|
130
|
-
commands.push('# git-clone → using existing local project checkout');
|
|
131
|
-
commands.push('echo "📁 Locating local project..."');
|
|
132
|
-
commands.push('');
|
|
133
|
-
commands.push('GIT_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo "")"');
|
|
134
|
-
commands.push('if [ -z "$GIT_ROOT" ]; then');
|
|
135
|
-
commands.push(' echo "❌ Error: Not inside a git repository"');
|
|
136
|
-
commands.push(' exit 1');
|
|
137
|
-
commands.push('fi');
|
|
138
|
-
commands.push('');
|
|
139
|
-
commands.push('cd "$GIT_ROOT"');
|
|
140
|
-
commands.push('echo "Project root: $GIT_ROOT"');
|
|
141
|
-
commands.push('');
|
|
142
|
-
commands.push('# Read current commit metadata from the existing checkout');
|
|
143
|
-
commands.push('COMMIT_HASH="$(git rev-parse HEAD)"');
|
|
144
|
-
commands.push('COMMIT_AUTHOR_NAME="$(git log -1 --format="%an")"');
|
|
145
|
-
commands.push('COMMIT_AUTHOR_EMAIL="$(git log -1 --format="%ae")"');
|
|
146
|
-
commands.push('COMMIT_COMMITTER_NAME="$(git log -1 --format="%cn")"');
|
|
147
|
-
commands.push('COMMIT_COMMITTER_EMAIL="$(git log -1 --format="%ce")"');
|
|
148
|
-
commands.push('COMMIT_MESSAGE_SUBJECT="$(git log -1 --format="%s")"');
|
|
149
|
-
commands.push('COMMIT_MESSAGE_BODY="$(git log -1 --format="%b")"');
|
|
150
|
-
commands.push('');
|
|
151
|
-
commands.push('echo "Branch: $(git branch --show-current)"');
|
|
152
|
-
commands.push('echo "Commit: $COMMIT_HASH"');
|
|
153
|
-
commands.push('echo "Author: $COMMIT_AUTHOR_NAME <$COMMIT_AUTHOR_EMAIL>"');
|
|
154
|
-
commands.push('echo "Message: $COMMIT_MESSAGE_SUBJECT"');
|
|
155
|
-
commands.push('');
|
|
156
|
-
commands.push('# Export source directory and commit metadata for subsequent steps');
|
|
157
|
-
commands.push('envman add --key CIBUILD_SOURCE_DIR --value "$GIT_ROOT"');
|
|
158
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_HASH --value "$COMMIT_HASH"');
|
|
159
|
-
commands.push('envman add --key CIBUILD_GIT_COMMIT --value "$COMMIT_HASH"');
|
|
160
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_AUTHOR_NAME --value "$COMMIT_AUTHOR_NAME"');
|
|
161
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_AUTHOR_EMAIL --value "$COMMIT_AUTHOR_EMAIL"');
|
|
162
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_COMMITER_NAME --value "$COMMIT_COMMITTER_NAME"');
|
|
163
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_COMMITER_EMAIL --value "$COMMIT_COMMITTER_EMAIL"');
|
|
164
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_MESSAGE_SUBJECT --value "$COMMIT_MESSAGE_SUBJECT"');
|
|
165
|
-
commands.push('envman add --key GIT_CLONE_COMMIT_MESSAGE_BODY --value "$COMMIT_MESSAGE_BODY"');
|
|
166
|
-
commands.push('echo "✅ Source directory: $GIT_ROOT"');
|
|
167
|
-
const script = this.createBashScriptFromCommands(commands, stepName);
|
|
168
|
-
return this.createScriptStep(script, stepName);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=git-clone.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Executes the generated shell rather than grepping it.
|
|
3
|
-
*
|
|
4
|
-
* The retry lives entirely in emitted bash, so string assertions prove only
|
|
5
|
-
* that the text was written. These run it: a first-attempt refusal followed by
|
|
6
|
-
* a second-attempt success has to actually pass, and a non-refusal has to fail
|
|
7
|
-
* without burning the retry budget.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=git-fetch-retry-exec.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-fetch-retry-exec.test.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/git-fetch-retry-exec.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|