@expo/eas-build-job 0.2.104 → 0.2.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/android.d.ts CHANGED
@@ -18,6 +18,13 @@ export interface BuilderEnvironment {
18
18
  ndk?: string;
19
19
  env?: Env;
20
20
  }
21
+ export interface BuildSecrets {
22
+ buildCredentials?: {
23
+ keystore: Keystore;
24
+ };
25
+ environmentSecrets?: EnvironmentSecret[];
26
+ robotAccessToken?: string;
27
+ }
21
28
  export interface Job {
22
29
  mode: BuildMode;
23
30
  type: Workflow;
@@ -30,13 +37,7 @@ export interface Job {
30
37
  updates?: {
31
38
  channel?: string;
32
39
  };
33
- secrets: {
34
- buildCredentials?: {
35
- keystore: Keystore;
36
- };
37
- environmentSecrets?: EnvironmentSecret[];
38
- robotAccessToken?: string;
39
- };
40
+ secrets?: BuildSecrets;
40
41
  builderEnvironment?: BuilderEnvironment;
41
42
  cache: Cache;
42
43
  developmentClient?: boolean;
@@ -56,6 +57,9 @@ export interface Job {
56
57
  applicationArchivePath?: string;
57
58
  buildType?: BuildType;
58
59
  username?: string;
60
+ customBuildConfig?: {
61
+ path: string;
62
+ };
59
63
  experimental?: {
60
64
  prebuildCommand?: string;
61
65
  };
package/dist/android.js CHANGED
@@ -25,8 +25,13 @@ const BuilderEnvironmentSchema = joi_1.default.object({
25
25
  ndk: joi_1.default.string(),
26
26
  env: common_1.EnvSchema,
27
27
  });
28
+ const SecretsSchema = joi_1.default.object({
29
+ buildCredentials: joi_1.default.object({ keystore: KeystoreSchema.required() }),
30
+ environmentSecrets: common_1.EnvironmentSecretsSchema,
31
+ robotAccessToken: joi_1.default.string(),
32
+ });
28
33
  exports.JobSchema = joi_1.default.object({
29
- mode: joi_1.default.string().valid(common_1.BuildMode.BUILD).default(common_1.BuildMode.BUILD),
34
+ mode: joi_1.default.string().valid(common_1.BuildMode.BUILD, common_1.BuildMode.CUSTOM).default(common_1.BuildMode.BUILD),
30
35
  type: joi_1.default.string()
31
36
  .valid(...Object.values(common_1.Workflow))
32
37
  .required(),
@@ -45,11 +50,11 @@ exports.JobSchema = joi_1.default.object({
45
50
  updates: joi_1.default.object({
46
51
  channel: joi_1.default.string(),
47
52
  }),
48
- secrets: joi_1.default.object({
49
- buildCredentials: joi_1.default.object({ keystore: KeystoreSchema.required() }),
50
- environmentSecrets: common_1.EnvironmentSecretsSchema,
51
- robotAccessToken: joi_1.default.string(),
52
- }).required(),
53
+ secrets: joi_1.default.when('mode', {
54
+ is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
55
+ then: SecretsSchema,
56
+ otherwise: SecretsSchema.required(),
57
+ }),
53
58
  builderEnvironment: BuilderEnvironmentSchema,
54
59
  cache: common_1.CacheSchema.default(),
55
60
  developmentClient: joi_1.default.boolean(),
@@ -61,6 +66,13 @@ exports.JobSchema = joi_1.default.object({
61
66
  applicationArchivePath: joi_1.default.string(),
62
67
  buildType: joi_1.default.string().valid(...Object.values(BuildType)),
63
68
  username: joi_1.default.string(),
69
+ customBuildConfig: joi_1.default.when('mode', {
70
+ is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
71
+ then: joi_1.default.object({
72
+ path: joi_1.default.string(),
73
+ }).required(),
74
+ otherwise: joi_1.default.any().strip(),
75
+ }),
64
76
  experimental: joi_1.default.object({
65
77
  prebuildCommand: joi_1.default.string(),
66
78
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n} from './common';\n\nexport interface Keystore {\n dataBase64: string;\n keystorePassword: string;\n keyAlias: string;\n keyPassword?: string;\n}\n\nconst KeystoreSchema = Joi.object({\n dataBase64: Joi.string().required(),\n keystorePassword: Joi.string().allow('').required(),\n keyAlias: Joi.string().required(),\n keyPassword: Joi.string().allow(''),\n});\n\nexport enum BuildType {\n APK = 'apk',\n APP_BUNDLE = 'app-bundle',\n}\n\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n yarn?: string;\n expoCli?: string;\n ndk?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n ndk: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n platform: Platform.ANDROID;\n projectRootDirectory: string;\n buildProfile?: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: {\n keystore: Keystore;\n };\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n };\n builderEnvironment?: BuilderEnvironment;\n cache: Cache;\n developmentClient?: boolean;\n version?: {\n versionCode?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n versionName?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n gradleCommand?: string;\n applicationArchivePath?: string;\n\n buildType?: BuildType;\n username?: string;\n\n experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n mode: Joi.string().valid(BuildMode.BUILD).default(BuildMode.BUILD),\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.ANDROID).required(),\n projectRootDirectory: Joi.string().required(),\n buildProfile: Joi.when('triggeredBy', {\n is: BuildTrigger.GIT_BASED_INTEGRATION,\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: Joi.object({ keystore: KeystoreSchema.required() }),\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n }).required(),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n version: Joi.object({\n versionCode: Joi.string().regex(/^\\d+$/),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n gradleCommand: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n buildType: Joi.string().valid(...Object.values(BuildType)),\n username: Joi.string(),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n} from './common';\n\nexport interface Keystore {\n dataBase64: string;\n keystorePassword: string;\n keyAlias: string;\n keyPassword?: string;\n}\n\nconst KeystoreSchema = Joi.object({\n dataBase64: Joi.string().required(),\n keystorePassword: Joi.string().allow('').required(),\n keyAlias: Joi.string().required(),\n keyPassword: Joi.string().allow(''),\n});\n\nexport enum BuildType {\n APK = 'apk',\n APP_BUNDLE = 'app-bundle',\n}\n\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n yarn?: string;\n expoCli?: string;\n ndk?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n ndk: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface BuildSecrets {\n buildCredentials?: {\n keystore: Keystore;\n };\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n}\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n platform: Platform.ANDROID;\n projectRootDirectory: string;\n buildProfile?: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets?: BuildSecrets;\n builderEnvironment?: BuilderEnvironment;\n cache: Cache;\n developmentClient?: boolean;\n version?: {\n versionCode?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n versionName?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n gradleCommand?: string;\n applicationArchivePath?: string;\n\n buildType?: BuildType;\n username?: string;\n\n customBuildConfig?: {\n path: string;\n };\n\n experimental?: {\n prebuildCommand?: string;\n };\n}\n\nconst SecretsSchema = Joi.object({\n buildCredentials: Joi.object({ keystore: KeystoreSchema.required() }),\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n});\n\nexport const JobSchema = Joi.object({\n mode: Joi.string().valid(BuildMode.BUILD, BuildMode.CUSTOM).default(BuildMode.BUILD),\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.ANDROID).required(),\n projectRootDirectory: Joi.string().required(),\n buildProfile: Joi.when('triggeredBy', {\n is: BuildTrigger.GIT_BASED_INTEGRATION,\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: SecretsSchema,\n otherwise: SecretsSchema.required(),\n }),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n version: Joi.object({\n versionCode: Joi.string().regex(/^\\d+$/),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n gradleCommand: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n buildType: Joi.string().valid(...Object.values(BuildType)),\n username: Joi.string(),\n\n customBuildConfig: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: Joi.object({\n path: Joi.string(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
package/dist/common.d.ts CHANGED
@@ -2,7 +2,8 @@ import Joi from 'joi';
2
2
  import { BuildPhase, BuildPhaseResult } from './logs';
3
3
  export declare enum BuildMode {
4
4
  BUILD = "build",
5
- RESIGN = "resign"
5
+ RESIGN = "resign",
6
+ CUSTOM = "custom"
6
7
  }
7
8
  export declare enum Workflow {
8
9
  GENERIC = "generic",
package/dist/common.js CHANGED
@@ -9,6 +9,7 @@ var BuildMode;
9
9
  (function (BuildMode) {
10
10
  BuildMode["BUILD"] = "build";
11
11
  BuildMode["RESIGN"] = "resign";
12
+ BuildMode["CUSTOM"] = "custom";
12
13
  })(BuildMode = exports.BuildMode || (exports.BuildMode = {}));
13
14
  var Workflow;
14
15
  (function (Workflow) {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport { BuildPhase, BuildPhaseResult } from './logs';\n\nexport enum BuildMode {\n BUILD = 'build',\n RESIGN = 'resign',\n}\n\nexport enum Workflow {\n GENERIC = 'generic',\n MANAGED = 'managed',\n UNKNOWN = 'unknown',\n}\n\nexport enum Platform {\n ANDROID = 'android',\n IOS = 'ios',\n}\n\nexport enum ArchiveSourceType {\n NONE = 'NONE',\n S3 = 'S3',\n URL = 'URL',\n PATH = 'PATH',\n GCS = 'GCS',\n GIT = 'GIT',\n}\n\nexport enum BuildTrigger {\n EAS_CLI = 'EAS_CLI',\n GIT_BASED_INTEGRATION = 'GIT_BASED_INTEGRATION',\n}\n\nexport type ArchiveSource =\n | { type: ArchiveSourceType.NONE }\n | { type: ArchiveSourceType.S3; bucketKey: string }\n | { type: ArchiveSourceType.GCS; bucketKey: string }\n | { type: ArchiveSourceType.URL; url: string }\n | { type: ArchiveSourceType.PATH; path: string }\n | {\n type: ArchiveSourceType.GIT;\n /**\n * Url that can be used to clone repository.\n * It should contain embedded credentials for private registries.\n */\n repositoryUrl: string;\n /**\n * Git commit hash, branch, or tag\n */\n gitRef: string;\n };\n\nexport const ArchiveSourceSchema = Joi.object<ArchiveSource>({\n type: Joi.string()\n .valid(...Object.values(ArchiveSourceType))\n .required(),\n})\n .when(Joi.object({ type: ArchiveSourceType.GCS }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GCS).required(),\n bucketKey: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.S3 }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.S3).required(),\n bucketKey: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.URL }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.URL).required(),\n url: Joi.string().uri().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.GIT }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GIT).required(),\n repositoryUrl: Joi.string().required(),\n gitRef: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.PATH }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.PATH).required(),\n path: Joi.string().required(),\n }),\n });\n\nexport type Env = Record<string, string>;\nexport const EnvSchema = Joi.object().pattern(Joi.string(), Joi.string());\n\nexport type EnvironmentSecret = {\n name: string;\n type: EnvironmentSecretType;\n value: string;\n};\nexport enum EnvironmentSecretType {\n STRING = 'string',\n FILE = 'file',\n}\nexport const EnvironmentSecretsSchema = Joi.array().items(\n Joi.object({\n name: Joi.string().required(),\n value: Joi.string().required(),\n type: Joi.string()\n .valid(...Object.values(EnvironmentSecretType))\n .required(),\n })\n);\n\nexport interface Cache {\n disabled: boolean;\n clear: boolean;\n key?: string;\n cacheDefaultPaths: boolean;\n customPaths: string[];\n}\n\nexport const CacheSchema = Joi.object({\n disabled: Joi.boolean().default(false),\n clear: Joi.boolean().default(false),\n key: Joi.string().allow('').max(128),\n cacheDefaultPaths: Joi.boolean().default(true),\n customPaths: Joi.array().items(Joi.string()).default([]),\n});\n\nexport interface BuildPhaseStats {\n buildPhase: BuildPhase;\n result: BuildPhaseResult;\n durationMs: number;\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport { BuildPhase, BuildPhaseResult } from './logs';\n\nexport enum BuildMode {\n BUILD = 'build',\n RESIGN = 'resign',\n CUSTOM = 'custom',\n}\n\nexport enum Workflow {\n GENERIC = 'generic',\n MANAGED = 'managed',\n UNKNOWN = 'unknown',\n}\n\nexport enum Platform {\n ANDROID = 'android',\n IOS = 'ios',\n}\n\nexport enum ArchiveSourceType {\n NONE = 'NONE',\n S3 = 'S3',\n URL = 'URL',\n PATH = 'PATH',\n GCS = 'GCS',\n GIT = 'GIT',\n}\n\nexport enum BuildTrigger {\n EAS_CLI = 'EAS_CLI',\n GIT_BASED_INTEGRATION = 'GIT_BASED_INTEGRATION',\n}\n\nexport type ArchiveSource =\n | { type: ArchiveSourceType.NONE }\n | { type: ArchiveSourceType.S3; bucketKey: string }\n | { type: ArchiveSourceType.GCS; bucketKey: string }\n | { type: ArchiveSourceType.URL; url: string }\n | { type: ArchiveSourceType.PATH; path: string }\n | {\n type: ArchiveSourceType.GIT;\n /**\n * Url that can be used to clone repository.\n * It should contain embedded credentials for private registries.\n */\n repositoryUrl: string;\n /**\n * Git commit hash, branch, or tag\n */\n gitRef: string;\n };\n\nexport const ArchiveSourceSchema = Joi.object<ArchiveSource>({\n type: Joi.string()\n .valid(...Object.values(ArchiveSourceType))\n .required(),\n})\n .when(Joi.object({ type: ArchiveSourceType.GCS }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GCS).required(),\n bucketKey: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.S3 }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.S3).required(),\n bucketKey: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.URL }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.URL).required(),\n url: Joi.string().uri().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.GIT }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GIT).required(),\n repositoryUrl: Joi.string().required(),\n gitRef: Joi.string().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.PATH }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.PATH).required(),\n path: Joi.string().required(),\n }),\n });\n\nexport type Env = Record<string, string>;\nexport const EnvSchema = Joi.object().pattern(Joi.string(), Joi.string());\n\nexport type EnvironmentSecret = {\n name: string;\n type: EnvironmentSecretType;\n value: string;\n};\nexport enum EnvironmentSecretType {\n STRING = 'string',\n FILE = 'file',\n}\nexport const EnvironmentSecretsSchema = Joi.array().items(\n Joi.object({\n name: Joi.string().required(),\n value: Joi.string().required(),\n type: Joi.string()\n .valid(...Object.values(EnvironmentSecretType))\n .required(),\n })\n);\n\nexport interface Cache {\n disabled: boolean;\n clear: boolean;\n key?: string;\n cacheDefaultPaths: boolean;\n customPaths: string[];\n}\n\nexport const CacheSchema = Joi.object({\n disabled: Joi.boolean().default(false),\n clear: Joi.boolean().default(false),\n key: Joi.string().allow('').max(128),\n cacheDefaultPaths: Joi.boolean().default(true),\n customPaths: Joi.array().items(Joi.string()).default([]),\n});\n\nexport interface BuildPhaseStats {\n buildPhase: BuildPhase;\n result: BuildPhaseResult;\n durationMs: number;\n}\n"]}
