eas-cli 13.2.3 → 13.4.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.
Files changed (63) hide show
  1. package/README.md +359 -162
  2. package/build/build/build.js +3 -3
  3. package/build/build/evaluateConfigWithEnvVarsAsync.js +18 -2
  4. package/build/build/utils/url.d.ts +1 -0
  5. package/build/build/utils/url.js +5 -1
  6. package/build/commandUtils/flags.d.ts +5 -4
  7. package/build/commandUtils/flags.js +6 -8
  8. package/build/commands/env/create.d.ts +6 -6
  9. package/build/commands/env/create.js +27 -28
  10. package/build/commands/env/delete.d.ts +5 -5
  11. package/build/commands/env/delete.js +15 -13
  12. package/build/commands/env/exec.d.ts +0 -1
  13. package/build/commands/env/exec.js +1 -2
  14. package/build/commands/env/get.d.ts +5 -5
  15. package/build/commands/env/get.js +16 -13
  16. package/build/commands/env/link.d.ts +1 -1
  17. package/build/commands/env/link.js +12 -13
  18. package/build/commands/env/list.d.ts +5 -5
  19. package/build/commands/env/list.js +14 -12
  20. package/build/commands/env/pull.d.ts +1 -2
  21. package/build/commands/env/pull.js +8 -9
  22. package/build/commands/env/push.d.ts +1 -2
  23. package/build/commands/env/push.js +9 -10
  24. package/build/commands/env/unlink.d.ts +1 -1
  25. package/build/commands/env/unlink.js +11 -10
  26. package/build/commands/env/update.d.ts +6 -6
  27. package/build/commands/env/update.js +18 -15
  28. package/build/commands/secret/create.d.ts +1 -0
  29. package/build/commands/secret/create.js +3 -0
  30. package/build/commands/secret/delete.d.ts +1 -0
  31. package/build/commands/secret/delete.js +3 -0
  32. package/build/commands/secret/list.d.ts +1 -0
  33. package/build/commands/secret/list.js +3 -0
  34. package/build/commands/secret/push.d.ts +1 -0
  35. package/build/commands/secret/push.js +3 -0
  36. package/build/commands/update/index.js +19 -2
  37. package/build/commands/workflow/create.d.ts +18 -0
  38. package/build/commands/workflow/create.js +100 -0
  39. package/build/commands/workflow/run.d.ts +0 -2
  40. package/build/commands/workflow/run.js +25 -6
  41. package/build/commands/workflow/validate.d.ts +9 -1
  42. package/build/commands/workflow/validate.js +47 -50
  43. package/build/graphql/generated.d.ts +199 -28
  44. package/build/graphql/generated.js +10 -1
  45. package/build/graphql/mutations/EnvironmentVariableMutation.d.ts +1 -0
  46. package/build/graphql/mutations/WorkflowRevisionMutation.d.ts +33 -0
  47. package/build/graphql/mutations/WorkflowRevisionMutation.js +32 -0
  48. package/build/graphql/types/Update.js +9 -0
  49. package/build/project/publish.d.ts +23 -1
  50. package/build/project/publish.js +71 -11
  51. package/build/project/resolveRuntimeVersionAsync.d.ts +2 -0
  52. package/build/project/resolveRuntimeVersionAsync.js +4 -0
  53. package/build/update/republish.js +19 -0
  54. package/build/utils/expodash/mapMapAsync.d.ts +1 -0
  55. package/build/utils/expodash/mapMapAsync.js +12 -0
  56. package/build/utils/fingerprintCli.d.ts +21 -3
  57. package/build/utils/fingerprintCli.js +62 -13
  58. package/build/utils/prompts.d.ts +1 -1
  59. package/build/utils/prompts.js +1 -1
  60. package/build/utils/workflowFile.d.ts +16 -0
  61. package/build/utils/workflowFile.js +64 -0
  62. package/oclif.manifest.json +84 -52
  63. package/package.json +10 -4
@@ -687,7 +687,8 @@ export declare enum ActivityTimelineProjectActivityType {
687
687
  Build = "BUILD",
688
688
  Submission = "SUBMISSION",
689
689
  Update = "UPDATE",
690
- Worker = "WORKER"
690
+ Worker = "WORKER",
691
+ WorkflowRun = "WORKFLOW_RUN"
691
692
  }
692
693
  /** A regular user, SSO user, or robot that can authenticate with Expo services and be a member of accounts. */
