lim 0.16.2 → 0.16.4

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 (40) hide show
  1. package/dist/commands/ios/create.js +2 -2
  2. package/dist/commands/ios/create.js.map +1 -1
  3. package/dist/commands/ios/keychain/generate-key.d.ts.map +1 -1
  4. package/dist/commands/ios/keychain/generate-key.js +1 -1
  5. package/dist/commands/ios/keychain/generate-key.js.map +1 -1
  6. package/dist/commands/ios/keychain/{import.d.ts → restore.d.ts} +2 -2
  7. package/dist/commands/ios/keychain/restore.d.ts.map +1 -0
  8. package/dist/commands/ios/keychain/{import.js → restore.js} +20 -20
  9. package/dist/commands/ios/keychain/restore.js.map +1 -0
  10. package/dist/commands/ios/keychain/{export.d.ts → save.d.ts} +2 -2
  11. package/dist/commands/ios/keychain/save.d.ts.map +1 -0
  12. package/dist/commands/ios/keychain/{export.js → save.js} +21 -21
  13. package/dist/commands/ios/keychain/save.js.map +1 -0
  14. package/dist/commands/xcode/{rbe.d.ts → rbe/index.d.ts} +7 -3
  15. package/dist/commands/xcode/rbe/index.d.ts.map +1 -0
  16. package/dist/commands/xcode/{rbe.js → rbe/index.js} +79 -23
  17. package/dist/commands/xcode/rbe/index.js.map +1 -0
  18. package/dist/commands/xcode/rbe/upload.d.ts +19 -0
  19. package/dist/commands/xcode/rbe/upload.d.ts.map +1 -0
  20. package/dist/commands/xcode/rbe/upload.js +77 -0
  21. package/dist/commands/xcode/rbe/upload.js.map +1 -0
  22. package/dist/lib/rbe-auto-upload.d.ts +24 -0
  23. package/dist/lib/rbe-auto-upload.d.ts.map +1 -0
  24. package/dist/lib/rbe-auto-upload.js +131 -0
  25. package/dist/lib/rbe-auto-upload.js.map +1 -0
  26. package/dist/lib/rbe-session.d.ts +8 -26
  27. package/dist/lib/rbe-session.d.ts.map +1 -1
  28. package/dist/lib/rbe-session.js +9 -65
  29. package/dist/lib/rbe-session.js.map +1 -1
  30. package/package.json +2 -2
  31. package/dist/commands/ios/keychain/export.d.ts.map +0 -1
  32. package/dist/commands/ios/keychain/export.js.map +0 -1
  33. package/dist/commands/ios/keychain/import.d.ts.map +0 -1
  34. package/dist/commands/ios/keychain/import.js.map +0 -1
  35. package/dist/commands/xcode/rbe.d.ts.map +0 -1
  36. package/dist/commands/xcode/rbe.js.map +0 -1
  37. package/dist/lib/rbe-workspace.d.ts +0 -163
  38. package/dist/lib/rbe-workspace.d.ts.map +0 -1
  39. package/dist/lib/rbe-workspace.js +0 -396
  40. package/dist/lib/rbe-workspace.js.map +0 -1
@@ -246,11 +246,11 @@ IosCreate.flags = {
246
246
  multiple: true,
247
247
  }),
248
248
  keychain: core_1.Flags.string({
249
- description: 'Existing encrypted Keychain asset name to import after creation.',
249
+ description: 'Existing encrypted Keychain asset name to restore after creation.',
250
250
  multiple: true,
251
251
  }),
252
252
  'keychain-url': core_1.Flags.string({
253
- description: 'Presigned encrypted Keychain asset URL to import after creation.',
253
+ description: 'Presigned encrypted Keychain asset URL to restore after creation.',
254
254
  multiple: true,
255
255
  }),