package/dist/ios.d.ts CHANGED
@@ -21,6 +21,11 @@ export interface BuilderEnvironment {
21
21
  cocoapods?: string;
22
22
  env?: Env;
23
23
  }
24
+ export interface BuildSecrets {
25
+ buildCredentials?: BuildCredentials;
26
+ environmentSecrets?: EnvironmentSecret[];
27
+ robotAccessToken?: string;
28
+ }
24
29
  export interface Job {
25
30
  mode: BuildMode;
26
31
  type: Workflow;
@@ -36,11 +41,7 @@ export interface Job {
36
41
  updates?: {
37
42
  channel?: string;
38
43
  };
39
- secrets: {
40
- buildCredentials?: BuildCredentials;
41
- environmentSecrets?: EnvironmentSecret[];
42
- robotAccessToken?: string;
43
- };
44
+ secrets?: BuildSecrets;
44
45
  builderEnvironment?: BuilderEnvironment;
45
46
  cache: Cache;
46
47
  developmentClient?: boolean;
@@ -61,6 +62,9 @@ export interface Job {
61
62
  buildConfiguration?: string;
62
63
  applicationArchivePath?: string;
63
64
  username?: string;
65
+ customBuildConfig?: {
66
+ path: string;
67
+ };
64
68
  experimental?: {
65
69
  prebuildCommand?: string;
66
70
  };
package/dist/ios.js CHANGED
@@ -24,33 +24,38 @@ const BuilderEnvironmentSchema = joi_1.default.object({
24
24
  cocoapods: joi_1.default.string(),
25
25
  env: common_1.EnvSchema,
26
26
  });
27
+ const SecretsSchema = joi_1.default.object({
28
+ buildCredentials: BuildCredentialsSchema,
29
+ environmentSecrets: common_1.EnvironmentSecretsSchema,
30
+ robotAccessToken: joi_1.default.string(),
31
+ });
27
32
  exports.JobSchema = joi_1.default.object({
28
33
  mode: joi_1.default.string()
29
34
  .valid(...Object.values(common_1.BuildMode))
30
35
  .default(common_1.BuildMode.BUILD),
31
36
  type: joi_1.default.when('mode', {
32
- is: joi_1.default.string().valid(common_1.BuildMode.BUILD),
33
- then: joi_1.default.string()
37
+ is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
38
+ then: joi_1.default.string().valid(common_1.Workflow.UNKNOWN).default(common_1.Workflow.UNKNOWN),
39
+ otherwise: joi_1.default.string()
34
40
  .valid(...Object.values(common_1.Workflow))
35
41
  .required(),
36
- otherwise: joi_1.default.string().valid(common_1.Workflow.UNKNOWN).default(common_1.Workflow.UNKNOWN),
37
42
  }),
38
43
  triggeredBy: joi_1.default.string()
39
44
  .valid(...Object.values(common_1.BuildTrigger))
40
45
  .default(common_1.BuildTrigger.EAS_CLI),
41
46
  projectArchive: common_1.ArchiveSourceSchema.required(),
42
47
  resign: joi_1.default.when('mode', {
43
- is: joi_1.default.string().valid(common_1.BuildMode.BUILD),
44
- then: joi_1.default.any().strip(),
45
- otherwise: joi_1.default.object({
48
+ is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
49
+ then: joi_1.default.object({
46
50
  applicationArchiveSource: common_1.ArchiveSourceSchema.required(),
47
51
  }).required(),
52
+ otherwise: joi_1.default.any().strip(),
48
53
  }),
49
54
  platform: joi_1.default.string().valid(common_1.Platform.IOS).required(),
50
55
  projectRootDirectory: joi_1.default.when('mode', {
51
- is: joi_1.default.string().valid(common_1.BuildMode.BUILD),
52
- then: joi_1.default.string().required(),
53
- otherwise: joi_1.default.any().strip(),
56
+ is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
57
+ then: joi_1.default.any().strip(),
58
+ otherwise: joi_1.default.string().required(),
54
59
  }),
55
60
  buildProfile: joi_1.default.when('mode', {
56
61
  is: joi_1.default.string().valid(common_1.BuildMode.BUILD),
@@ -65,11 +70,11 @@ exports.JobSchema = joi_1.default.object({
65
70
  updates: joi_1.default.object({
66
71
  channel: joi_1.default.string(),
67
72
  }),
68
- secrets: joi_1.default.object({
69
- buildCredentials: BuildCredentialsSchema,
70
- environmentSecrets: common_1.EnvironmentSecretsSchema,
71
- robotAccessToken: joi_1.default.string(),
72
- }).required(),
73
+ secrets: joi_1.default.when('mode', {
74
+ is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
75
+ then: SecretsSchema,
76
+ otherwise: SecretsSchema.required(),
77
+ }),
73
78
  builderEnvironment: BuilderEnvironmentSchema,
74
79
  cache: common_1.CacheSchema.default(),
75
80
  developmentClient: joi_1.default.boolean(),
@@ -82,6 +87,13 @@ exports.JobSchema = joi_1.default.object({
82
87
  buildConfiguration: joi_1.default.string(),
83
88
  applicationArchivePath: joi_1.default.string(),
84
89
  username: joi_1.default.string(),
90
+ customBuildConfig: joi_1.default.when('mode', {
91
+ is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
92
+ then: joi_1.default.object({
93
+ path: joi_1.default.string(),
94
+ }).required(),
95
+ otherwise: joi_1.default.any().strip(),
96
+ }),
85
97
  experimental: joi_1.default.object({
86
98
  prebuildCommand: joi_1.default.string(),
87
99
  }),
package/dist/ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n} from './common';\n\nexport type DistributionType = 'store' | 'internal' | 'simulator';\n\nconst TargetCredentialsSchema = Joi.object().keys({\n provisioningProfileBase64: Joi.string().required(),\n distributionCertificate: Joi.object({\n dataBase64: Joi.string().required(),\n password: Joi.string().allow('').required(),\n }).required(),\n});\n\nexport interface TargetCredentials {\n provisioningProfileBase64: string;\n distributionCertificate: DistributionCertificate;\n}\n\nconst BuildCredentialsSchema = Joi.object().pattern(\n Joi.string().required(),\n TargetCredentialsSchema\n);\n\ntype Target = string;\nexport type BuildCredentials = Record<Target, TargetCredentials>;\n\nexport interface DistributionCertificate {\n dataBase64: string;\n password: string;\n}\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n yarn?: string;\n expoCli?: string;\n bundler?: string;\n fastlane?: string;\n cocoapods?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n bundler: Joi.string(),\n fastlane: Joi.string(),\n cocoapods: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n resign?: {\n applicationArchiveSource: ArchiveSource;\n };\n platform: Platform.IOS;\n projectRootDirectory?: string;\n buildProfile?: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: BuildCredentials;\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n };\n builderEnvironment?: BuilderEnvironment;\n cache: Cache;\n developmentClient?: boolean;\n simulator?: boolean;\n version?: {\n buildNumber?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n appVersion?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n scheme?: string;\n buildConfiguration?: string;\n applicationArchivePath?: string;\n\n username?: string;\n\n experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n mode: Joi.string()\n .valid(...Object.values(BuildMode))\n .default(BuildMode.BUILD),\n type: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n otherwise: Joi.string().valid(Workflow.UNKNOWN).default(Workflow.UNKNOWN),\n }),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n resign: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.any().strip(),\n otherwise: Joi.object({\n applicationArchiveSource: ArchiveSourceSchema.required(),\n }).required(),\n }),\n platform: Joi.string().valid(Platform.IOS).required(),\n projectRootDirectory: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.string().required(),\n otherwise: Joi.any().strip(),\n }),\n buildProfile: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.when('triggeredBy', {\n is: Joi.string().valid(BuildTrigger.GIT_BASED_INTEGRATION),\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n otherwise: Joi.string(),\n }),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: BuildCredentialsSchema,\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n }).required(),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n simulator: Joi.boolean(),\n version: Joi.object({\n buildNumber: Joi.string(),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n scheme: Joi.string(),\n buildConfiguration: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n username: Joi.string(),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n} from './common';\n\nexport type DistributionType = 'store' | 'internal' | 'simulator';\n\nconst TargetCredentialsSchema = Joi.object().keys({\n provisioningProfileBase64: Joi.string().required(),\n distributionCertificate: Joi.object({\n dataBase64: Joi.string().required(),\n password: Joi.string().allow('').required(),\n }).required(),\n});\n\nexport interface TargetCredentials {\n provisioningProfileBase64: string;\n distributionCertificate: DistributionCertificate;\n}\n\nconst BuildCredentialsSchema = Joi.object().pattern(\n Joi.string().required(),\n TargetCredentialsSchema\n);\n\ntype Target = string;\nexport type BuildCredentials = Record<Target, TargetCredentials>;\n\nexport interface DistributionCertificate {\n dataBase64: string;\n password: string;\n}\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n yarn?: string;\n expoCli?: string;\n bundler?: string;\n fastlane?: string;\n cocoapods?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n bundler: Joi.string(),\n fastlane: Joi.string(),\n cocoapods: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface BuildSecrets {\n buildCredentials?: BuildCredentials;\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n}\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n resign?: {\n applicationArchiveSource: ArchiveSource;\n };\n platform: Platform.IOS;\n projectRootDirectory?: string;\n buildProfile?: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets?: BuildSecrets;\n builderEnvironment?: BuilderEnvironment;\n cache: Cache;\n developmentClient?: boolean;\n simulator?: boolean;\n version?: {\n buildNumber?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n appVersion?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n scheme?: string;\n buildConfiguration?: string;\n applicationArchivePath?: string;\n\n username?: string;\n\n customBuildConfig?: {\n path: string;\n };\n\n experimental?: {\n prebuildCommand?: string;\n };\n}\n\nconst SecretsSchema = Joi.object({\n buildCredentials: BuildCredentialsSchema,\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n});\n\nexport const JobSchema = Joi.object({\n mode: Joi.string()\n .valid(...Object.values(BuildMode))\n .default(BuildMode.BUILD),\n type: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.string().valid(Workflow.UNKNOWN).default(Workflow.UNKNOWN),\n otherwise: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n }),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n resign: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.object({\n applicationArchiveSource: ArchiveSourceSchema.required(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n platform: Joi.string().valid(Platform.IOS).required(),\n projectRootDirectory: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.any().strip(),\n otherwise: Joi.string().required(),\n }),\n buildProfile: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.when('triggeredBy', {\n is: Joi.string().valid(BuildTrigger.GIT_BASED_INTEGRATION),\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n otherwise: Joi.string(),\n }),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: SecretsSchema,\n otherwise: SecretsSchema.required(),\n }),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n simulator: Joi.boolean(),\n version: Joi.object({\n buildNumber: Joi.string(),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n scheme: Joi.string(),\n buildConfiguration: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n username: Joi.string(),\n\n customBuildConfig: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: Joi.object({\n path: Joi.string(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
package/dist/logs.d.ts CHANGED
@@ -38,7 +38,8 @@ export declare enum BuildPhase {
38
38
  ON_BUILD_SUCCESS_HOOK = "ON_BUILD_SUCCESS_HOOK",
39
39
  ON_BUILD_ERROR_HOOK = "ON_BUILD_ERROR_HOOK",
40
40
  ON_BUILD_COMPLETE_HOOK = "ON_BUILD_COMPLETE_HOOK",
41
- DOWNLOAD_APPLICATION_ARCHIVE = "DOWNLOAD_APPLICATION_ARCHIVE"
41
+ DOWNLOAD_APPLICATION_ARCHIVE = "DOWNLOAD_APPLICATION_ARCHIVE",
42
+ CUSTOM = "CUSTOM"
42
43
  }
43
44
  export declare enum BuildPhaseResult {
44
45
  SUCCESS = "success",
package/dist/logs.js CHANGED
@@ -47,6 +47,8 @@ var BuildPhase;
47
47
  BuildPhase["ON_BUILD_COMPLETE_HOOK"] = "ON_BUILD_COMPLETE_HOOK";
48
48
  // RESIGN
49
49
  BuildPhase["DOWNLOAD_APPLICATION_ARCHIVE"] = "DOWNLOAD_APPLICATION_ARCHIVE";
50
+ // CUSTOM BUILDS
51
+ BuildPhase["CUSTOM"] = "CUSTOM";
50
52
  })(BuildPhase = exports.BuildPhase || (exports.BuildPhase = {}));
51
53
  var BuildPhaseResult;
52
54
  (function (BuildPhaseResult) {
package/dist/logs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAiDX;AAjDD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iDAAmC,CAAA;IACnC,2CAA6B,CAAA;IAC7B,iDAAmC,CAAA;IACnC,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,mEAAqD,CAAA;IACrD,yCAA2B,CAAA;IAC3B,2DAA6C,CAAA;IAC7C,iDAAmC,CAAA;IACnC,6CAA+B,CAAA;IAC/B,2DAA6C,CAAA;IAC7C,uDAAyC,CAAA;IACzC,mCAAqB,CAAA;IACrB,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IACjD,uCAAyB,CAAA;IACzB;;OAEG;IACH,mDAAqC,CAAA;IACrC,uEAAyD,CAAA;IACzD,+DAAiD,CAAA;IACjD,qDAAuC,CAAA;IACvC,2DAA6C,CAAA;IAC7C,+CAAiC,CAAA;IACjC,uCAAyB,CAAA;IAEzB,UAAU;IACV,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAE3B,MAAM;IACN,2CAA6B,CAAA;IAC7B,iEAAmD,CAAA;IACnD,2CAA6B,CAAA;IAE7B,QAAQ;IACR,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,qEAAuD,CAAA;IACvD,6DAA+C,CAAA;IAC/C,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IAEjD,SAAS;IACT,2EAA6D,CAAA;AAC/D,CAAC,EAjDW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAiDrB;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACrB,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;AACzB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB","sourcesContent":["export enum BuildPhase {\n UNKNOWN = 'UNKNOWN',\n QUEUE = 'QUEUE',\n SPIN_UP_BUILDER = 'SPIN_UP_BUILDER',\n BUILDER_INFO = 'BUILDER_INFO',\n READ_APP_CONFIG = 'READ_APP_CONFIG',\n READ_PACKAGE_JSON = 'READ_PACKAGE_JSON',\n RUN_EXPO_DOCTOR = 'RUN_EXPO_DOCTOR',\n SET_UP_BUILD_ENVIRONMENT = 'SET_UP_BUILD_ENVIRONMENT',\n START_BUILD = 'START_BUILD',\n INSTALL_CUSTOM_TOOLS = 'INSTALL_CUSTOM_TOOLS',\n PREPARE_PROJECT = 'PREPARE_PROJECT',\n RESTORE_CACHE = 'RESTORE_CACHE',\n INSTALL_DEPENDENCIES = 'INSTALL_DEPENDENCIES',\n EAS_BUILD_INTERNAL = 'EAS_BUILD_INTERNAL',\n PREBUILD = 'PREBUILD',\n PREPARE_CREDENTIALS = 'PREPARE_CREDENTIALS',\n CONFIGURE_EXPO_UPDATES = 'CONFIGURE_EXPO_UPDATES',\n SAVE_CACHE = 'SAVE_CACHE',\n /**\n * @deprecated\n */\n UPLOAD_ARTIFACTS = 'UPLOAD_ARTIFACTS',\n UPLOAD_APPLICATION_ARCHIVE = 'UPLOAD_APPLICATION_ARCHIVE',\n UPLOAD_BUILD_ARTIFACTS = 'UPLOAD_BUILD_ARTIFACTS',\n PREPARE_ARTIFACTS = 'PREPARE_ARTIFACTS',\n CLEAN_UP_CREDENTIALS = 'CLEAN_UP_CREDENTIALS',\n COMPLETE_BUILD = 'COMPLETE_BUILD',\n FAIL_BUILD = 'FAIL_BUILD',\n\n // ANDROID\n FIX_GRADLEW = 'FIX_GRADLEW',\n RUN_GRADLEW = 'RUN_GRADLEW',\n\n // IOS\n INSTALL_PODS = 'INSTALL_PODS',\n CONFIGURE_XCODE_PROJECT = 'CONFIGURE_XCODE_PROJECT',\n RUN_FASTLANE = 'RUN_FASTLANE',\n\n // HOOKS\n PRE_INSTALL_HOOK = 'PRE_INSTALL_HOOK',\n POST_INSTALL_HOOK = 'POST_INSTALL_HOOK',\n PRE_UPLOAD_ARTIFACTS_HOOK = 'PRE_UPLOAD_ARTIFACTS_HOOK',\n ON_BUILD_SUCCESS_HOOK = 'ON_BUILD_SUCCESS_HOOK',\n ON_BUILD_ERROR_HOOK = 'ON_BUILD_ERROR_HOOK',\n ON_BUILD_COMPLETE_HOOK = 'ON_BUILD_COMPLETE_HOOK',\n\n // RESIGN\n DOWNLOAD_APPLICATION_ARCHIVE = 'DOWNLOAD_APPLICATION_ARCHIVE',\n}\n\nexport enum BuildPhaseResult {\n SUCCESS = 'success',\n FAIL = 'failed',\n WARNING = 'warning',\n SKIPPED = 'skipped',\n UNKNOWN = 'unknown',\n}\n\nexport enum LogMarker {\n START_PHASE = 'START_PHASE',\n END_PHASE = 'END_PHASE',\n}\n"]}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAoDX;AApDD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iDAAmC,CAAA;IACnC,2CAA6B,CAAA;IAC7B,iDAAmC,CAAA;IACnC,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,mEAAqD,CAAA;IACrD,yCAA2B,CAAA;IAC3B,2DAA6C,CAAA;IAC7C,iDAAmC,CAAA;IACnC,6CAA+B,CAAA;IAC/B,2DAA6C,CAAA;IAC7C,uDAAyC,CAAA;IACzC,mCAAqB,CAAA;IACrB,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IACjD,uCAAyB,CAAA;IACzB;;OAEG;IACH,mDAAqC,CAAA;IACrC,uEAAyD,CAAA;IACzD,+DAAiD,CAAA;IACjD,qDAAuC,CAAA;IACvC,2DAA6C,CAAA;IAC7C,+CAAiC,CAAA;IACjC,uCAAyB,CAAA;IAEzB,UAAU;IACV,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAE3B,MAAM;IACN,2CAA6B,CAAA;IAC7B,iEAAmD,CAAA;IACnD,2CAA6B,CAAA;IAE7B,QAAQ;IACR,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,qEAAuD,CAAA;IACvD,6DAA+C,CAAA;IAC/C,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IAEjD,SAAS;IACT,2EAA6D,CAAA;IAE7D,gBAAgB;IAChB,+BAAiB,CAAA;AACnB,CAAC,EApDW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAoDrB;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACrB,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;AACzB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB","sourcesContent":["export enum BuildPhase {\n UNKNOWN = 'UNKNOWN',\n QUEUE = 'QUEUE',\n SPIN_UP_BUILDER = 'SPIN_UP_BUILDER',\n BUILDER_INFO = 'BUILDER_INFO',\n READ_APP_CONFIG = 'READ_APP_CONFIG',\n READ_PACKAGE_JSON = 'READ_PACKAGE_JSON',\n RUN_EXPO_DOCTOR = 'RUN_EXPO_DOCTOR',\n SET_UP_BUILD_ENVIRONMENT = 'SET_UP_BUILD_ENVIRONMENT',\n START_BUILD = 'START_BUILD',\n INSTALL_CUSTOM_TOOLS = 'INSTALL_CUSTOM_TOOLS',\n PREPARE_PROJECT = 'PREPARE_PROJECT',\n RESTORE_CACHE = 'RESTORE_CACHE',\n INSTALL_DEPENDENCIES = 'INSTALL_DEPENDENCIES',\n EAS_BUILD_INTERNAL = 'EAS_BUILD_INTERNAL',\n PREBUILD = 'PREBUILD',\n PREPARE_CREDENTIALS = 'PREPARE_CREDENTIALS',\n CONFIGURE_EXPO_UPDATES = 'CONFIGURE_EXPO_UPDATES',\n SAVE_CACHE = 'SAVE_CACHE',\n /**\n * @deprecated\n */\n UPLOAD_ARTIFACTS = 'UPLOAD_ARTIFACTS',\n UPLOAD_APPLICATION_ARCHIVE = 'UPLOAD_APPLICATION_ARCHIVE',\n UPLOAD_BUILD_ARTIFACTS = 'UPLOAD_BUILD_ARTIFACTS',\n PREPARE_ARTIFACTS = 'PREPARE_ARTIFACTS',\n CLEAN_UP_CREDENTIALS = 'CLEAN_UP_CREDENTIALS',\n COMPLETE_BUILD = 'COMPLETE_BUILD',\n FAIL_BUILD = 'FAIL_BUILD',\n\n // ANDROID\n FIX_GRADLEW = 'FIX_GRADLEW',\n RUN_GRADLEW = 'RUN_GRADLEW',\n\n // IOS\n INSTALL_PODS = 'INSTALL_PODS',\n CONFIGURE_XCODE_PROJECT = 'CONFIGURE_XCODE_PROJECT',\n RUN_FASTLANE = 'RUN_FASTLANE',\n\n // HOOKS\n PRE_INSTALL_HOOK = 'PRE_INSTALL_HOOK',\n POST_INSTALL_HOOK = 'POST_INSTALL_HOOK',\n PRE_UPLOAD_ARTIFACTS_HOOK = 'PRE_UPLOAD_ARTIFACTS_HOOK',\n ON_BUILD_SUCCESS_HOOK = 'ON_BUILD_SUCCESS_HOOK',\n ON_BUILD_ERROR_HOOK = 'ON_BUILD_ERROR_HOOK',\n ON_BUILD_COMPLETE_HOOK = 'ON_BUILD_COMPLETE_HOOK',\n\n // RESIGN\n DOWNLOAD_APPLICATION_ARCHIVE = 'DOWNLOAD_APPLICATION_ARCHIVE',\n\n // CUSTOM BUILDS\n CUSTOM = 'CUSTOM',\n}\n\nexport enum BuildPhaseResult {\n SUCCESS = 'success',\n FAIL = 'failed',\n WARNING = 'warning',\n SKIPPED = 'skipped',\n UNKNOWN = 'unknown',\n}\n\nexport enum LogMarker {\n START_PHASE = 'START_PHASE',\n END_PHASE = 'END_PHASE',\n}\n"]}
@@ -113,7 +113,7 @@ export type Metadata = {
113
113
  /**
114
114
  * Build mode
115
115
  */
116
- buildMode?: 'build' | 'resign';
116
+ buildMode?: 'build' | 'resign' | 'custom';
117
117
  };
118
118
  export declare const MetadataSchema: Joi.ObjectSchema<any>;
119
119
  export declare function sanitizeMetadata(metadata: object): Metadata;
package/dist/metadata.js CHANGED
@@ -31,7 +31,7 @@ exports.MetadataSchema = joi_1.default.object({
31
31
  message: joi_1.default.string().max(1024),
32
32
  runFromCI: joi_1.default.boolean(),
33
33
  runWithNoWaitFlag: joi_1.default.boolean(),
34
- buildMode: joi_1.default.string().valid('build', 'resign'),
34
+ buildMode: joi_1.default.string().valid('build', 'resign', 'custom'),
35
35
  });
36
36
  function sanitizeMetadata(metadata) {
37
37
  const { value, error } = exports.MetadataSchema.validate(metadata, {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AA+IT,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAClE,QAAQ,EAAE;IACb,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;IAClE,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;IACxD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE;IAC5C,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,qBAAqB,EAAE,aAAG,CAAC,OAAO,EAAE;IACpC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE;IACtB,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;IACnE,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B,SAAS,EAAE,aAAG,CAAC,OAAO,EAAE;IACxB,iBAAiB,EAAE,aAAG,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;CACjD,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACzD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE;QACT,MAAM,KAAK,CAAC;KACb;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAXD,4CAWC","sourcesContent":["import Joi from 'joi';\n\nimport { Workflow } from './common';\n\nexport type Metadata = {\n /**\n * Tracking context\n * It's used to track build process across different Expo services and tools.\n */\n trackingContext: Record<string, string | number | boolean>;\n\n /**\n * Application version:\n * - managed projects: expo.version in app.json/app.config.js\n * - generic projects:\n * * iOS: CFBundleShortVersionString in Info.plist\n * * Android: versionName in build.gradle\n */\n appVersion?: string;\n\n /**\n * Application build version:\n * - Android: version code\n * - iOS: build number\n */\n appBuildVersion?: string;\n\n /**\n * EAS CLI version\n */\n cliVersion?: string;\n\n /**\n * Build workflow\n * It's either 'generic' or 'managed'\n */\n workflow?: Workflow;\n\n /**\n * Credentials source\n * Credentials could be obtained either from credential.json or EAS servers.\n */\n credentialsSource?: 'local' | 'remote';\n\n /**\n * Expo SDK version\n * It's determined by the expo package version in package.json.\n * It's undefined if the expo package is not installed for the project.\n */\n sdkVersion?: string;\n\n /**\n * Runtime version (for Expo Updates)\n */\n runtimeVersion?: string;\n\n /**\n * Release channel (for classic expo-updates)\n * It's undefined if the classic expo-updates package is not installed for the project.\n */\n releaseChannel?: string;\n\n /**\n * Version of the react-native package used in the project.\n */\n reactNativeVersion?: string;\n\n /**\n * Channel (for Expo Updates when it is configured for for use with EAS)\n * It's undefined if the expo-updates package is not configured for use with EAS.\n */\n channel?: string;\n\n /**\n * Distribution type\n * Indicates whether this is a build for store, internal distribution, or simulator (iOS).\n */\n distribution?: 'store' | 'internal' | 'simulator';\n\n /**\n * App name (expo.name in app.json/app.config.js)\n */\n appName?: string;\n\n /**\n * App identifier:\n * - iOS builds: the bundle identifier (expo.ios.bundleIdentifier in app.json/app.config.js)\n * - Android builds: the application id (expo.android.package in app.json/app.config.js)\n */\n appIdentifier?: string;\n\n /**\n * Build profile name (e.g. release)\n */\n buildProfile?: string;\n\n /**\n * Git commit hash (e.g. aab03fbdabb6e536ea78b28df91575ad488f5f21)\n */\n gitCommitHash?: string;\n\n /**\n * Git commit message\n */\n gitCommitMessage?: string;\n\n /**\n * State of the git working tree\n */\n isGitWorkingTreeDirty?: boolean;\n\n /**\n * Username of the initiating user\n */\n username?: string;\n\n /**\n * Indicates what type of an enterprise provisioning profile was used to build the app.\n * It's either adhoc or universal\n */\n iosEnterpriseProvisioning?: 'adhoc' | 'universal';\n\n /**\n * Message attached to the build.\n */\n message?: string;\n\n /**\n * Indicates whether the build was run from CI.\n */\n runFromCI?: boolean;\n\n /**\n * Indicates whether the build was run with --no-wait flag.\n */\n runWithNoWaitFlag?: boolean;\n\n /**\n * Build mode\n */\n buildMode?: 'build' | 'resign';\n};\n\nexport const MetadataSchema = Joi.object({\n trackingContext: Joi.object()\n .pattern(Joi.string(), [Joi.string(), Joi.number(), Joi.boolean()])\n .required(),\n appVersion: Joi.string(),\n appBuildVersion: Joi.string(),\n cliVersion: Joi.string(),\n workflow: Joi.string().valid('generic', 'managed'),\n distribution: Joi.string().valid('store', 'internal', 'simulator'),\n credentialsSource: Joi.string().valid('local', 'remote'),\n sdkVersion: Joi.string(),\n runtimeVersion: Joi.string(),\n reactNativeVersion: Joi.string(),\n releaseChannel: Joi.string(),\n channel: Joi.string(),\n appName: Joi.string(),\n appIdentifier: Joi.string(),\n buildProfile: Joi.string(),\n gitCommitHash: Joi.string().length(40).hex(),\n gitCommitMessage: Joi.string().max(4096),\n isGitWorkingTreeDirty: Joi.boolean(),\n username: Joi.string(),\n iosEnterpriseProvisioning: Joi.string().valid('adhoc', 'universal'),\n message: Joi.string().max(1024),\n runFromCI: Joi.boolean(),\n runWithNoWaitFlag: Joi.boolean(),\n buildMode: Joi.string().valid('build', 'resign'),\n});\n\nexport function sanitizeMetadata(metadata: object): Metadata {\n const { value, error } = MetadataSchema.validate(metadata, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n } else {\n return value;\n }\n}\n"]}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AA+IT,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAClE,QAAQ,EAAE;IACb,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;IAClE,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;IACxD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE;IAC5C,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,qBAAqB,EAAE,aAAG,CAAC,OAAO,EAAE;IACpC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE;IACtB,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;IACnE,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B,SAAS,EAAE,aAAG,CAAC,OAAO,EAAE;IACxB,iBAAiB,EAAE,aAAG,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC3D,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACzD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE;QACT,MAAM,KAAK,CAAC;KACb;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAXD,4CAWC","sourcesContent":["import Joi from 'joi';\n\nimport { Workflow } from './common';\n\nexport type Metadata = {\n /**\n * Tracking context\n * It's used to track build process across different Expo services and tools.\n */\n trackingContext: Record<string, string | number | boolean>;\n\n /**\n * Application version:\n * - managed projects: expo.version in app.json/app.config.js\n * - generic projects:\n * * iOS: CFBundleShortVersionString in Info.plist\n * * Android: versionName in build.gradle\n */\n appVersion?: string;\n\n /**\n * Application build version:\n * - Android: version code\n * - iOS: build number\n */\n appBuildVersion?: string;\n\n /**\n * EAS CLI version\n */\n cliVersion?: string;\n\n /**\n * Build workflow\n * It's either 'generic' or 'managed'\n */\n workflow?: Workflow;\n\n /**\n * Credentials source\n * Credentials could be obtained either from credential.json or EAS servers.\n */\n credentialsSource?: 'local' | 'remote';\n\n /**\n * Expo SDK version\n * It's determined by the expo package version in package.json.\n * It's undefined if the expo package is not installed for the project.\n */\n sdkVersion?: string;\n\n /**\n * Runtime version (for Expo Updates)\n */\n runtimeVersion?: string;\n\n /**\n * Release channel (for classic expo-updates)\n * It's undefined if the classic expo-updates package is not installed for the project.\n */\n releaseChannel?: string;\n\n /**\n * Version of the react-native package used in the project.\n */\n reactNativeVersion?: string;\n\n /**\n * Channel (for Expo Updates when it is configured for for use with EAS)\n * It's undefined if the expo-updates package is not configured for use with EAS.\n */\n channel?: string;\n\n /**\n * Distribution type\n * Indicates whether this is a build for store, internal distribution, or simulator (iOS).\n */\n distribution?: 'store' | 'internal' | 'simulator';\n\n /**\n * App name (expo.name in app.json/app.config.js)\n */\n appName?: string;\n\n /**\n * App identifier:\n * - iOS builds: the bundle identifier (expo.ios.bundleIdentifier in app.json/app.config.js)\n * - Android builds: the application id (expo.android.package in app.json/app.config.js)\n */\n appIdentifier?: string;\n\n /**\n * Build profile name (e.g. release)\n */\n buildProfile?: string;\n\n /**\n * Git commit hash (e.g. aab03fbdabb6e536ea78b28df91575ad488f5f21)\n */\n gitCommitHash?: string;\n\n /**\n * Git commit message\n */\n gitCommitMessage?: string;\n\n /**\n * State of the git working tree\n */\n isGitWorkingTreeDirty?: boolean;\n\n /**\n * Username of the initiating user\n */\n username?: string;\n\n /**\n * Indicates what type of an enterprise provisioning profile was used to build the app.\n * It's either adhoc or universal\n */\n iosEnterpriseProvisioning?: 'adhoc' | 'universal';\n\n /**\n * Message attached to the build.\n */\n message?: string;\n\n /**\n * Indicates whether the build was run from CI.\n */\n runFromCI?: boolean;\n\n /**\n * Indicates whether the build was run with --no-wait flag.\n */\n runWithNoWaitFlag?: boolean;\n\n /**\n * Build mode\n */\n buildMode?: 'build' | 'resign' | 'custom';\n};\n\nexport const MetadataSchema = Joi.object({\n trackingContext: Joi.object()\n .pattern(Joi.string(), [Joi.string(), Joi.number(), Joi.boolean()])\n .required(),\n appVersion: Joi.string(),\n appBuildVersion: Joi.string(),\n cliVersion: Joi.string(),\n workflow: Joi.string().valid('generic', 'managed'),\n distribution: Joi.string().valid('store', 'internal', 'simulator'),\n credentialsSource: Joi.string().valid('local', 'remote'),\n sdkVersion: Joi.string(),\n runtimeVersion: Joi.string(),\n reactNativeVersion: Joi.string(),\n releaseChannel: Joi.string(),\n channel: Joi.string(),\n appName: Joi.string(),\n appIdentifier: Joi.string(),\n buildProfile: Joi.string(),\n gitCommitHash: Joi.string().length(40).hex(),\n gitCommitMessage: Joi.string().max(4096),\n isGitWorkingTreeDirty: Joi.boolean(),\n username: Joi.string(),\n iosEnterpriseProvisioning: Joi.string().valid('adhoc', 'universal'),\n message: Joi.string().max(1024),\n runFromCI: Joi.boolean(),\n runWithNoWaitFlag: Joi.boolean(),\n buildMode: Joi.string().valid('build', 'resign', 'custom'),\n});\n\nexport function sanitizeMetadata(metadata: object): Metadata {\n const { value, error } = MetadataSchema.validate(metadata, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n } else {\n return value;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/eas-build-job",
3
- "version": "0.2.104",
3
+ "version": "0.2.106",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -19,11 +19,11 @@
19
19
  "bugs": "https://github.com/expo/eas-build/issues",
20
20
  "license": "MIT",
21
21
  "devDependencies": {
22
- "@types/jest": "^29.2.6",
22
+ "@types/jest": "^29.4.0",
23
23
  "@types/node": "^18.11.18",
24
- "jest": "^29.4.0",
24
+ "jest": "^29.4.1",
25
25
  "ts-jest": "^29.0.5",
26
- "typescript": "^4.9.4"
26
+ "typescript": "^4.9.5"
27
27
  },
28
28
  "dependencies": {
29
29
  "joi": "^17.7.0",