693
694
  export type Actor = {
@@ -2877,11 +2878,6 @@ export type CreateIosSubmissionInput = {
2877
2878
  config: IosSubmissionConfigInput;
2878
2879
  submittedBuildId?: InputMaybe<Scalars['ID']['input']>;
2879
2880
  };
2880
- export type CreateServerlessFunctionUploadUrlResult = {
2881
- __typename?: 'CreateServerlessFunctionUploadUrlResult';
2882
- formDataFields: Scalars['JSONObject']['output'];
2883
- url: Scalars['String']['output'];
2884
- };
2885
2881
  export type CreateSharedEnvironmentVariableInput = {
2886
2882
  environments?: InputMaybe<Array<EnvironmentVariableEnvironment>>;
2887
2883
  fileName?: InputMaybe<Scalars['String']['input']>;
@@ -3073,10 +3069,6 @@ export type DeleteWorkerDeploymentResult = {
3073
3069
  deploymentIdentifier: Scalars['WorkerDeploymentIdentifier']['output'];
3074
3070
  id: Scalars['ID']['output'];
3075
3071
  };
3076
- export type DeployServerlessFunctionResult = {
3077
- __typename?: 'DeployServerlessFunctionResult';
3078
- url: Scalars['String']['output'];
3079
- };
3080
3072
  /** Represents a Deployment - a set of Builds with the same Runtime Version and Channel */
3081
3073
  export type Deployment = {
3082
3074
  __typename?: 'Deployment';
@@ -3516,6 +3508,31 @@ export declare enum Feature {
3516
3508
  /** Share access to projects */
3517
3509
  Teams = "TEAMS"
3518
3510
  }
3511
+ export type Fingerprint = {
3512
+ __typename?: 'Fingerprint';
3513
+ app: App;
3514
+ createdAt: Scalars['DateTime']['output'];
3515
+ debugInfoUrl?: Maybe<Scalars['String']['output']>;
3516
+ hash: Scalars['String']['output'];
3517
+ id: Scalars['ID']['output'];
3518
+ source?: Maybe<FingerprintSource>;
3519
+ updatedAt: Scalars['DateTime']['output'];
3520
+ };
3521
+ export type FingerprintInfo = {
3522
+ fingerprintHash: Scalars['String']['input'];
3523
+ fingerprintSource: FingerprintSourceInput;
3524
+ };
3525
+ export type FingerprintInfoGroup = {
3526
+ android?: InputMaybe<FingerprintInfo>;
3527
+ ios?: InputMaybe<FingerprintInfo>;
3528
+ web?: InputMaybe<FingerprintInfo>;
3529
+ };
3530
+ export type FingerprintSource = {
3531
+ __typename?: 'FingerprintSource';
3532
+ bucketKey: Scalars['String']['output'];
3533
+ isDebugFingerprint?: Maybe<Scalars['Boolean']['output']>;
3534
+ type: FingerprintSourceType;
3535
+ };
3519
3536
  export type FingerprintSourceInput = {
3520
3537
  bucketKey?: InputMaybe<Scalars['String']['input']>;
3521
3538
  isDebugFingerprint?: InputMaybe<Scalars['Boolean']['input']>;
@@ -4178,6 +4195,7 @@ export type JobRun = {
4178
4195
  createdAt: Scalars['DateTime']['output'];
4179
4196
  displayName?: Maybe<Scalars['String']['output']>;
4180
4197
  endedAt?: Maybe<Scalars['DateTime']['output']>;
4198
+ errors: Array<JobRunError>;
4181
4199
  expiresAt: Scalars['DateTime']['output'];
4182
4200
  gitCommitHash?: Maybe<Scalars['String']['output']>;
4183
4201
  gitCommitMessage?: Maybe<Scalars['String']['output']>;
@@ -4192,6 +4210,13 @@ export type JobRun = {
4192
4210
  status: JobRunStatus;
4193
4211
  updateGroups: Array<Array<Update>>;
4194
4212
  };
4213
+ export type JobRunError = {
4214
+ __typename?: 'JobRunError';
4215
+ buildPhase?: Maybe<Scalars['String']['output']>;
4216
+ docsUrl?: Maybe<Scalars['String']['output']>;
4217
+ errorCode: Scalars['String']['output'];
4218
+ message: Scalars['String']['output'];
4219
+ };
4195
4220
  export type JobRunMutation = {
4196
4221
  __typename?: 'JobRunMutation';
4197
4222
  /** Cancel an EAS Job Run */
@@ -4585,6 +4610,7 @@ export type PublishUpdateGroupInput = {
4585
4610
  awaitingCodeSigningInfo?: InputMaybe<Scalars['Boolean']['input']>;
4586
4611
  branchId: Scalars['String']['input'];
4587
4612
  excludedAssets?: InputMaybe<Array<PartialManifestAsset>>;
4613
+ fingerprintInfoGroup?: InputMaybe<FingerprintInfoGroup>;
4588
4614
  gitCommitHash?: InputMaybe<Scalars['String']['input']>;
4589
4615
  isGitWorkingTreeDirty?: InputMaybe<Scalars['Boolean']['input']>;
4590
4616
  message?: InputMaybe<Scalars['String']['input']>;
@@ -4807,7 +4833,6 @@ export type RootMutation = {
4807
4833
  notificationSubscription: NotificationSubscriptionMutation;
4808
4834
  /** Mutations that create, update, and delete Robots */
4809
4835
  robot: RobotMutation;
4810
- serverlessFunction: ServerlessFunctionMutation;
4811
4836
  /** Mutations that modify an EAS Submit submission */
4812
4837
  submission: SubmissionMutation;
4813
4838
  update: UpdateMutation;
@@ -4824,6 +4849,7 @@ export type RootMutation = {
4824
4849
  /** Mutations that modify a websiteNotification */
4825
4850
  websiteNotifications: WebsiteNotificationMutation;
4826
4851
  workflowJob: WorkflowJobMutation;
4852
+ workflowRevision: WorkflowRevisionMutation;
4827
4853
  workflowRun: WorkflowRunMutation;
4828
4854
  };
4829
4855
  export type RootMutationAccountArgs = {
@@ -5156,22 +5182,6 @@ export type SecondFactorRegenerateBackupCodesResult = {
5156
5182
  __typename?: 'SecondFactorRegenerateBackupCodesResult';
5157
5183
  plaintextBackupCodes: Array<Scalars['String']['output']>;
5158
5184
  };
5159
- export type ServerlessFunctionIdentifierInput = {
5160
- gitCommitSHA1: Scalars['String']['input'];
5161
- };
5162
- export type ServerlessFunctionMutation = {
5163
- __typename?: 'ServerlessFunctionMutation';
5164
- createDeployment: DeployServerlessFunctionResult;
5165
- createUploadPresignedUrl: CreateServerlessFunctionUploadUrlResult;
5166
- };
5167
- export type ServerlessFunctionMutationCreateDeploymentArgs = {
5168
- appId: Scalars['ID']['input'];
5169
- serverlessFunctionIdentifierInput: ServerlessFunctionIdentifierInput;
5170
- };
5171
- export type ServerlessFunctionMutationCreateUploadPresignedUrlArgs = {
5172
- appId: Scalars['ID']['input'];
5173
- serverlessFunctionIdentifierInput: ServerlessFunctionIdentifierInput;
5174
- };
5175
5185
  export type Snack = Project & {
5176
5186
  __typename?: 'Snack';
5177
5187
  /** Description of the Snack */
@@ -5509,6 +5519,7 @@ export type Update = ActivityTimelineProjectActivity & {
5509
5519
  createdAt: Scalars['DateTime']['output'];
5510
5520
  deployments: DeploymentResult;
5511
5521
  expoGoSDKVersion?: Maybe<Scalars['String']['output']>;
5522
+ fingerprint?: Maybe<Fingerprint>;
5512
5523
  gitCommitHash?: Maybe<Scalars['String']['output']>;
5513
5524
  group: Scalars['String']['output'];
5514
5525
  id: Scalars['ID']['output'];
@@ -6421,6 +6432,7 @@ export type WorkerDeployment = ActivityTimelineProjectActivity & {
6421
6432
  logs?: Maybe<WorkerDeploymentLogs>;
6422
6433
  requests?: Maybe<WorkerDeploymentRequests>;
6423
6434
  subdomain: Scalars['String']['output'];
6435
+ tier?: Maybe<WorkerDeploymentTier>;
6424
6436
  url: Scalars['String']['output'];
6425
6437
  };
6426
6438
  export type WorkerDeploymentCrashesArgs = {
@@ -6720,6 +6732,10 @@ export type WorkerDeploymentRequestsTimeseriesEdge = {
6720
6732
  node?: Maybe<WorkerDeploymentRequestsAggregationNode>;
6721
6733
  timestamp: Scalars['DateTime']['output'];
6722
6734
  };
6735
+ export declare enum WorkerDeploymentTier {
6736
+ Free = "FREE",
6737
+ Paid = "PAID"
6738
+ }
6723
6739
  export type WorkerDeploymentsConnection = {
6724
6740
  __typename?: 'WorkerDeploymentsConnection';
6725
6741
  edges: Array<WorkerDeploymentEdge>;
@@ -6799,6 +6815,7 @@ export declare enum WorkflowJobStatus {
6799
6815
  Failure = "FAILURE",
6800
6816
  InProgress = "IN_PROGRESS",
6801
6817
  New = "NEW",
6818
+ PendingCancel = "PENDING_CANCEL",
6802
6819
  Skipped = "SKIPPED",
6803
6820
  Success = "SUCCESS"
6804
6821
  }
@@ -6806,6 +6823,7 @@ export declare enum WorkflowJobType {
6806
6823
  AppleDeviceRegistrationRequest = "APPLE_DEVICE_REGISTRATION_REQUEST",
6807
6824
  Build = "BUILD",
6808
6825
  Custom = "CUSTOM",
6826
+ GetBuild = "GET_BUILD",
6809
6827
  MaestroTest = "MAESTRO_TEST",
6810
6828
  RequireApproval = "REQUIRE_APPROVAL",
6811
6829
  Submission = "SUBMISSION",
@@ -6846,6 +6864,14 @@ export type WorkflowRevisionInput = {
6846
6864
  fileName: Scalars['String']['input'];
6847
6865
  yamlConfig: Scalars['String']['input'];
6848
6866
  };
6867
+ export type WorkflowRevisionMutation = {
6868
+ __typename?: 'WorkflowRevisionMutation';
6869
+ validateWorkflowYamlConfig: Scalars['Boolean']['output'];
6870
+ };
6871
+ export type WorkflowRevisionMutationValidateWorkflowYamlConfigArgs = {
6872
+ appId: Scalars['ID']['input'];
6873
+ yamlConfig: Scalars['String']['input'];
6874
+ };
6849
6875
  export type WorkflowRevisionQuery = {
6850
6876
  __typename?: 'WorkflowRevisionQuery';
6851
6877
  byId: WorkflowRevision;
@@ -6858,9 +6884,12 @@ export type WorkflowRevisionsConnection = {
6858
6884
  edges: Array<WorkflowRevisionEdge>;
6859
6885
  pageInfo: PageInfo;
6860
6886
  };
6861
- export type WorkflowRun = {
6887
+ export type WorkflowRun = ActivityTimelineProjectActivity & {
6862
6888
  __typename?: 'WorkflowRun';
6889
+ activityTimestamp: Scalars['DateTime']['output'];
6890
+ actor?: Maybe<Actor>;
6863
6891
  createdAt: Scalars['DateTime']['output'];
6892
+ errors: Array<WorkflowRunError>;
6864
6893
  gitCommitHash?: Maybe<Scalars['String']['output']>;
6865
6894
  gitCommitMessage?: Maybe<Scalars['String']['output']>;
6866
6895
  githubRepository?: Maybe<GitHubRepository>;
@@ -6880,13 +6909,22 @@ export type WorkflowRunEdge = {
6880
6909
  cursor: Scalars['String']['output'];
6881
6910
  node: WorkflowRun;
6882
6911
  };
6912
+ export type WorkflowRunError = {
6913
+ __typename?: 'WorkflowRunError';
6914
+ message: Scalars['String']['output'];
6915
+ title?: Maybe<Scalars['String']['output']>;
6916
+ };
6883
6917
  export type WorkflowRunInput = {
6884
6918
  projectSource: WorkflowProjectSourceInput;
6885
6919
  };
6886
6920
  export type WorkflowRunMutation = {
6887
6921
  __typename?: 'WorkflowRunMutation';
6922
+ cancelWorkflowRun: WorkflowRun;
6888
6923
  createWorkflowRun: WorkflowRun;
6889
6924
  };
6925
+ export type WorkflowRunMutationCancelWorkflowRunArgs = {
6926
+ workflowRunId: Scalars['ID']['input'];
6927
+ };
6890
6928
  export type WorkflowRunMutationCreateWorkflowRunArgs = {
6891
6929
  appId: Scalars['ID']['input'];
6892
6930
  workflowRevisionInput: WorkflowRevisionInput;
@@ -6905,6 +6943,7 @@ export declare enum WorkflowRunStatus {
6905
6943
  Failure = "FAILURE",
6906
6944
  InProgress = "IN_PROGRESS",
6907
6945
  New = "NEW",
6946
+ PendingCancel = "PENDING_CANCEL",
6908
6947
  Success = "SUCCESS"
6909
6948
  }
6910
6949
  export type WorkflowRunsConnection = {
@@ -11347,6 +11386,17 @@ export type UpdatePublishMutation = {
11347
11386
  __typename?: 'Update';
11348
11387
  id: string;
11349
11388
  } | null;
11389
+ fingerprint?: {
11390
+ __typename?: 'Fingerprint';
11391
+ id: string;
11392
+ hash: string;
11393
+ source?: {
11394
+ __typename?: 'FingerprintSource';
11395
+ type: FingerprintSourceType;
11396
+ bucketKey: string;
11397
+ isDebugFingerprint?: boolean | null;
11398
+ } | null;
11399
+ } | null;
11350
11400
  }>;
11351
11401
  };
11352
11402
  };
@@ -11421,6 +11471,17 @@ export type SetRolloutPercentageMutation = {
11421
11471
  __typename?: 'Update';
11422
11472
  id: string;
11423
11473
  } | null;
11474
+ fingerprint?: {
11475
+ __typename?: 'Fingerprint';
11476
+ id: string;
11477
+ hash: string;
11478
+ source?: {
11479
+ __typename?: 'FingerprintSource';
11480
+ type: FingerprintSourceType;
11481
+ bucketKey: string;
11482
+ isDebugFingerprint?: boolean | null;
11483
+ } | null;
11484
+ } | null;
11424
11485
  };
11425
11486
  };
11426
11487
  };
@@ -11611,6 +11672,17 @@ export type DeleteWebhookMutation = {
11611
11672
  };
11612
11673
  };
11613
11674
  };
11675
+ export type ValidateWorkflowYamlConfigMutationVariables = Exact<{
11676
+ appId: Scalars['ID']['input'];
11677
+ yamlConfig: Scalars['String']['input'];
11678
+ }>;
11679
+ export type ValidateWorkflowYamlConfigMutation = {
11680
+ __typename?: 'RootMutation';
11681
+ workflowRevision: {
11682
+ __typename?: 'WorkflowRevisionMutation';
11683
+ validateWorkflowYamlConfig: boolean;
11684
+ };
11685
+ };
11614
11686
  export type CreateWorkflowRunMutationVariables = Exact<{
11615
11687
  appId: Scalars['ID']['input'];
11616
11688
  workflowRevisionInput: WorkflowRevisionInput;
@@ -11869,6 +11941,17 @@ export type BranchesByAppQuery = {
11869
11941
  __typename?: 'Update';
11870
11942
  id: string;
11871
11943
  } | null;
11944
+ fingerprint?: {
11945
+ __typename?: 'Fingerprint';
11946
+ id: string;
11947
+ hash: string;
11948
+ source?: {
11949
+ __typename?: 'FingerprintSource';
11950
+ type: FingerprintSourceType;
11951
+ bucketKey: string;
11952
+ isDebugFingerprint?: boolean | null;
11953
+ } | null;
11954
+ } | null;
11872
11955
  }>;
11873
11956
  }>;
11874
11957
  };
@@ -11971,6 +12054,17 @@ export type ViewBranchesOnUpdateChannelQuery = {
11971
12054
  __typename?: 'Update';
11972
12055
  id: string;
11973
12056
  } | null;
12057
+ fingerprint?: {
12058
+ __typename?: 'Fingerprint';
12059
+ id: string;
12060
+ hash: string;
12061
+ source?: {
12062
+ __typename?: 'FingerprintSource';
12063
+ type: FingerprintSourceType;
12064
+ bucketKey: string;
12065
+ isDebugFingerprint?: boolean | null;
12066
+ } | null;
12067
+ } | null;
11974
12068
  }>>;
11975
12069
  }>;
11976
12070
  } | null;
@@ -12315,6 +12409,17 @@ export type ViewUpdateChannelOnAppQuery = {
12315
12409
  __typename?: 'Update';
12316
12410
  id: string;
12317
12411
  } | null;
12412
+ fingerprint?: {
12413
+ __typename?: 'Fingerprint';
12414
+ id: string;
12415
+ hash: string;
12416
+ source?: {
12417
+ __typename?: 'FingerprintSource';
12418
+ type: FingerprintSourceType;
12419
+ bucketKey: string;
12420
+ isDebugFingerprint?: boolean | null;
12421
+ } | null;
12422
+ } | null;
12318
12423
  }>>;
12319
12424
  }>;
12320
12425
  } | null;
@@ -12386,6 +12491,17 @@ export type ViewUpdateChannelsOnAppQuery = {
12386
12491
  __typename?: 'Update';
12387
12492
  id: string;
12388
12493
  } | null;
12494
+ fingerprint?: {
12495
+ __typename?: 'Fingerprint';
12496
+ id: string;
12497
+ hash: string;
12498
+ source?: {
12499
+ __typename?: 'FingerprintSource';
12500
+ type: FingerprintSourceType;
12501
+ bucketKey: string;
12502
+ isDebugFingerprint?: boolean | null;
12503
+ } | null;
12504
+ } | null;
12389
12505
  }>>;
12390
12506
  }>;
12391
12507
  }>;