256
256
  'encryption-key': core_1.Flags.string({
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-key.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/generate-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SACwH;IAC1I,MAAM,CAAC,QAAQ,WAAkE;IAEjF,MAAM,CAAC,KAAK;;;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAK3B"}
1
+ {"version":3,"file":"generate-key.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/generate-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SACsH;IACxI,MAAM,CAAC,QAAQ,WAAkE;IAEjF,MAAM,CAAC,KAAK;;;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAK3B"}
@@ -10,7 +10,7 @@ class IosKeychainGenerateKey extends base_command_1.BaseCommand {
10
10
  }
11
11
  }
12
12
  IosKeychainGenerateKey.summary = 'Generate an iOS keychain encryption key';
13
- IosKeychainGenerateKey.description = 'Print a new 32-byte base64 key for encrypted iOS keychain export and import. Store it securely and pass it to export/import on stdin.';
13
+ IosKeychainGenerateKey.description = 'Print a new 32-byte base64 key for encrypted iOS keychain save and restore. Store it securely and pass it to save/restore on stdin.';
14
14
  IosKeychainGenerateKey.examples = ['<%= config.bin %> ios keychain generate-key > keychain.key'];
15
15
  IosKeychainGenerateKey.flags = {
16
16
  ...base_command_1.BaseCommand.baseFlags,
@@ -1 +1 @@
1
- {"version":3,"file":"generate-key.js","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/generate-key.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AACpD,kFAAqF;AAErF,MAAqB,sBAAuB,SAAQ,0BAAW;IAU7D,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAA,uDAA6B,GAAE,CAAC,CAAC;IAC/C,CAAC;;AAbM,8BAAO,GAAG,yCAAyC,CAAC;AACpD,kCAAW,GAChB,uIAAuI,CAAC;AACnI,+BAAQ,GAAG,CAAC,4DAA4D,CAAC,CAAC;AAE1E,4BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBARiB,sBAAsB"}
1
+ {"version":3,"file":"generate-key.js","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/generate-key.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AACpD,kFAAqF;AAErF,MAAqB,sBAAuB,SAAQ,0BAAW;IAU7D,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAA,uDAA6B,GAAE,CAAC,CAAC;IAC/C,CAAC;;AAbM,8BAAO,GAAG,yCAAyC,CAAC;AACpD,kCAAW,GAChB,qIAAqI,CAAC;AACjI,+BAAQ,GAAG,CAAC,4DAA4D,CAAC,CAAC;AAE1E,4BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBARiB,sBAAsB"}
@@ -1,5 +1,5 @@
1
1
  import { BaseCommand } from '../../../base-command';
2
- export default class IosKeychainImport extends BaseCommand {
2
+ export default class IosKeychainRestore extends BaseCommand {
3
3
  static summary: string;
4
4
  static description: string;
5
5
  static examples: string[];
@@ -21,4 +21,4 @@ export default class IosKeychainImport extends BaseCommand {
21
21
  run(): Promise<void>;
22
22
  private resolveKeychainAssetDownloadUrl;
23
23
  }
24
- //# sourceMappingURL=import.d.ts.map
24
+ //# sourceMappingURL=restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/restore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAC,OAAO,SAAmD;IACjE,MAAM,CAAC,WAAW,SACwI;IAC1J,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;MAkBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCZ,+BAA+B;CAsC9C"}
@@ -4,9 +4,9 @@ const core_1 = require("@oclif/core");
4
4
  const base_command_1 = require("../../../base-command");
5
5
  const instance_client_factory_1 = require("../../../lib/instance-client-factory");
6
6
  const keychain_encryption_key_1 = require("../../../lib/keychain-encryption-key");
7
- class IosKeychainImport extends base_command_1.BaseCommand {
7
+ class IosKeychainRestore extends base_command_1.BaseCommand {
8
8
  async run() {
9
- const { args, flags } = await this.parse(IosKeychainImport);
9
+ const { args, flags } = await this.parse(IosKeychainRestore);
10
10
  this.setParsedFlags(flags);
11
11
  let encryptionKey;
12
12
  try {
@@ -24,12 +24,12 @@ class IosKeychainImport extends base_command_1.BaseCommand {
24
24
  const url = flags.url ?? (await this.resolveKeychainAssetDownloadUrl(assetName, flags['asset-id']));
25
25
  const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
26
26
  try {
27
- const result = await client.importKeychain({ url, encryptionKey });
27
+ const result = await client.restoreKeychain({ url, encryptionKey });
28
28
  if (flags.json) {
29
29
  this.outputJson(result);
30
30
  return;
31
31
  }
32
- this.output('Keychain applied');
32
+ this.output('Keychain restored');
33
33
  this.output(`Duration: ${result.durationMs}ms`);
34
34
  }
35
35
  finally {
@@ -75,31 +75,31 @@ class IosKeychainImport extends base_command_1.BaseCommand {
75
75
  return asset.signedDownloadUrl;
76
76
  }
77
77
  }
78
- IosKeychainImport.summary = 'Import iOS keychain state from asset storage';
79
- IosKeychainImport.description = 'Resolve a Keychain asset by name, then ask the target iOS simulator to download and apply the keychain tar.gz. Use --asset-id to import by asset ID.';
80
- IosKeychainImport.examples = [
81
- '<%= config.bin %> ios keychain import keychain/login.tar.gz',
82
- '<%= config.bin %> ios keychain import keychain/login.tar.gz --id <instance-ID>',
83
- '<%= config.bin %> ios keychain import --asset-id <asset-ID>',
84
- '<%= config.bin %> ios keychain import --url https://example.t3.storage.dev/... --json',
85
- '<%= config.bin %> ios keychain import keychain/login.tar.gz --encryption-key-stdin < keychain.key',
78
+ IosKeychainRestore.summary = 'Restore iOS keychain state from asset storage';
79
+ IosKeychainRestore.description = 'Resolve a Keychain asset by name, then ask the target iOS simulator to download and apply the keychain tar.gz. Use --asset-id to restore by asset ID.';
80
+ IosKeychainRestore.examples = [
81
+ '<%= config.bin %> ios keychain restore keychain/login.tar.gz',
82
+ '<%= config.bin %> ios keychain restore keychain/login.tar.gz --id <instance-ID>',
83
+ '<%= config.bin %> ios keychain restore --asset-id <asset-ID>',
84
+ '<%= config.bin %> ios keychain restore --url https://example.t3.storage.dev/... --json',
85
+ '<%= config.bin %> ios keychain restore keychain/login.tar.gz --encryption-key-stdin < keychain.key',
86
86
  ];
87
- IosKeychainImport.args = {
87
+ IosKeychainRestore.args = {
88
88
  asset_name: core_1.Args.string({
89
- description: `Keychain asset name to import. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}.`,
89
+ description: `Keychain asset name to restore. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}.`,
90
90
  required: false,
91
91
  }),
92
92
  };
93
- IosKeychainImport.flags = {
93
+ IosKeychainRestore.flags = {
94
94
  ...base_command_1.BaseCommand.baseFlags,
95
95
  id: core_1.Flags.string({
96
- description: 'iOS instance ID to import into. Defaults to the last created iOS instance.',
96
+ description: 'iOS instance ID to restore into. Defaults to the last created iOS instance.',
97
97
  }),
98
98
  url: core_1.Flags.string({
99
- description: 'Presigned download URL to import directly instead of resolving an asset.',
99
+ description: 'Presigned download URL to restore directly instead of resolving an asset.',
100
100
  }),
101
101
  'asset-id': core_1.Flags.string({
102
- description: 'Keychain asset ID to import instead of resolving the positional asset name.',
102
+ description: 'Keychain asset ID to restore instead of resolving the positional asset name.',
103
103
  }),
104
104
  'encryption-key': core_1.Flags.string({
105
105
  description: 'Base64/base64url 32-byte decryption key for the keychain archive.',
@@ -109,5 +109,5 @@ IosKeychainImport.flags = {
109
109
  default: false,
110
110
  }),
111
111
  };
112
- exports.default = IosKeychainImport;
113
- //# sourceMappingURL=import.js.map
112
+ exports.default = IosKeychainRestore;
113
+ //# sourceMappingURL=restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/restore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseCommand } from '../../../base-command';
2
- export default class IosKeychainExport extends BaseCommand {
2
+ export default class IosKeychainSave extends BaseCommand {
3
3
  static summary: string;
4
4
  static description: string;
5
5
  static examples: string[];
@@ -23,4 +23,4 @@ export default class IosKeychainExport extends BaseCommand {
23
23
  private listExistingKeychainAssets;
24
24
  private confirmOverwrite;
25
25
  }
26
- //# sourceMappingURL=export.d.ts.map
26
+ //# sourceMappingURL=save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/save.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAA8C;IAC5D,MAAM,CAAC,WAAW,SACuJ;IACzK,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAuBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkEZ,0BAA0B;YAO1B,gBAAgB;CAuB/B"}
@@ -8,9 +8,9 @@ const prompts_1 = __importDefault(require("prompts"));
8
8
  const base_command_1 = require("../../../base-command");
9
9
  const instance_client_factory_1 = require("../../../lib/instance-client-factory");
10
10
  const keychain_encryption_key_1 = require("../../../lib/keychain-encryption-key");
11
- class IosKeychainExport extends base_command_1.BaseCommand {
11
+ class IosKeychainSave extends base_command_1.BaseCommand {
12
12
  async run() {
13
- const { args, flags } = await this.parse(IosKeychainExport);
13
+ const { args, flags } = await this.parse(IosKeychainSave);
14
14
  this.setParsedFlags(flags);
15
15
  const assetName = args.asset_name ?? flags['asset-name'] ?? keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME;
16
16
  let encryptionKey;
@@ -36,7 +36,7 @@ class IosKeychainExport extends base_command_1.BaseCommand {
36
36
  if (existingAssets.length > 0) {
37
37
  const shouldOverwrite = await this.confirmOverwrite(assetName, existingAssets, flags.yes);
38
38
  if (!shouldOverwrite) {
39
- this.info('Export cancelled.');
39
+ this.info('Save cancelled.');
40
40
  return;
41
41
  }
42
42
  }
@@ -48,7 +48,7 @@ class IosKeychainExport extends base_command_1.BaseCommand {
48
48
  });
49
49
  const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
50
50
  try {
51
- await client.exportKeychain({ url: asset.signedUploadUrl, encryptionKey });
51
+ await client.saveKeychain({ url: asset.signedUploadUrl, encryptionKey });
52
52
  }
53
53
  finally {
54
54
  disconnect();
@@ -65,7 +65,7 @@ class IosKeychainExport extends base_command_1.BaseCommand {
65
65
  if (generatedEncryptionKey) {
66
66
  this.output(`Auto-generated the encryption key.`);
67
67
  }
68
- this.output(`You can import with the following command: \n\n$ lim ios keychain import ${asset.name} --encryption-key ${generatedEncryptionKey ? encryptionKey : '<key>'}`);
68
+ this.output(`You can restore with the following command: \n\n$ lim ios keychain restore ${asset.name} --encryption-key ${generatedEncryptionKey ? encryptionKey : '<key>'}`);
69
69
  });
70
70
  }
71
71
  async listExistingKeychainAssets(assetName) {
@@ -92,35 +92,35 @@ class IosKeychainExport extends base_command_1.BaseCommand {
92
92
  return Boolean(response.overwrite);
93
93
  }
94
94
  }
95
- IosKeychainExport.summary = 'Export iOS keychain state to asset storage';
96
- IosKeychainExport.description = 'Create a Keychain asset or confirm overwriting an existing one, ask the target iOS simulator to upload its keychain tar.gz to asset storage, and print the asset ID.';
97
- IosKeychainExport.examples = [
98
- '<%= config.bin %> ios keychain export',
99
- '<%= config.bin %> ios keychain export keychain/login.tar.gz',
100
- '<%= config.bin %> ios keychain export keychain/login.tar.gz --ttl 24h --json',
101
- '<%= config.bin %> ios keychain export keychain/login.tar.gz --yes',
95
+ IosKeychainSave.summary = 'Save iOS keychain state to asset storage';
96
+ IosKeychainSave.description = 'Create a Keychain asset or confirm overwriting an existing one, ask the target iOS simulator to upload its keychain tar.gz to asset storage, and print the asset ID.';
97
+ IosKeychainSave.examples = [
98
+ '<%= config.bin %> ios keychain save',
99
+ '<%= config.bin %> ios keychain save keychain/login.tar.gz',
100
+ '<%= config.bin %> ios keychain save keychain/login.tar.gz --ttl 24h --json',
101
+ '<%= config.bin %> ios keychain save keychain/login.tar.gz --yes',
102
102
  '<%= config.bin %> ios keychain generate-key > keychain.key',
103
- '<%= config.bin %> ios keychain export keychain/login.tar.gz --encryption-key-stdin < keychain.key',
103
+ '<%= config.bin %> ios keychain save keychain/login.tar.gz --encryption-key-stdin < keychain.key',
104
104
  ];
105
- IosKeychainExport.args = {
105
+ IosKeychainSave.args = {
106
106
  asset_name: core_1.Args.string({
107
- description: `Keychain asset name to store the exported keychain under. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}.`,
107
+ description: `Keychain asset name to store the saved keychain under. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}.`,
108
108
  required: false,
109
109
  }),
110
110
  };
111
- IosKeychainExport.flags = {
111
+ IosKeychainSave.flags = {
112
112
  ...base_command_1.BaseCommand.baseFlags,
113
113
  id: core_1.Flags.string({
114
- description: 'iOS instance ID to export from. Defaults to the last created iOS instance.',
114
+ description: 'iOS instance ID to save from. Defaults to the last created iOS instance.',
115
115
  }),
116
116
  'asset-name': core_1.Flags.string({
117
- description: `Asset name to store the exported keychain under. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}. Prefer the positional <asset-name> argument.`,
117
+ description: `Asset name to store the saved keychain under. Defaults to ${keychain_encryption_key_1.DEFAULT_KEYCHAIN_ASSET_NAME}. Prefer the positional <asset-name> argument.`,
118
118
  }),
119
119
  ttl: core_1.Flags.string({
120
120
  description: 'Time-to-live as a Go duration (e.g. "24h", min 1m). Defaults to no expiry.',
121
121
  }),
122
122
  'encryption-key': core_1.Flags.string({
123
- description: 'Base64/base64url 32-byte encryption key for the exported keychain archive. Generated and printed if omitted.',
123
+ description: 'Base64/base64url 32-byte encryption key for the saved keychain archive. Generated and printed if omitted.',
124
124
  }),
125
125
  'encryption-key-stdin': core_1.Flags.boolean({
126
126
  description: 'Read the base64/base64url 32-byte encryption key from stdin.',
@@ -131,5 +131,5 @@ IosKeychainExport.flags = {
131
131
  default: false,
132
132
  }),
133
133
  };
134
- exports.default = IosKeychainExport;
135
- //# sourceMappingURL=export.js.map
134
+ exports.default = IosKeychainSave;
135
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/commands/ios/keychain/save.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseCommand } from '../../base-command';
1
+ import { BaseCommand } from '../../../base-command';
2
2
  export default class XcodeRbe extends BaseCommand {
3
3
  static summary: string;
4
4
  static description: string;
@@ -8,6 +8,8 @@ export default class XcodeRbe extends BaseCommand {
8
8
  port: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
9
  daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
10
  stop: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ 'auto-upload': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'upload-ttl': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
13
  ios: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
14
  serve: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
15
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -63,10 +65,12 @@ export default class XcodeRbe extends BaseCommand {
63
65
  /**
64
66
  * Block on an already-open tunnel until a stop signal, then close it and
65
67
  * best-effort stop the remote stack. Rejects if the tunnel reports a terminal
66
- * disconnect (after its own reconnect attempts are exhausted).
68
+ * disconnect (after its own reconnect attempts are exhausted). With
69
+ * autoUpload set, a watcher uploads every successful build as the named
70
+ * asset for the tunnel's lifetime.
67
71
  */
68
72
  private awaitTunnel;
69
73
  /** Print the ready banner (or JSON) for both foreground and background modes. */
70
74
  private printReady;
71
75
  }
72
- //# sourceMappingURL=rbe.d.ts.map
76
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/xcode/rbe/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAAqF;IACnG,MAAM,CAAC,WAAW,SAKwE;IAC1F,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAyCV;IAEF,OAAO,CAAC,QAAQ,CAAyD;IAEnE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8Q1B;;;;OAIG;YACW,oBAAoB;IAsElC;;;;;OAKG;YACW,wBAAwB;IAWtC;;;;;;;;;;OAUG;YACW,SAAS;IAUvB;;;OAGG;YACW,qBAAqB;IAoGnC,sDAAsD;YACxC,UAAU;IAOxB;;;;;;;;OAQG;YACW,SAAS;IAiBvB;;;;;;OAMG;YACW,WAAW;IAyEzB,iFAAiF;IACjF,OAAO,CAAC,UAAU;CA0DnB"}
@@ -8,11 +8,11 @@ const path_1 = __importDefault(require("path"));
8
8
  const child_process_1 = require("child_process");
9
9
  const core_1 = require("@oclif/core");
10
10
  const api_1 = require("@limrun/api");
11
- const base_command_1 = require("../../base-command");
12
- const config_1 = require("../../lib/config");
13
- const progress_1 = require("../../lib/progress");
14
- const rbe_workspace_1 = require("../../lib/rbe-workspace");
15
- const rbe_session_1 = require("../../lib/rbe-session");
11
+ const base_command_1 = require("../../../base-command");
12
+ const config_1 = require("../../../lib/config");
13
+ const progress_1 = require("../../../lib/progress");
14
+ const rbe_auto_upload_1 = require("../../../lib/rbe-auto-upload");
15
+ const rbe_session_1 = require("../../../lib/rbe-session");
16
16
  class XcodeRbe extends base_command_1.BaseCommand {
17
17
  constructor() {
18
18
  super(...arguments);
@@ -21,6 +21,14 @@ class XcodeRbe extends base_command_1.BaseCommand {
21
21
  async run() {
22
22
  const { flags } = await this.parse(XcodeRbe);
23
23
  this.setParsedFlags(flags);
24
+ // Empty string would be treated as "off" by every truthiness check below,
25
+ // silently starting a tunnel without the uploads the user asked for.
26
+ // Checked before the serve branch so a hand-invoked serve child cannot
27
+ // slip past it either.
28
+ if (flags['auto-upload'] !== undefined && !flags['auto-upload']) {
29
+ this.error('--auto-upload requires a non-empty asset name.');
30
+ }
31
+ const autoUpload = flags['auto-upload'] ? { assetName: flags['auto-upload'], ttl: flags['upload-ttl'] } : undefined;
24
32
  // Serve mode: the detached child. The parent already started the stack and
25
33
  // generated the workspace config; this process only holds the tunnel and
26
34
  // tears the stack down on exit. Requires --id (the parent always passes it).
@@ -36,7 +44,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
36
44
  await this.withAuth(async () => {
37
45
  const xcodeTarget = await this.resolveXcodeTarget(flags.id);
38
46
  const client = await this.resolveXcodeClient(xcodeTarget);
39
- await this.runTunnel(client, flags.port);
47
+ await this.runTunnel(client, flags.port, autoUpload);
40
48
  });
41
49
  return;
42
50
  }
@@ -44,7 +52,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
44
52
  // `.limrun/` and the try-import must live at the workspace root, and failing
45
53
  // here avoids creating an instance when run outside a workspace. Walk up
46
54
  // like Bazel does, so the command works from any subdirectory.
47
- const workspaceRoot = (0, rbe_workspace_1.findBazelWorkspaceRoot)(process.cwd());
55
+ const workspaceRoot = (0, api_1.findBazelWorkspaceRoot)(process.cwd());
48
56
  if (!workspaceRoot) {
49
57
  this.error('Not inside a Bazel workspace. Run `lim xcode rbe` from within the workspace you want ' +
50
58
  'to build (a directory tree containing MODULE.bazel, WORKSPACE, or WORKSPACE.bazel).');
@@ -57,8 +65,20 @@ class XcodeRbe extends base_command_1.BaseCommand {
57
65
  // second one (and don't fail with a cryptic "port in use"); point at --stop.
58
66
  const existing = (0, rbe_session_1.readRbePidFile)(workspaceRoot);
59
67
  if (existing && (0, rbe_session_1.isProcessAlive)(existing.pid)) {
60
- this.info(`A background tunnel is already running for this workspace (PID ${existing.pid}, ` +
61
- `grpc://127.0.0.1:${existing.port}).`);
68
+ const running = `A background tunnel is already running for this workspace (PID ${existing.pid}, ` +
69
+ `grpc://127.0.0.1:${existing.port}` +
70
+ `${existing.autoUpload ? `, auto-uploading to "${existing.autoUpload}"` : ''}).`;
71
+ // A requested auto-upload config cannot be applied to a running tunnel;
72
+ // a silent success here would let CI believe uploads are armed (or the
73
+ // ttl changed) and ship a stale or early-expiring preview asset. An
74
+ // omitted --upload-ttl is not a conflict: it means keep the running ttl.
75
+ if (flags['auto-upload'] &&
76
+ (existing.autoUpload !== flags['auto-upload'] ||
77
+ (flags['upload-ttl'] !== undefined && existing.uploadTtl !== flags['upload-ttl']))) {
78
+ this.error(`${running} The requested --auto-upload config was NOT applied. ` +
79
+ 'Stop it with `lim xcode rbe --stop` and re-run.');
80
+ }
81
+ this.info(running);
62
82
  this.info('Stop it with `lim xcode rbe --stop`, then re-run to start fresh.');
63
83
  return;
64
84
  }
@@ -112,10 +132,10 @@ class XcodeRbe extends base_command_1.BaseCommand {
112
132
  // so we never leak a running stack with no client attached.
113
133
  this.reporter.start('Starting remote build execution');
114
134
  try {
115
- const initial = await (0, rbe_session_1.retryTransient)(() => client.startRbe(), {
135
+ const initial = await (0, api_1.retryTransient)(() => client.startRbe(), {
116
136
  log: (m) => this.reporter.appendLog(m),
117
137
  });
118
- const status = await (0, rbe_session_1.waitForRbeRunning)(client, initial);
138
+ const status = await (0, api_1.waitForRbeRunning)(client, initial);
119
139
  xcodeVersion = status.xcodeVersion;
120
140
  this.reporter.stop('success', `Remote build execution ready (Xcode ${xcodeVersion})`);
121
141
  break;
@@ -147,7 +167,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
147
167
  }
148
168
  let generated;
149
169
  try {
150
- generated = (0, rbe_workspace_1.writeRbeWorkspaceFiles)(workspaceRoot, xcodeVersion, flags.port);
170
+ generated = (0, api_1.writeRbeWorkspaceFiles)(workspaceRoot, xcodeVersion, flags.port);
151
171
  }
152
172
  catch (err) {
153
173
  await client.stopRbe().catch(() => { });
@@ -161,7 +181,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
161
181
  // builds if put in .bazelrc), hence it precedes `build` in the command.
162
182
  // Infer a real app target so the printed command is runnable as-is; fall
163
183
  // back to a placeholder when there's no single obvious target.
164
- const inferredTarget = (0, rbe_workspace_1.inferBuildTarget)(workspaceRoot);
184
+ const inferredTarget = (0, api_1.inferBuildTarget)(workspaceRoot);
165
185
  const target = inferredTarget ?? '//your:target';
166
186
  const buildCmd = `bazelisk --digest_function=sha256 build --config=limrun ${target}`;
167
187
  // --ios: create + attach a simulator so builds auto-install on it (server-side)
@@ -191,6 +211,8 @@ class XcodeRbe extends base_command_1.BaseCommand {
191
211
  xcodeVersion,
192
212
  generated,
193
213
  buildCmd,
214
+ autoUpload: flags['auto-upload'],
215
+ uploadTtl: flags['upload-ttl'],
194
216
  });
195
217
  }
196
218
  catch (err) {
@@ -226,9 +248,10 @@ class XcodeRbe extends base_command_1.BaseCommand {
226
248
  instanceId,
227
249
  background: false,
228
250
  simulatorAttached: !!simInstanceId,
251
+ autoUpload: flags['auto-upload'],
229
252
  });
230
253
  try {
231
- await this.awaitTunnel(tunnel, client);
254
+ await this.awaitTunnel(tunnel, client, autoUpload);
232
255
  }
233
256
  finally {
234
257
  await this.deleteSim(simInstanceId);
@@ -268,7 +291,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
268
291
  const signalled = signalIfAlive(info.pid, 'SIGTERM');
269
292
  if (signalled) {
270
293
  for (let i = 0; i < 300 && (0, rbe_session_1.isProcessAlive)(info.pid); i++) {
271
- await (0, rbe_session_1.defaultSleep)(100); // up to ~30s for graceful teardown
294
+ await (0, api_1.defaultSleep)(100); // up to ~30s for graceful teardown
272
295
  }
273
296
  }
274
297
  // Escalate to SIGKILL if it's wedged (e.g. stuck stopping the remote stack),
@@ -277,7 +300,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
277
300
  if ((0, rbe_session_1.isProcessAlive)(info.pid)) {
278
301
  forced = signalIfAlive(info.pid, 'SIGKILL');
279
302
  for (let i = 0; i < 20 && (0, rbe_session_1.isProcessAlive)(info.pid); i++) {
280
- await (0, rbe_session_1.defaultSleep)(100); // up to ~2s
303
+ await (0, api_1.defaultSleep)(100); // up to ~2s
281
304
  }
282
305
  }
283
306
  // Only drop the pidfile once the process is actually gone — otherwise a
@@ -350,7 +373,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
350
373
  */
351
374
  async spawnBackgroundTunnel(opts) {
352
375
  const apiKey = this.parsedFlags?.['api-key'];
353
- const logPath = path_1.default.join(opts.workspaceRoot, rbe_workspace_1.LIMRUN_DIR, 'rbe.log');
376
+ const logPath = path_1.default.join(opts.workspaceRoot, api_1.LIMRUN_DIR, 'rbe.log');
354
377
  this.reporter.start('Starting background tunnel');
355
378
  const logFd = fs_1.default.openSync(logPath, 'w');
356
379
  const child = (0, child_process_1.spawn)(process.execPath, (0, rbe_session_1.buildServeChildArgs)({
@@ -358,6 +381,8 @@ class XcodeRbe extends base_command_1.BaseCommand {
358
381
  id: opts.instanceId,
359
382
  port: opts.port,
360
383
  apiKey,
384
+ autoUpload: opts.autoUpload,
385
+ uploadTtl: opts.uploadTtl,
361
386
  }), { detached: true, stdio: ['ignore', logFd, logFd] });
362
387
  fs_1.default.closeSync(logFd);
363
388
  child.unref();
@@ -383,7 +408,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
383
408
  ready = true;
384
409
  break;
385
410
  }
386
- await (0, rbe_session_1.defaultSleep)(200);
411
+ await (0, api_1.defaultSleep)(200);
387
412
  }
388
413
  if (!ready) {
389
414
  this.reporter.stop('failure');
@@ -406,6 +431,8 @@ class XcodeRbe extends base_command_1.BaseCommand {
406
431
  instanceId: opts.instanceId,
407
432
  port: opts.port,
408
433
  ...(opts.simInstanceId ? { simInstanceId: opts.simInstanceId } : {}),
434
+ ...(opts.autoUpload ? { autoUpload: opts.autoUpload } : {}),
435
+ ...(opts.uploadTtl ? { uploadTtl: opts.uploadTtl } : {}),
409
436
  });
410
437
  this.printReady({
411
438
  port: opts.port,
@@ -416,6 +443,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
416
443
  instanceId: opts.instanceId,
417
444
  background: true,
418
445
  simulatorAttached: !!opts.simInstanceId,
446
+ autoUpload: opts.autoUpload,
419
447
  pid,
420
448
  logPath,
421
449
  });
@@ -436,7 +464,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
436
464
  * the child if it exits within a short liveness window, so a slow tunnel-open
437
465
  * failure would otherwise leave the remote stack running with no owner.
438
466
  */
439
- async runTunnel(client, port) {
467
+ async runTunnel(client, port, autoUpload) {
440
468
  let tunnel;
441
469
  try {
442
470
  tunnel = await this.openTunnel(client, port);
@@ -445,14 +473,24 @@ class XcodeRbe extends base_command_1.BaseCommand {
445
473
  await client.stopRbe().catch(() => { });
446
474
  this.error(`Failed to open the remote-execution tunnel: ${err instanceof Error ? err.message : String(err)}`);
447
475
  }
448
- await this.awaitTunnel(tunnel, client);
476
+ await this.awaitTunnel(tunnel, client, autoUpload);
449
477
  }
450
478
  /**
451
479
  * Block on an already-open tunnel until a stop signal, then close it and
452
480
  * best-effort stop the remote stack. Rejects if the tunnel reports a terminal
453
- * disconnect (after its own reconnect attempts are exhausted).
481
+ * disconnect (after its own reconnect attempts are exhausted). With
482
+ * autoUpload set, a watcher uploads every successful build as the named
483
+ * asset for the tunnel's lifetime.
454
484
  */
455
- async awaitTunnel(tunnel, client) {
485
+ async awaitTunnel(tunnel, client, autoUpload) {
486
+ const watcher = autoUpload ?
487
+ (0, rbe_auto_upload_1.startAutoUploadWatcher)({
488
+ client,
489
+ assetName: autoUpload.assetName,
490
+ ttl: autoUpload.ttl,
491
+ log: (msg) => this.info(msg),
492
+ })
493
+ : undefined;
456
494
  try {
457
495
  await new Promise((resolve, reject) => {
458
496
  const keepAlive = setInterval(() => { }, 1 << 30);
@@ -502,6 +540,9 @@ class XcodeRbe extends base_command_1.BaseCommand {
502
540
  });
503
541
  }
504
542
  finally {
543
+ // Awaited so an upload already in flight (a completed build's artifact)
544
+ // finishes before the stack goes down; queued ones are skipped.
545
+ await watcher?.stop();
505
546
  tunnel.close();
506
547
  await client.stopRbe().catch(() => { });
507
548
  }
@@ -515,6 +556,7 @@ class XcodeRbe extends base_command_1.BaseCommand {
515
556
  xcodeVersion: opts.xcodeVersion,
516
557
  workspaceRoot: opts.workspaceRoot,
517
558
  simulatorAttached: opts.simulatorAttached,
559
+ ...(opts.autoUpload ? { autoUpload: opts.autoUpload } : {}),
518
560
  generatedConfig: {
519
561
  buildFile: opts.generated.buildFile,
520
562
  bazelrcFragment: opts.generated.bazelrcFragment,
@@ -532,6 +574,9 @@ class XcodeRbe extends base_command_1.BaseCommand {
532
574
  this.output('');
533
575
  this.output(`Endpoint: grpc://127.0.0.1:${opts.port}`);
534
576
  this.output(`Builds: ${this.consoleBuildUrl(opts.instanceId)}`);
577
+ if (opts.autoUpload) {
578
+ this.output(`Uploads: every successful build refreshes asset "${opts.autoUpload}"`);
579
+ }
535
580
  if (opts.background) {
536
581
  this.output(`Logs: ${opts.logPath}`);
537
582
  this.output(`Stop: lim xcode rbe --stop (or: kill ${opts.pid})`);
@@ -556,6 +601,7 @@ XcodeRbe.description = 'Start the embedded Bazel Remote Build Execution stack on
556
601
  'on start) or by deleting the instance. Pass --no-daemon to keep it in the foreground.';
557
602
  XcodeRbe.examples = [
558
603
  '<%= config.bin %> xcode rbe',
604
+ '<%= config.bin %> xcode rbe --auto-upload preview/my-app --upload-ttl 24h',
559
605
  '<%= config.bin %> xcode rbe --no-daemon',
560
606
  '<%= config.bin %> xcode rbe --id <xcode-instance-ID>',
561
607
  '<%= config.bin %> xcode rbe --port 9980',
@@ -577,6 +623,16 @@ XcodeRbe.flags = {
577
623
  stop: core_1.Flags.boolean({
578
624
  description: 'Stop the background tunnel running for this workspace.',
579
625
  default: false,
626
+ exclusive: ['auto-upload'],
627
+ }),
628
+ 'auto-upload': core_1.Flags.string({
629
+ description: 'Upload every successful build as an asset with this name, automatically at build end. ' +
630
+ 'The asset is refreshed on each rebuild; upload results land in the tunnel log.',
631
+ exclusive: ['stop'],
632
+ }),
633
+ 'upload-ttl': core_1.Flags.string({
634
+ description: 'Asset TTL for --auto-upload as a Go duration (e.g. 24h, 30m).',
635
+ dependsOn: ['auto-upload'],
580
636
  }),
581
637
  ios: core_1.Flags.boolean({
582
638
  description: 'Also create an iOS simulator and attach it, so builds auto-install on it and you can watch it live. The simulator is torn down on --stop.',
@@ -630,4 +686,4 @@ function readLogTail(logPath, lines = 20) {
630
686
  return '(no log output captured)';
631
687
  }
632
688
  }
633
- //# sourceMappingURL=rbe.js.map
689
+ //# sourceMappingURL=index.js.map