lim 0.48.0 → 0.49.1

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.
Files changed (82) hide show
  1. package/README.md +39 -0
  2. package/dist/base-command.d.ts +6 -5
  3. package/dist/base-command.d.ts.map +1 -1
  4. package/dist/base-command.js +52 -21
  5. package/dist/base-command.js.map +1 -1
  6. package/dist/base-command.snapshots.test.js +50 -9
  7. package/dist/base-command.snapshots.test.js.map +1 -1
  8. package/dist/base-command.uploads.test.d.ts +2 -0
  9. package/dist/base-command.uploads.test.d.ts.map +1 -0
  10. package/dist/base-command.uploads.test.js +155 -0
  11. package/dist/base-command.uploads.test.js.map +1 -0
  12. package/dist/commands/android/create.d.ts +1 -0
  13. package/dist/commands/android/create.d.ts.map +1 -1
  14. package/dist/commands/android/create.js +6 -3
  15. package/dist/commands/android/create.js.map +1 -1
  16. package/dist/commands/android/create.test.js +1 -1
  17. package/dist/commands/android/create.test.js.map +1 -1
  18. package/dist/commands/gradle/build.d.ts +1 -0
  19. package/dist/commands/gradle/build.d.ts.map +1 -1
  20. package/dist/commands/gradle/build.js +1 -0
  21. package/dist/commands/gradle/build.js.map +1 -1
  22. package/dist/commands/gradle/create.d.ts +1 -0
  23. package/dist/commands/gradle/create.d.ts.map +1 -1
  24. package/dist/commands/gradle/create.js +6 -2
  25. package/dist/commands/gradle/create.js.map +1 -1
  26. package/dist/commands/gradle/sync.d.ts +1 -0
  27. package/dist/commands/gradle/sync.d.ts.map +1 -1
  28. package/dist/commands/gradle/sync.js +1 -0
  29. package/dist/commands/gradle/sync.js.map +1 -1
  30. package/dist/commands/ios/create.d.ts +1 -0
  31. package/dist/commands/ios/create.d.ts.map +1 -1
  32. package/dist/commands/ios/create.js +9 -6
  33. package/dist/commands/ios/create.js.map +1 -1
  34. package/dist/commands/ios/create.test.js +5 -3
  35. package/dist/commands/ios/create.test.js.map +1 -1
  36. package/dist/commands/run.d.ts +1 -0
  37. package/dist/commands/run.d.ts.map +1 -1
  38. package/dist/commands/run.js +9 -3
  39. package/dist/commands/run.js.map +1 -1
  40. package/dist/commands/xcode/build.d.ts +1 -0
  41. package/dist/commands/xcode/build.d.ts.map +1 -1
  42. package/dist/commands/xcode/build.js +2 -1
  43. package/dist/commands/xcode/build.js.map +1 -1
  44. package/dist/commands/xcode/create.d.ts +1 -0
  45. package/dist/commands/xcode/create.d.ts.map +1 -1
  46. package/dist/commands/xcode/create.js +13 -7
  47. package/dist/commands/xcode/create.js.map +1 -1
  48. package/dist/commands/xcode/rbe/index.d.ts +1 -0
  49. package/dist/commands/xcode/rbe/index.d.ts.map +1 -1
  50. package/dist/commands/xcode/rbe/index.js +8 -0
  51. package/dist/commands/xcode/rbe/index.js.map +1 -1
  52. package/dist/commands/xcode/rbe/index.test.d.ts +2 -0
  53. package/dist/commands/xcode/rbe/index.test.d.ts.map +1 -0
  54. package/dist/commands/xcode/rbe/index.test.js +36 -0
  55. package/dist/commands/xcode/rbe/index.test.js.map +1 -0
  56. package/dist/commands/xcode/rbe/upload.js +1 -1
  57. package/dist/commands/xcode/rbe/upload.js.map +1 -1
  58. package/dist/commands/xcode/sync.d.ts +1 -0
  59. package/dist/commands/xcode/sync.d.ts.map +1 -1
  60. package/dist/commands/xcode/sync.js +1 -0
  61. package/dist/commands/xcode/sync.js.map +1 -1
  62. package/dist/commands/xcode/test.d.ts +1 -0
  63. package/dist/commands/xcode/test.d.ts.map +1 -1
  64. package/dist/commands/xcode/test.js +1 -0
  65. package/dist/commands/xcode/test.js.map +1 -1
  66. package/dist/creation-permissions.test.d.ts +2 -0
  67. package/dist/creation-permissions.test.d.ts.map +1 -0
  68. package/dist/creation-permissions.test.js +97 -0
  69. package/dist/creation-permissions.test.js.map +1 -0
  70. package/dist/lib/cache.d.ts.map +1 -1
  71. package/dist/lib/cache.js +1 -1
  72. package/dist/lib/cache.js.map +1 -1
  73. package/dist/lib/delegated-permissions.d.ts +3 -0
  74. package/dist/lib/delegated-permissions.d.ts.map +1 -0
  75. package/dist/lib/delegated-permissions.js +26 -0
  76. package/dist/lib/delegated-permissions.js.map +1 -0
  77. package/dist/lib/gradle-build-options.js +1 -1
  78. package/dist/lib/gradle-build-options.js.map +1 -1
  79. package/dist/lib/rbe-auto-upload.d.ts.map +1 -1
  80. package/dist/lib/rbe-auto-upload.js +4 -1
  81. package/dist/lib/rbe-auto-upload.js.map +1 -1
  82. package/package.json +3 -3