@@ -12835,6 +12951,17 @@ export type ViewUpdatesByGroupQuery = {
12835
12951
  __typename?: 'Update';
12836
12952
  id: string;
12837
12953
  } | null;
12954
+ fingerprint?: {
12955
+ __typename?: 'Fingerprint';
12956
+ id: string;
12957
+ hash: string;
12958
+ source?: {
12959
+ __typename?: 'FingerprintSource';
12960
+ type: FingerprintSourceType;
12961
+ bucketKey: string;
12962
+ isDebugFingerprint?: boolean | null;
12963
+ } | null;
12964
+ } | null;
12838
12965
  }>;
12839
12966
  };
12840
12967
  export type ViewUpdateGroupsOnBranchQueryVariables = Exact<{
@@ -12895,6 +13022,17 @@ export type ViewUpdateGroupsOnBranchQuery = {
12895
13022
  __typename?: 'Update';
12896
13023
  id: string;
12897
13024
  } | null;
13025
+ fingerprint?: {
13026
+ __typename?: 'Fingerprint';
13027
+ id: string;
13028
+ hash: string;
13029
+ source?: {
13030
+ __typename?: 'FingerprintSource';
13031
+ type: FingerprintSourceType;
13032
+ bucketKey: string;
13033
+ isDebugFingerprint?: boolean | null;
13034
+ } | null;
13035
+ } | null;
12898
13036
  }>>;
