@wix/himalaya-cli 0.1625.0 → 0.1626.0
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/cli.mjs +54 -2
- package/guides/qa-builds.md +22 -0
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -3051,6 +3051,7 @@ __export(dist_jobs_exports, {
|
|
|
3051
3051
|
ANDROID_FORMAT_WRONG_SIGNER: () => ANDROID_FORMAT_WRONG_SIGNER,
|
|
3052
3052
|
ANDROID_SIGNING_ALIASES: () => ANDROID_SIGNING_ALIASES,
|
|
3053
3053
|
ANDROID_SIGNING_POLICIES: () => ANDROID_SIGNING_POLICIES,
|
|
3054
|
+
APPLE_ERROR_CODES_MAX: () => APPLE_ERROR_CODES_MAX,
|
|
3054
3055
|
CUSTOMER_UPLOAD_ABANDONED: () => CUSTOMER_UPLOAD_ABANDONED,
|
|
3055
3056
|
CUSTOMER_UPLOAD_LEASE_MS: () => CUSTOMER_UPLOAD_LEASE_MS,
|
|
3056
3057
|
CUSTOMER_UPLOAD_MAX_ATTEMPTS: () => CUSTOMER_UPLOAD_MAX_ATTEMPTS,
|
|
@@ -3062,6 +3063,7 @@ __export(dist_jobs_exports, {
|
|
|
3062
3063
|
DEFAULT_DIST_SHELL: () => DEFAULT_DIST_SHELL,
|
|
3063
3064
|
DEFAULT_DIST_SIGNING: () => DEFAULT_DIST_SIGNING,
|
|
3064
3065
|
DEFAULT_GIT_URL: () => DEFAULT_GIT_URL,
|
|
3066
|
+
DIST_ERROR_CODES: () => DIST_ERROR_CODES,
|
|
3065
3067
|
DIST_PACKAGE_NAME: () => DIST_PACKAGE_NAME,
|
|
3066
3068
|
DIST_PARAMS_FLAG: () => DIST_PARAMS_FLAG,
|
|
3067
3069
|
DIST_SHELLS: () => DIST_SHELLS,
|
|
@@ -3073,12 +3075,15 @@ __export(dist_jobs_exports, {
|
|
|
3073
3075
|
SCOPE_READ: () => SCOPE_READ,
|
|
3074
3076
|
WIX_MANAGED_SIGNING_ALIASES: () => WIX_MANAGED_SIGNING_ALIASES,
|
|
3075
3077
|
androidFormatSkewFailed: () => androidFormatSkewFailed,
|
|
3078
|
+
appleErrorCodesOf: () => appleErrorCodesOf,
|
|
3076
3079
|
borrowableIosIds: () => borrowableIosIds,
|
|
3077
3080
|
credsFromConfig: () => credsFromConfig,
|
|
3078
3081
|
customerUploadClaimable: () => customerUploadClaimable,
|
|
3079
3082
|
customerUploadFailure: () => customerUploadFailure,
|
|
3083
|
+
distErrorCodeOf: () => distErrorCodeOf,
|
|
3080
3084
|
distJobSpec: () => distJobSpec,
|
|
3081
3085
|
encodeDistParams: () => encodeDistParams,
|
|
3086
|
+
failureCodesOf: () => failureCodesOf,
|
|
3082
3087
|
isBorrowableIosId: () => isBorrowableIosId,
|
|
3083
3088
|
isSuccess: () => isSuccess,
|
|
3084
3089
|
isTerminal: () => isTerminal,
|
|
@@ -3285,6 +3290,22 @@ function resolveAndroidSigning(requested) {
|
|
|
3285
3290
|
function androidFormatSkewFailed(record3) {
|
|
3286
3291
|
return record3.platform === "android" && typeof record3.error === "string" && [ANDROID_FORMAT_NOT_BUILT, ANDROID_FORMAT_WRONG_SIGNER, ANDROID_FORMAT_NOT_REQUESTED, ANDROID_BUILD_TYPE_NOT_BUILT].some((code) => record3.error.includes(`${code}:`));
|
|
3287
3292
|
}
|
|
3293
|
+
function distErrorCodeOf(error) {
|
|
3294
|
+
if (typeof error !== "string") return void 0;
|
|
3295
|
+
const code = /^[a-z][a-z0-9_]*/.exec(error)?.[0];
|
|
3296
|
+
return DIST_ERROR_CODES.includes(code ?? "") ? code : void 0;
|
|
3297
|
+
}
|
|
3298
|
+
function appleErrorCodesOf(diagnostics) {
|
|
3299
|
+
if (typeof diagnostics !== "string") return void 0;
|
|
3300
|
+
const codes = [...new Set(diagnostics.match(/\bITMS-\d{4,5}\b/g) ?? [])].slice(0, APPLE_ERROR_CODES_MAX);
|
|
3301
|
+
return codes.length > 0 ? codes : void 0;
|
|
3302
|
+
}
|
|
3303
|
+
function failureCodesOf(record3, body) {
|
|
3304
|
+
const errorCode = distErrorCodeOf(body.error);
|
|
3305
|
+
if (errorCode === "customer_signing_fetch_failed" && record3.errorCode) return {};
|
|
3306
|
+
const validation = errorCode === "customer_app_store_validation_failed";
|
|
3307
|
+
return { errorCode, appleErrorCodes: validation ? appleErrorCodesOf(body.diagnostics) : void 0 };
|
|
3308
|
+
}
|
|
3288
3309
|
function resolveAndroidFormat(requested) {
|
|
3289
3310
|
if (requested === void 0 || requested === null || requested === "") return { format: DEFAULT_ANDROID_FORMAT };
|
|
3290
3311
|
if (typeof requested === "string" && ANDROID_FORMATS.includes(requested)) {
|
|
@@ -3400,10 +3421,42 @@ function distJobSpec(req) {
|
|
|
3400
3421
|
...req.xcodeVersion ? { xcodeVersion: req.xcodeVersion } : {}
|
|
3401
3422
|
};
|
|
3402
3423
|
}
|
|
3403
|
-
var IN_FLIGHT, SCOPE_CREATE, SCOPE_READ, SCOPE_CANCEL, DEFAULT_BASE_URL, DEFAULT_OAUTH_URL, TOKEN_TTL_MS, JobServiceError, JobServiceBroker, CUSTOMER_UPLOAD_LEASE_MS, CUSTOMER_UPLOAD_RETRY_DELAYS_MS, CUSTOMER_UPLOAD_MAX_ATTEMPTS, CUSTOMER_UPLOAD_ABANDONED, MAX_MEASURABLE_IDENTITY_WINDOW, DIST_SHELLS, DEFAULT_DIST_SHELL, DEFAULT_BORROWABLE_IOS_IDS, BUNDLE_ID_RE, DEFAULT_DIST_SIGNING, WIX_MANAGED_SIGNING_ALIASES, DEFAULT_ANDROID_SIGNING, ANDROID_SIGNING_POLICIES, ANDROID_SIGNING_ALIASES, DEFAULT_ANDROID_FORMAT, ANDROID_FORMATS, ANDROID_FORMAT_NOT_BUILT, ANDROID_FORMAT_WRONG_SIGNER, ANDROID_FORMAT_NOT_REQUESTED, DEFAULT_ANDROID_BUILD_TYPE, ANDROID_BUILD_TYPES, ANDROID_BUILD_TYPE_NOT_BUILT, DEFAULT_GIT_URL, DIST_PACKAGE_NAME, DIST_PARAMS_FLAG, MAX_COMMAND_CHARS;
|
|
3424
|
+
var DIST_ERROR_CODES, APPLE_ERROR_CODES_MAX, IN_FLIGHT, SCOPE_CREATE, SCOPE_READ, SCOPE_CANCEL, DEFAULT_BASE_URL, DEFAULT_OAUTH_URL, TOKEN_TTL_MS, JobServiceError, JobServiceBroker, CUSTOMER_UPLOAD_LEASE_MS, CUSTOMER_UPLOAD_RETRY_DELAYS_MS, CUSTOMER_UPLOAD_MAX_ATTEMPTS, CUSTOMER_UPLOAD_ABANDONED, MAX_MEASURABLE_IDENTITY_WINDOW, DIST_SHELLS, DEFAULT_DIST_SHELL, DEFAULT_BORROWABLE_IOS_IDS, BUNDLE_ID_RE, DEFAULT_DIST_SIGNING, WIX_MANAGED_SIGNING_ALIASES, DEFAULT_ANDROID_SIGNING, ANDROID_SIGNING_POLICIES, ANDROID_SIGNING_ALIASES, DEFAULT_ANDROID_FORMAT, ANDROID_FORMATS, ANDROID_FORMAT_NOT_BUILT, ANDROID_FORMAT_WRONG_SIGNER, ANDROID_FORMAT_NOT_REQUESTED, DEFAULT_ANDROID_BUILD_TYPE, ANDROID_BUILD_TYPES, ANDROID_BUILD_TYPE_NOT_BUILT, DEFAULT_GIT_URL, DIST_PACKAGE_NAME, DIST_PARAMS_FLAG, MAX_COMMAND_CHARS;
|
|
3404
3425
|
var init_dist_jobs = __esm({
|
|
3405
3426
|
"../../core/serve-control/src/dist-jobs.ts"() {
|
|
3406
3427
|
init_define_HHP_CATALOG();
|
|
3428
|
+
DIST_ERROR_CODES = [
|
|
3429
|
+
"customer_agent_keychain_unavailable",
|
|
3430
|
+
"customer_app_store_ipa_unreadable",
|
|
3431
|
+
"customer_app_store_validation_failed",
|
|
3432
|
+
"customer_app_store_validation_key_missing",
|
|
3433
|
+
"customer_archive_invalid",
|
|
3434
|
+
"customer_artifact_identity_mismatch",
|
|
3435
|
+
"customer_build_failed",
|
|
3436
|
+
"customer_entitlement_not_granted",
|
|
3437
|
+
"customer_entitlements_unresolved",
|
|
3438
|
+
"customer_firebase_binding_missing",
|
|
3439
|
+
"customer_firebase_config_missing",
|
|
3440
|
+
"customer_firebase_fetch_failed",
|
|
3441
|
+
"customer_identity_preexisting",
|
|
3442
|
+
"customer_ipa_invalid",
|
|
3443
|
+
"customer_profile_invalid",
|
|
3444
|
+
"customer_profile_push_missing",
|
|
3445
|
+
"customer_signing_ambient_identity_unavailable",
|
|
3446
|
+
"customer_signing_binding_mismatch",
|
|
3447
|
+
"customer_signing_binding_missing",
|
|
3448
|
+
"customer_signing_cleanup_failed",
|
|
3449
|
+
"customer_signing_command_failed",
|
|
3450
|
+
"customer_signing_expired",
|
|
3451
|
+
"customer_signing_fetch_failed",
|
|
3452
|
+
"customer_signing_identity_unavailable",
|
|
3453
|
+
"customer_signing_install_failed",
|
|
3454
|
+
"customer_signing_noninteractive_unavailable",
|
|
3455
|
+
"customer_signing_policy_mismatch",
|
|
3456
|
+
"customer_signing_project_ambiguous",
|
|
3457
|
+
"customer_signing_runner_identity_unavailable"
|
|
3458
|
+
];
|
|
3459
|
+
APPLE_ERROR_CODES_MAX = 5;
|
|
3407
3460
|
IN_FLIGHT = /* @__PURE__ */ new Set(["CREATED", "QUEUED", "WORKING"]);
|
|
3408
3461
|
SCOPE_CREATE = "MRE.JOB_CREATE";
|
|
3409
3462
|
SCOPE_READ = "MRE.JOB_READ";
|
|
@@ -29421,7 +29474,6 @@ function resolveIdiom(tokens2, ctx = {}) {
|
|
|
29421
29474
|
var IDIOM_CONTEXTS, UNSAFE_KEYS;
|
|
29422
29475
|
var init_idiom = __esm({
|
|
29423
29476
|
"../../core/ts/src/idiom.ts"() {
|
|
29424
|
-
"use strict";
|
|
29425
29477
|
init_define_HHP_CATALOG();
|
|
29426
29478
|
IDIOM_CONTEXTS = {
|
|
29427
29479
|
ios: { native: ["ios"] },
|
package/guides/qa-builds.md
CHANGED
|
@@ -359,6 +359,28 @@ read it only once `status` is `FAILURE`. A Job Service retry clears it once its
|
|
|
359
359
|
minted, or when it ends `SUCCESS`. It misses a signing error raised on the Mac after the identity
|
|
360
360
|
arrived (a keychain or profile install), which then reads as a plain failure.
|
|
361
361
|
|
|
362
|
+
### Why a customer-signed build failed — `errorCode` and `appleErrorCodes`
|
|
363
|
+
|
|
364
|
+
A customer-signed build (`signing: byo`, a Containers App Store build among them) fails on the Mac
|
|
365
|
+
with a code of the pool's own, which the pool reports as the start of `error`. Serve keeps it, typed,
|
|
366
|
+
as `errorCode` when it is one of the pool's known codes; a surface branches on that, never on
|
|
367
|
+
`error`. Read it once `status` is `FAILURE`; `SUCCESS` clears it; absent means an
|
|
368
|
+
unknown reason. For example:
|
|
369
|
+
|
|
370
|
+
- **`customer_app_store_validation_failed`** — Apple refused the package when the pool validated it.
|
|
371
|
+
Apple's codes ride beside it as `appleErrorCodes` (`["ITMS-90062"]`, at most five): a version Apple
|
|
372
|
+
won't take, or an icon it refuses, read differently.
|
|
373
|
+
- **`customer_signing_expired`** — the build waited past its signing window (one hour from the
|
|
374
|
+
dispatch) before the Mac asked for its signing files. Serve writes it when it refuses that fetch;
|
|
375
|
+
the pool's own report then says only `customer_signing_fetch_failed (403)`, which does not replace
|
|
376
|
+
it. Sending the build again opens a new window.
|
|
377
|
+
- **`customer_identity_preexisting`** / **`customer_signing_install_failed`** — the signing identity
|
|
378
|
+
could not go into the Mac's keychain, for example because another build of the same owner was
|
|
379
|
+
running there.
|
|
380
|
+
|
|
381
|
+
A Job Service retry of a failed customer job is refused its signing files, so it fails with
|
|
382
|
+
`customer_signing_fetch_failed`; that leaves the first attempt's `errorCode` as it was.
|
|
383
|
+
|
|
362
384
|
A build that throws after the build step — an S3 upload, say — reports `FAILURE` too, with
|
|
363
385
|
`error: "dist failed: …"`. Before, the pool exited 0 having reported nothing, and the job ended
|
|
364
386
|
`SUCCESS` with no artifact. When a failure report cannot be delivered at all, the job exits
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1626.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
|
|
6
6
|
"keywords": [
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"artifactId": "himalaya-cli"
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
|
-
"falconPackageHash": "
|
|
75
|
+
"falconPackageHash": "869790bb3cee9edb5ddd63f3befb4a65c1999a3ba9f388e5ad711509"
|
|
76
76
|
}
|