package/README.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  The official command-line interface for [Limrun](https://limrun.com) — create and control cloud mobile sandboxes for Android, iOS, and Xcode.
4
4
 
5
+ ## Workload permissions
6
+
7
+ Workload permissions control which resources an instance can access. Assets are
8
+ the first supported resource type. Commands that create instances send an explicit
9
+ `spec.role.permissions` list.
10
+ It is empty unless you supply `--permission` or request a named build upload:
11
+
12
+ ```bash
13
+ lim xcode build . --upload releases/app.ipa
14
+ lim gradle build . --upload releases/app.apk
15
+ lim xcode sync . --permission 'asset:name/releases/*:upload'
16
+ lim ios create --permission 'asset:name/fixtures/*:read'
17
+ ```
18
+
19
+ `--upload` and RBE's `--auto-upload` add the target's create, upload, and update
20
+ permissions automatically; no `--permission` is needed for the upload itself.
21
+ If you supply `--permission`, those extra grants are added to the upload grants.
22
+ The daemon uploads to that concrete target
23
+ after building. No client-side upload URL request is needed. Automatic upload
24
+ names cannot contain `*` or `?`; use `--permission` for intentional patterns.
25
+ Delegating a pattern requires `asset:*:<verb>` or broader authority for that verb.
26
+
27
+ Repeat `--permission` to add grants at creation. It is available on all four
28
+ `create` commands, `run`, Xcode build/test/sync/RBE, and Gradle build/sync.
29
+ `--permission` forces fresh instances even with `--reuse-if-exists`.
30
+ Permissions cannot be added to an existing instance. When using `--id`, its role
31
+ must already authorize the upload. Existing customer sessions are not changed.
32
+ Auxiliary simulators receive an empty list; `ios create --xcode` gives both newly
33
+ created workloads the requested permissions.
34
+
35
+ `--signed-upload-url` remains supported and adds no workload permissions.
36
+ Direct client uploads (`asset push`) and the keychain signed-URL flow continue to
37
+ use the caller's credentials.
38
+
5
39
  ## Installation
6
40
 
7
41
  ```bash
@@ -498,6 +532,11 @@ lim xcode version list # Xcode versions the sandbox can build with
498
532
 
499
533
  ### Disk snapshots
500
534
 
535
+ If a snapshot cannot be restored, including a checksum mismatch or download
536
+ failure, the CLI warns and continues with a cold workspace. The instance stays
537
+ available and the build can regenerate its dependencies and outputs. A lost
538
+ snapshot-status connection also leaves the build free to continue.
539
+
501
540
  New Xcode instances automatically restore and save a disk snapshot using the
502
541
  Git origin host/repository and project subdirectory, for example
503
542
  `github.com/acme/monorepo/apps/ios`. SSH and HTTPS origins produce the same key;
@@ -30,6 +30,9 @@ export declare abstract class BaseCommand extends Command {
30
30
  workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
31
31
  daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
32
32
  };
33
+ static permissionFlags: {
34
+ permission: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
35
+ };
33
36
  static readOnlyFlags: {
34
37
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
35
38
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -106,12 +109,10 @@ export declare abstract class BaseCommand extends Command {
106
109
  protected cacheConfigFromFlags(): XcodeCacheConfig | undefined;
107
110
  protected buildSnapshotTip(instanceId: string): Promise<string>;
108
111
  /**
109
- * Blocks while a freshly created instance restores its cache, printing each phase as it
110
- * happens. A restore that fell back to a cold workspace just prints and returns, because the
111
- * instance is perfectly usable. A restore that genuinely broke removes the instance, since
112
- * the caller asked for a warm workspace and handing back a silently cold one is worse.
112
+ * Waits for snapshot restore before building. Cache failures leave the instance usable,
113
+ * so report them and continue with the server's cold workspace fallback.
113
114
  */
114
- protected awaitCacheRestore(instanceId: string, removeInstance: () => Promise<unknown>): Promise<void>;
115
+ protected awaitCacheRestore(instanceId: string): Promise<void>;
115
116
  /**
116
117
  * Applies cache flags to a target a command is about to build on. An instance this
117
118
  * invocation created already carries the whole configuration from its create, so all that is
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.BaseCommand = void 0;
37
+ const delegated_permissions_1 = require("./lib/delegated-permissions");
37
38
  const core_1 = require("@oclif/core");
38
39
  const api_1 = __importStar(require("@limrun/api"));
39
40
  const config_1 = require("./lib/config");
@@ -463,6 +464,9 @@ class BaseCommand extends core_1.Command {
463
464
  `Provide an instance ID or create one first with: lim ${noun} create`);
464
465
  }
465
466
  async resolveXcodeTargetOrCreate(providedId) {
467
+ if (this.parsedFlags?.permission && (providedId || (0, set_instance_1.envInstanceTarget)('xcode'))) {
468
+ throw new Error('--permission applies at instance creation; an existing instance keeps its delegated permissions.');
469
+ }
466
470
  this._lastResolvedExpectedType = 'xcode';
467
471
  this._xcodeReplacementIntent = 'standalone';
468
472
  const id = this._overrideInstanceId ?? providedId;
@@ -483,10 +487,11 @@ class BaseCommand extends core_1.Command {
483
487
  return envTarget;
484
488
  }
485
489
  const target = (0, config_1.loadLastXcodeInstance)();
486
- // A requested creation-time timeout cannot be applied to an existing
487
- // instance. Skip the cached target so headless one-shot commands get a
488
- // fresh instance with the requested lifecycle.
489
- if (target && !this.autoCreateInactivityTimeout()) {
490
+ // A cached instance may not hold the requested permissions or lifecycle settings.
491
+ // Explicit instance IDs above keep their existing configuration.
492
+ if (target &&
493
+ !this.autoCreateInactivityTimeout() &&
494
+ !(0, delegated_permissions_1.delegatedPermissionsFromFlags)(this.parsedFlags ?? {})) {
490
495
  this._lastResolvedInstanceId = target.id;
491
496
  return target;
492
497
  }
@@ -500,6 +505,9 @@ class BaseCommand extends core_1.Command {
500
505
  return replacement;
501
506
  }
502
507
  async resolveSimulatorBackedXcodeTargetOrCreate(providedId) {
508
+ if (this.parsedFlags?.permission && (providedId || (0, set_instance_1.envInstanceTarget)('xcode'))) {
509
+ throw new Error('--permission applies at instance creation; an existing instance keeps its delegated permissions.');
510
+ }
503
511
  this._lastResolvedExpectedType = 'xcode';
504
512
  this._xcodeReplacementIntent = 'simulator-backed';
505
513
  const id = this._overrideInstanceId ?? providedId;
@@ -526,7 +534,7 @@ class BaseCommand extends core_1.Command {
526
534
  return envTarget;
527
535
  }
528
536
  const target = (0, config_1.loadLastXcodeInstance)();
529
- const forceFresh = Boolean(this.autoCreateInactivityTimeout());
537
+ const forceFresh = Boolean(this.autoCreateInactivityTimeout() || (0, delegated_permissions_1.delegatedPermissionsFromFlags)(this.parsedFlags ?? {}));
530
538
  // The recorded Xcode target wins even when it has no simulator yet:
531
539
  // attach one instead of abandoning it for a fresh sandbox, so a prior
532
540
  // `lim xcode sync` or `lim xcode create` keeps all commands pointed at
@@ -634,12 +642,18 @@ class BaseCommand extends core_1.Command {
634
642
  }
635
643
  }
636
644
  async createIosInstance() {
637
- const instance = await this.client.iosInstances.create({ wait: true, spec: {} });
645
+ const instance = await this.client.iosInstances.create({
646
+ wait: true,
647
+ spec: { role: { permissions: [] } },
648
+ });
638
649
  this._instancesCreatedThisRun.add(instance.metadata.id);
639
650
  return (0, config_1.registerCreatedInstance)(instance);
640
651
  }
641
652
  async createAndroidInstance() {
642
- const instance = await this.client.androidInstances.create({ wait: true, spec: {} });
653
+ const instance = await this.client.androidInstances.create({
654
+ wait: true,
655
+ spec: { role: { permissions: [] } },
656
+ });
643
657
  this._instancesCreatedThisRun.add(instance.metadata.id);
644
658
  return (0, config_1.registerCreatedInstance)(instance);
645
659
  }
@@ -685,12 +699,10 @@ class BaseCommand extends core_1.Command {
685
699
  return '\nTip: Use --snapshot-key <project-key> for disk snapshots to build under 60 seconds!';
686
700
  }
687
701
  /**
688
- * Blocks while a freshly created instance restores its cache, printing each phase as it
689
- * happens. A restore that fell back to a cold workspace just prints and returns, because the
690
- * instance is perfectly usable. A restore that genuinely broke removes the instance, since
691
- * the caller asked for a warm workspace and handing back a silently cold one is worse.
702
+ * Waits for snapshot restore before building. Cache failures leave the instance usable,
703
+ * so report them and continue with the server's cold workspace fallback.
692
704
  */
693
- async awaitCacheRestore(instanceId, removeInstance) {
705
+ async awaitCacheRestore(instanceId) {
694
706
  const start = Date.now();
695
707
  this.info('Restoring disk snapshot...');
696
708
  let result;
@@ -708,19 +720,21 @@ class BaseCommand extends core_1.Command {
708
720
  // Not a wait that broke but an instance that ended, so there is nothing to keep or check.
709
721
  throw new Error(`Instance ${instanceId} was collected before its disk snapshot restore started.`);
710
722
  }
711
- // The restore may well still be running, so the instance stays: deleting it over a
712
- // client-side wait that broke would throw away a workspace that is probably fine.
713
- throw new Error(`Could not follow the disk snapshot restore of ${instanceId}: ${err instanceof Error ? err.message : String(err)}\n` + `The instance is still there. Check it with: lim xcode get ${instanceId}`);
723
+ // Sync and build also wait for the server's restore gate. Losing status updates
724
+ // must not prevent either operation from reaching that gate.
725
+ this.warn(`Could not follow the disk snapshot restore of ${instanceId}: ${err instanceof Error ? err.message : String(err)}. Continuing on the existing instance.`);
726
+ return;
714
727
  }
715
728
  if (result.gone) {
716
729
  throw new Error(`Instance ${instanceId} was gone before its disk snapshot restore finished (last phase: ${result.cache.restore.phase}).`);
717
730
  }
718
731
  const outcome = (0, cache_1.restoreOutcome)(result.cache, Date.now() - start);
719
732
  if (outcome.failed) {
720
- await removeInstance();
721
- throw new Error(`${outcome.line}\nRemoved instance ${instanceId}.`);
733
+ this.warn(outcome.line);
734
+ }
735
+ else {
736
+ this.info(outcome.line);
722
737
  }
723
- this.info(outcome.line);
724
738
  if (result.cache.restore.phase !== 'restored') {
725
739
  for (const line of (0, cache_1.skippedKeyLines)(result.cache)) {
726
740
  this.info(line);
@@ -1066,11 +1080,13 @@ class BaseCommand extends core_1.Command {
1066
1080
  return target;
1067
1081
  }
1068
1082
  async createStandaloneXcodeInstance() {
1083
+ const delegatedPermissions = (0, delegated_permissions_1.delegatedPermissionsFromFlags)(this.parsedFlags ?? {});
1069
1084
  const inactivityTimeout = this.autoCreateInactivityTimeout();
1070
1085
  const cache = this.cacheConfigFromFlags();
1071
1086
  const instance = await this.client.xcodeInstances.create({
1072
1087
  wait: true,
1073
1088
  spec: {
1089
+ role: { permissions: delegatedPermissions ?? [] },
1074
1090
  ...(inactivityTimeout && { inactivityTimeout }),
1075
1091
  ...(cache ? { cache } : {}),
1076
1092
  },
@@ -1078,7 +1094,7 @@ class BaseCommand extends core_1.Command {
1078
1094
  this._instancesCreatedThisRun.add(instance.metadata.id);
1079
1095
  (0, config_1.registerCreatedInstance)(instance);
1080
1096
  if ((0, cache_1.wantsRestore)(cache)) {
1081
- await this.awaitCacheRestore(instance.metadata.id, () => this.deleteCreatedInstance(instance.metadata.id));
1097
+ await this.awaitCacheRestore(instance.metadata.id);
1082
1098
  }
1083
1099
  const target = (0, config_1.loadLastXcodeInstance)();
1084
1100
  if (!target) {
@@ -1131,9 +1147,16 @@ class BaseCommand extends core_1.Command {
1131
1147
  return target;
1132
1148
  }
1133
1149
  async resolveGradleTargetOrCreate(providedId) {
1150
+ if (this.parsedFlags?.permission && (providedId || (0, set_instance_1.envInstanceTarget)('gradle'))) {
1151
+ throw new Error('--permission applies at instance creation; an existing instance keeps its delegated permissions.');
1152
+ }
1134
1153
  const target = this.tryResolveGradleTarget(providedId);
1135
- // Creation-time lifecycle settings cannot be applied to a cached target.
1136
- if (target && !this.autoCreateInactivityTimeout()) {
1154
+ // Explicit targets keep their permissions; cached targets cannot be assumed to hold new grants.
1155
+ if (target &&
1156
+ (this._overrideInstanceId ||
1157
+ providedId ||
1158
+ (0, set_instance_1.envInstanceTarget)('gradle') ||
1159
+ (!this.autoCreateInactivityTimeout() && !(0, delegated_permissions_1.delegatedPermissionsFromFlags)(this.parsedFlags ?? {})))) {
1137
1160
  return target;
1138
1161
  }
1139
1162
  if (!this.shouldAutoCreateOnNotFound()) {
@@ -1174,10 +1197,12 @@ class BaseCommand extends core_1.Command {
1174
1197
  };
1175
1198
  }
1176
1199
  async createStandaloneGradleInstance() {
1200
+ const delegatedPermissions = (0, delegated_permissions_1.delegatedPermissionsFromFlags)(this.parsedFlags ?? {});
1177
1201
  const inactivityTimeout = this.autoCreateInactivityTimeout();
1178
1202
  const instance = await this.client.gradleInstances.create({
1179
1203
  wait: true,
1180
1204
  spec: {
1205
+ role: { permissions: delegatedPermissions ?? [] },
1181
1206
  ...(inactivityTimeout && { inactivityTimeout }),
1182
1207
  },
1183
1208
  });
@@ -1217,6 +1242,12 @@ BaseCommand.baseFlags = {
1217
1242
  env: 'LIM_DAEMON',
1218
1243
  }),
1219
1244
  };
1245
+ BaseCommand.permissionFlags = {
1246
+ permission: core_1.Flags.string({
1247
+ description: 'Asset permission to add to a newly created instance, repeatable. Upload destinations add their required permissions automatically.',
1248
+ multiple: true,
1249
+ }),
1250
+ };
1220
1251
  BaseCommand.readOnlyFlags = {
1221
1252
  'api-key': BaseCommand.baseFlags['api-key'],
1222
1253
  json: BaseCommand.baseFlags.json,
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("@limrun/api");
6
7
  const base_command_1 = require("./base-command");
7
8
  const build_1 = __importDefault(require("./commands/xcode/build"));
8
9
  const test_1 = __importDefault(require("./commands/xcode/test"));
@@ -38,6 +39,8 @@ class TestCommand extends base_command_1.BaseCommand {
38
39
  cache: { restore: { phase: 'skipped', reason: 'no_match' }, save: { phase: 'idle' } },
39
40
  });
40
41
  this.bind = jest.fn();
42
+ this.remove = jest.fn();
43
+ this.warn = jest.fn();
41
44
  this.getCache = jest.fn().mockResolvedValue({ restore: { phase: 'disabled' }, save: { phase: 'disabled' } });
42
45
  }
43
46
  async run() { }
@@ -46,6 +49,7 @@ class TestCommand extends base_command_1.BaseCommand {
46
49
  return {
47
50
  xcodeInstances: {
48
51
  create: this.create,
52
+ delete: this.remove,
49
53
  followCache: this.follow,
50
54
  bindCacheKey: this.bind,
51
55
  getCache: this.getCache,
@@ -105,7 +109,7 @@ test('auto-creation sends only the project key and waits for restore before retu
105
109
  await expect(cmd.resolve()).resolves.toEqual(target);
106
110
  expect(cmd.create).toHaveBeenCalledWith({
107
111
  wait: true,
108
- spec: { cache: { key: 'github.com/acme/monorepo/apps/ios' } },
112
+ spec: { role: { permissions: [] }, cache: { key: 'github.com/acme/monorepo/apps/ios' } },
109
113
  });
110
114
  expect(snapshot_project_1.projectSnapshotKey).toHaveBeenCalledWith('/repo/apps/ios');
111
115
  expect(cmd.follow).toHaveBeenCalledWith(target.id, expect.any(Object));
@@ -116,7 +120,7 @@ test('opt-out creates without snapshots or a restore wait', async () => {
116
120
  Object.assign(cmd, { getCommandParts: () => ['xcode', 'build'] });
117
121
  cmd.configure({ 'no-snapshot': true }, '/repo');
118
122
  await cmd.resolve();
119
- expect(cmd.create).toHaveBeenCalledWith({ wait: true, spec: {} });
123
+ expect(cmd.create).toHaveBeenCalledWith({ wait: true, spec: { role: { permissions: [] } } });
120
124
  expect(cmd.follow).not.toHaveBeenCalled();
121
125
  });
122
126
  test('existing instances are neither replaced nor rebound by the default', async () => {
@@ -161,7 +165,7 @@ test('explicit create derives its default from the current directory before crea
161
165
  await expect(cmd.run()).rejects.toThrow(stop);
162
166
  expect(snapshot_project_1.projectSnapshotKey).toHaveBeenCalledWith(process.cwd());
163
167
  });
164
- test('onboarding creates with the project key and restores before syncing', async () => {
168
+ test.each([{ permissions: [] }, { permissions: ['asset:name/fixtures/*:read'] }])('onboarding preserves permissions %j while restoring the snapshot', async ({ permissions }) => {
165
169
  const cmd = new run_1.default([], {});
166
170
  const stop = new Error('stop before building');
167
171
  const create = jest.fn().mockResolvedValue(instance);
@@ -173,7 +177,7 @@ test('onboarding creates with the project key and restores before syncing', asyn
173
177
  value: { xcodeInstances: { create, followCache, createClient: async () => ({ sync }) } },
174
178
  });
175
179
  Object.assign(cmd, {
176
- _parsedFlags: {},
180
+ _parsedFlags: { permission: permissions },
177
181
  withAuth: async (fn) => fn(),
178
182
  reporter: { withProgress: (_label, fn) => fn() },
179
183
  outputProjectRecovery: jest.fn(),
@@ -182,12 +186,13 @@ test('onboarding creates with the project key and restores before syncing', asyn
182
186
  const launch = cmd;
183
187
  await expect(launch.buildAndLaunchProject({ projectRoot: '/repo/apps/ios' })).rejects.toThrow(stop);
184
188
  expect(create).toHaveBeenCalledWith(expect.objectContaining({
185
- spec: { cache: { key: 'github.com/acme/monorepo/apps/ios' } },
189
+ reuseIfExists: false,
190
+ spec: { role: { permissions }, cache: { key: 'github.com/acme/monorepo/apps/ios' } },
186
191
  }));
187
192
  expect(snapshot_project_1.projectSnapshotKey).toHaveBeenCalledWith('/repo/apps/ios');
188
193
  expect(followCache.mock.invocationCallOrder[0]).toBeLessThan(sync.mock.invocationCallOrder[0]);
189
194
  });
190
- test('ios create --xcode also configures and restores the project snapshot', async () => {
195
+ test.each([{ permissions: [] }, { permissions: ['asset:name/fixtures/*:read'] }])('ios create --xcode forwards permissions %j to the builder', async ({ permissions }) => {
191
196
  const cmd = new create_2.default([], {});
192
197
  const stop = new Error('stop before attach');
193
198
  const create = jest.fn().mockResolvedValue(instance);
@@ -197,19 +202,55 @@ test('ios create --xcode also configures and restores the project snapshot', asy
197
202
  const createClient = jest.fn().mockRejectedValue(stop);
198
203
  Object.defineProperty(cmd, 'client', {
199
204
  value: {
200
- iosInstances: { create: async () => ({ metadata: { id: 'ios_test' }, spec: {}, status: {} }) },
205
+ iosInstances: {
206
+ create: async () => ({ metadata: { id: 'ios_test' }, spec: { role: { permissions } }, status: {} }),
207
+ },
201
208
  xcodeInstances: { create, followCache, createClient, delete: jest.fn().mockResolvedValue(undefined) },
202
209
  },
203
210
  });
204
211
  Object.assign(cmd, {
205
- parse: async () => ({ args: {}, flags: { xcode: true } }),
212
+ parse: async () => ({ args: {}, flags: { xcode: true, permission: permissions } }),
206
213
  withAuth: async (fn) => fn(),
207
214
  info: jest.fn(),
208
215
  });
209
216
  await expect(cmd.run()).rejects.toThrow(stop);
210
217
  expect(create).toHaveBeenCalledWith(expect.objectContaining({
211
- spec: { cache: { key: 'github.com/acme/monorepo/apps/ios' } },
218
+ spec: { role: { permissions }, cache: { key: 'github.com/acme/monorepo/apps/ios' } },
212
219
  }));
213
220
  expect(followCache.mock.invocationCallOrder[0]).toBeLessThan(createClient.mock.invocationCallOrder[0]);
214
221
  });
222
+ test.each(['checksum', 'transport'])('a %s snapshot failure keeps the created instance available for the build', async (reason) => {
223
+ const cmd = new TestCommand([], {});
224
+ Object.assign(cmd, { getCommandParts: () => ['xcode', 'build'] });
225
+ cmd.configure({}, '/repo');
226
+ cmd.follow.mockResolvedValue({
227
+ cache: { restore: { phase: 'failed', reason }, save: { phase: 'idle' } },
228
+ });
229
+ await expect(cmd.resolve()).resolves.toEqual(target);
230
+ expect(cmd.remove).not.toHaveBeenCalled();
231
+ expect(cmd.warn).toHaveBeenCalledWith(expect.stringContaining('Continuing with a cold workspace.'));
232
+ });
233
+ test('losing snapshot status does not block the build or delete its instance', async () => {
234
+ const cmd = new TestCommand([], {});
235
+ Object.assign(cmd, { getCommandParts: () => ['xcode', 'build'] });
236
+ cmd.configure({}, '/repo');
237
+ cmd.follow.mockRejectedValue(new Error('connection reset'));
238
+ await expect(cmd.resolve()).resolves.toEqual(target);
239
+ expect(cmd.remove).not.toHaveBeenCalled();
240
+ expect(cmd.warn).toHaveBeenCalledWith(expect.stringContaining('connection reset'));
241
+ });
242
+ test.each([
243
+ { gone: true, cache: { restore: { phase: 'downloading' }, save: { phase: 'idle' } } },
244
+ new api_1.XcodeCacheGoneError(target.id),
245
+ ])('an instance that ended cannot continue building', async (outcome) => {
246
+ const cmd = new TestCommand([], {});
247
+ Object.assign(cmd, { getCommandParts: () => ['xcode', 'build'] });
248
+ cmd.configure({}, '/repo');
249
+ if (outcome instanceof Error)
250
+ cmd.follow.mockRejectedValue(outcome);
251
+ else
252
+ cmd.follow.mockResolvedValue(outcome);
253
+ await expect(cmd.resolve()).rejects.toThrow(/Instance .* (was gone|was collected)/);
254
+ expect(cmd.remove).not.toHaveBeenCalled();
255
+ });
215
256
  //# sourceMappingURL=base-command.snapshots.test.js.map