12899
13037
  } | null;
12900
13038
  };
@@ -12954,6 +13092,17 @@ export type ViewUpdateGroupsOnAppQuery = {
12954
13092
  __typename?: 'Update';
12955
13093
  id: string;
12956
13094
  } | null;
13095
+ fingerprint?: {
13096
+ __typename?: 'Fingerprint';
13097
+ id: string;
13098
+ hash: string;
13099
+ source?: {
13100
+ __typename?: 'FingerprintSource';
13101
+ type: FingerprintSourceType;
13102
+ bucketKey: string;
13103
+ isDebugFingerprint?: boolean | null;
13104
+ } | null;
13105
+ } | null;
12957
13106
  }>>;
12958
13107
  };
12959
13108
  };
@@ -13555,6 +13704,17 @@ export type UpdateFragment = {
13555
13704
  __typename?: 'Update';
13556
13705
  id: string;
13557
13706
  } | null;
13707
+ fingerprint?: {
13708
+ __typename?: 'Fingerprint';
13709
+ id: string;
13710
+ hash: string;
13711
+ source?: {
13712
+ __typename?: 'FingerprintSource';
13713
+ type: FingerprintSourceType;
13714
+ bucketKey: string;
13715
+ isDebugFingerprint?: boolean | null;
13716
+ } | null;
13717
+ } | null;
13558
13718
  };
13559
13719
  export type UpdateBranchFragment = {
13560
13720
  __typename?: 'UpdateBranch';
@@ -13601,6 +13761,17 @@ export type UpdateBranchFragment = {
13601
13761
  __typename?: 'Update';
13602
13762
  id: string;
13603
13763
  } | null;
13764
+ fingerprint?: {
13765
+ __typename?: 'Fingerprint';
13766
+ id: string;
13767
+ hash: string;
13768
+ source?: {
13769
+ __typename?: 'FingerprintSource';
13770
+ type: FingerprintSourceType;
13771
+ bucketKey: string;
13772
+ isDebugFingerprint?: boolean | null;
13773
+ } | null;
13774
+ } | null;
13604
13775
  }>;
13605
13776
  };
13606
13777
  export type UpdateBranchBasicInfoFragment = {
@@ -8,7 +8,7 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.FingerprintSourceType = exports.Feature = exports.Experiment = exports.EnvironmentVariableVisibility = exports.EnvironmentVariableScope = exports.EnvironmentVariableEnvironment = exports.EnvironmentSecretType = exports.EntityTypeName = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildWaiverType = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.CustomDomainStatus = exports.CustomDomainDnsRecordType = exports.CrashSampleFor = exports.ContinentCode = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildPhase = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProviderIdentifier = exports.AuthProtocolType = exports.AuditLogsExportFormat = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleTeamType = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AppInternalDistributionBuildPrivacy = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountUploadSessionType = exports.AccountAppsSortByField = void 0;
10
10
  exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.TargetEntityMutationType = exports.SubmissionStatus = exports.SubmissionPriority = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ResponseType = exports.ResponseStatusType = exports.ResponseCacheStatus = exports.ResourceClassExperiment = exports.RequestsOrderByField = exports.RequestsOrderByDirection = exports.RequestMethod = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OnboardingEnvironment = exports.OnboardingDeviceType = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.JobRunStatus = exports.JobRunPriority = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.InsightsFilterType = exports.GitHubJobRunTriggerType = exports.GitHubJobRunTriggerRunStatus = exports.GitHubJobRunJobType = exports.GitHubBuildTriggerType = exports.GitHubBuildTriggerRunStatus = exports.GitHubBuildTriggerExecutionBehavior = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = void 0;
11
- exports.WorkflowRunStatus = exports.WorkflowProjectSourceType = exports.WorkflowJobType = exports.WorkflowJobStatus = exports.WorkerLoggerLevel = exports.WorkerDeploymentLogLevel = exports.WebhookType = exports.UserEntityTypeName = exports.UserAgentOs = exports.UserAgentBrowser = void 0;
11
+ exports.WorkflowRunStatus = exports.WorkflowProjectSourceType = exports.WorkflowJobType = exports.WorkflowJobStatus = exports.WorkerLoggerLevel = exports.WorkerDeploymentTier = exports.WorkerDeploymentLogLevel = exports.WebhookType = exports.UserEntityTypeName = exports.UserAgentOs = exports.UserAgentBrowser = void 0;
12
12
  var AccountAppsSortByField;
13
13
  (function (AccountAppsSortByField) {
14
14
  AccountAppsSortByField["LatestActivityTime"] = "LATEST_ACTIVITY_TIME";
@@ -28,6 +28,7 @@ var ActivityTimelineProjectActivityType;
28
28
  ActivityTimelineProjectActivityType["Submission"] = "SUBMISSION";
29
29
  ActivityTimelineProjectActivityType["Update"] = "UPDATE";
30
30
  ActivityTimelineProjectActivityType["Worker"] = "WORKER";
31
+ ActivityTimelineProjectActivityType["WorkflowRun"] = "WORKFLOW_RUN";
31
32
  })(ActivityTimelineProjectActivityType || (exports.ActivityTimelineProjectActivityType = ActivityTimelineProjectActivityType = {}));
32
33
  var AndroidBuildType;
33
34
  (function (AndroidBuildType) {
@@ -808,6 +809,11 @@ var WorkerDeploymentLogLevel;
808
809
  WorkerDeploymentLogLevel["Log"] = "LOG";
809
810
  WorkerDeploymentLogLevel["Warn"] = "WARN";
810
811
  })(WorkerDeploymentLogLevel || (exports.WorkerDeploymentLogLevel = WorkerDeploymentLogLevel = {}));
812
+ var WorkerDeploymentTier;
813
+ (function (WorkerDeploymentTier) {
814
+ WorkerDeploymentTier["Free"] = "FREE";
815
+ WorkerDeploymentTier["Paid"] = "PAID";
816
+ })(WorkerDeploymentTier || (exports.WorkerDeploymentTier = WorkerDeploymentTier = {}));
811
817
  var WorkerLoggerLevel;
812
818
  (function (WorkerLoggerLevel) {
813
819
  WorkerLoggerLevel["Debug"] = "DEBUG";
@@ -824,6 +830,7 @@ var WorkflowJobStatus;
824
830
  WorkflowJobStatus["Failure"] = "FAILURE";
825
831
  WorkflowJobStatus["InProgress"] = "IN_PROGRESS";
826
832
  WorkflowJobStatus["New"] = "NEW";
833
+ WorkflowJobStatus["PendingCancel"] = "PENDING_CANCEL";
827
834
  WorkflowJobStatus["Skipped"] = "SKIPPED";
828
835
  WorkflowJobStatus["Success"] = "SUCCESS";
829
836
  })(WorkflowJobStatus || (exports.WorkflowJobStatus = WorkflowJobStatus = {}));
@@ -832,6 +839,7 @@ var WorkflowJobType;
832
839
  WorkflowJobType["AppleDeviceRegistrationRequest"] = "APPLE_DEVICE_REGISTRATION_REQUEST";
833
840
  WorkflowJobType["Build"] = "BUILD";
834
841
  WorkflowJobType["Custom"] = "CUSTOM";
842
+ WorkflowJobType["GetBuild"] = "GET_BUILD";
835
843
  WorkflowJobType["MaestroTest"] = "MAESTRO_TEST";
836
844
  WorkflowJobType["RequireApproval"] = "REQUIRE_APPROVAL";
837
845
  WorkflowJobType["Submission"] = "SUBMISSION";
@@ -848,5 +856,6 @@ var WorkflowRunStatus;
848
856
  WorkflowRunStatus["Failure"] = "FAILURE";
849
857
  WorkflowRunStatus["InProgress"] = "IN_PROGRESS";
850
858
  WorkflowRunStatus["New"] = "NEW";
859
+ WorkflowRunStatus["PendingCancel"] = "PENDING_CANCEL";
851
860
  WorkflowRunStatus["Success"] = "SUCCESS";
852
861
  })(WorkflowRunStatus || (exports.WorkflowRunStatus = WorkflowRunStatus = {}));
@@ -6,6 +6,7 @@ type CreateVariableArgs = {
6
6
  visibility: EnvironmentVariableVisibility;
7
7
  environments: EnvironmentVariableEnvironment[];
8
8
  type: EnvironmentSecretType;
9
+ isGlobal?: boolean;
9
10
  fileName?: string;
10
11
  };
11
12
  export type EnvironmentVariablePushInput = {
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
3
+ export declare namespace WorkflowRevisionMutation {
4
+ const ValidationErrorExtensionZ: z.ZodObject<{
5
+ errorCode: z.ZodLiteral<"VALIDATION_ERROR">;
6
+ metadata: z.ZodObject<{
7
+ formErrors: z.ZodArray<z.ZodString, "many">;
8
+ fieldErrors: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ formErrors: string[];
11
+ fieldErrors: Record<string, string[]>;
12
+ }, {
13
+ formErrors: string[];
14
+ fieldErrors: Record<string, string[]>;
15
+ }>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ errorCode: "VALIDATION_ERROR";
18
+ metadata: {
19
+ formErrors: string[];
20
+ fieldErrors: Record<string, string[]>;
21
+ };
22
+ }, {
23
+ errorCode: "VALIDATION_ERROR";
24
+ metadata: {
25
+ formErrors: string[];
26
+ fieldErrors: Record<string, string[]>;
27
+ };
28
+ }>;
29
+ function validateWorkflowYamlConfigAsync(graphqlClient: ExpoGraphqlClient, { appId, yamlConfig, }: {
30
+ appId: string;
31
+ yamlConfig: string;
32
+ }): Promise<void>;
33
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowRevisionMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
+ const zod_1 = require("zod");
7
+ const client_1 = require("../client");
8
+ var WorkflowRevisionMutation;
9
+ (function (WorkflowRevisionMutation) {
10
+ WorkflowRevisionMutation.ValidationErrorExtensionZ = zod_1.z.object({
11
+ errorCode: zod_1.z.literal('VALIDATION_ERROR'),
12
+ metadata: zod_1.z.object({
13
+ formErrors: zod_1.z.array(zod_1.z.string()),
14
+ fieldErrors: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())),
15
+ }),
16
+ });
17
+ async function validateWorkflowYamlConfigAsync(graphqlClient, { appId, yamlConfig, }) {
18
+ await (0, client_1.withErrorHandlingAsync)(graphqlClient
19
+ .mutation((0, graphql_tag_1.default) `
20
+ mutation ValidateWorkflowYamlConfig($appId: ID!, $yamlConfig: String!) {
21
+ workflowRevision {
22
+ validateWorkflowYamlConfig(appId: $appId, yamlConfig: $yamlConfig)
23
+ }
24
+ }
25
+ `, {
26
+ appId,
27
+ yamlConfig,
28
+ })
29
+ .toPromise());
30
+ }
31
+ WorkflowRevisionMutation.validateWorkflowYamlConfigAsync = validateWorkflowYamlConfigAsync;
32
+ })(WorkflowRevisionMutation || (exports.WorkflowRevisionMutation = WorkflowRevisionMutation = {}));
@@ -38,5 +38,14 @@ exports.UpdateFragmentNode = (0, graphql_tag_1.default) `
38
38
  rolloutControlUpdate {
39
39
  id
40
40
  }
41
+ fingerprint {
42
+ id
43
+ hash
44
+ source {
45
+ type
46
+ bucketKey
47
+ isDebugFingerprint
48
+ }
49
+ }
41
50
  }
42
51
  `;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ExpoConfig, Platform as ExpoConfigPlatform } from '@expo/config';
3
- import { Env, Workflow } from '@expo/eas-build-job';
3
+ import { Env, FingerprintSource, Platform, Workflow } from '@expo/eas-build-job';
4
4
  import Joi from 'joi';
5
5
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
6
6
  import { PaginatedQueryOptions } from '../commandUtils/pagination';
@@ -149,6 +149,14 @@ export type RuntimeVersionInfo = {
149
149
  fingerprintSources: object[];
150
150
  isDebugFingerprintSource: boolean;
151
151
  } | null;
152
+ fingerprintHash: string | null;
153
+ };
154
+ type FingerprintInfoGroup = {
155
+ [key in UpdatePublishPlatform]?: FingerprintInfo;
156
+ };
157
+ type FingerprintInfo = {
158
+ fingerprintHash: string;
159
+ fingerprintSource: FingerprintSource;
152
160
  };
153
161
  export declare function getRuntimeVersionInfoObjectsAsync({ exp, platforms, workflows, projectDir, env, }: {
154
162
  exp: ExpoConfig;
@@ -166,6 +174,20 @@ export declare function getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntim
166
174
  }[]): (RuntimeVersionInfo & {
167
175
  platforms: UpdatePublishPlatform[];
168
176
  })[];
177
+ export declare function maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync({ projectDir, graphqlClient, runtimeToPlatformsAndFingerprintInfoAndFingerprintSourceMapping, workflowsByPlatform, env, }: {
178
+ projectDir: string;
179
+ graphqlClient: ExpoGraphqlClient;
180
+ runtimeToPlatformsAndFingerprintInfoAndFingerprintSourceMapping: (RuntimeVersionInfo & {
181
+ platforms: UpdatePublishPlatform[];
182
+ fingerprintSource: FingerprintSource | null;
183
+ })[];
184
+ workflowsByPlatform: Record<Platform, Workflow>;
185
+ env: Env | undefined;
186
+ }): Promise<(RuntimeVersionInfo & {
187
+ platforms: UpdatePublishPlatform[];
188
+ fingerprintSource: FingerprintSource | null;
189
+ fingerprintInfoGroup: FingerprintInfoGroup;
190
+ })[]>;
169
191
  export declare const platformDisplayNames: Record<UpdatePublishPlatform, string>;
170
192
  export declare const updatePublishPlatformToAppPlatform: Record<UpdatePublishPlatform, AppPlatform>;
171
193
  export declare function getRuntimeToUpdateRolloutInfoGroupMappingAsync(graphqlClient: ExpoGraphqlClient, { appId, branchName, rolloutPercentage, runtimeToPlatformsAndFingerprintInfoMapping, }: {