From 0bcaf9b86d7b0e1f33024ab6d3af25f92628a960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Fri, 23 Feb 2024 17:16:04 +0100 Subject: [PATCH 1/3] Add `config` property to `eas.schema.json` --- packages/eas-json/schema/eas.schema.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/eas-json/schema/eas.schema.json b/packages/eas-json/schema/eas.schema.json index 46be9f13db..a66a8cc587 100644 --- a/packages/eas-json/schema/eas.schema.json +++ b/packages/eas-json/schema/eas.schema.json @@ -210,6 +210,10 @@ } ] }, + "config": { + "description": "Custom workflow file name that will be used to run this build. You can also specify this property on platform level for platform-specific workflows. Learn more: https://docs.expo.dev/custom-builds/get-started/", + "type": "string" + }, "android": { "$ref": "#/definitions/BuildProfileAndroid" }, @@ -311,6 +315,10 @@ "description": "[DEPRECATED] Use `applicationArchivePath` instead. Path (or pattern) where EAS Build is going to look for the build artifacts. See: https://github.com/mrmlnc/fast-glob#pattern-syntax", "markdownDescription": "[DEPRECATED] Use `applicationArchivePath` instead. Path (or pattern) where EAS Build is going to look for the build artifacts. EAS Build uses the `fast-glob` npm package for pattern matching ([see their README to learn more about the syntax you can use](https://github.com/mrmlnc/fast-glob#pattern-syntax)).", "default": "android/app/build/outputs/**/*.{apk,aab}" + }, + "config": { + "description": "Custom workflow file name that will be used to run this Android build. You can also specify this property on profile levle for platform-agnostic workflows. Learn more: https://docs.expo.dev/custom-builds/get-started/", + "type": "string" } } }, @@ -433,6 +441,10 @@ "type": "string", "description": "[DEPRECATED] Use `applicationArchivePath` instead. Path (or pattern) where EAS Build is going to look for the build artifacts. See: https://github.com/mrmlnc/fast-glob#pattern-syntax", "markdownDescription": "[DEPRECATED] Use `applicationArchivePath` instead. Path (or pattern) where EAS Build is going to look for the build artifacts.\n\nEAS Build uses the `fast-glob` npm package for pattern matching, ([See their README to learn more about the syntax you can use](https://github.com/mrmlnc/fast-glob#pattern-syntax)).\n\nYou should modify that path only if you are using a custom `Gymfile`.\n\nThe default is `ios/build/Build/Products/*-iphonesimulator/*.app` when building for simulator and `ios/build/*.ipa` in other cases." + }, + "config": { + "description": "Custom workflow file name that will be used to run this iOS build. You can also specify this property on profile levle for platform-agnostic workflows. Learn more: https://docs.expo.dev/custom-builds/get-started/", + "type": "string" } } }, From b7df9449a0240d9e611f3bf32f108c6937fac580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Fri, 23 Feb 2024 17:17:13 +0100 Subject: [PATCH 2/3] Format file --- packages/eas-json/schema/eas.schema.json | 76 ++++++++++++++++++++---- 1 file changed, 63 insertions(+), 13 deletions(-) diff --git a/packages/eas-json/schema/eas.schema.json b/packages/eas-json/schema/eas.schema.json index a66a8cc587..a6c52b83f5 100644 --- a/packages/eas-json/schema/eas.schema.json +++ b/packages/eas-json/schema/eas.schema.json @@ -24,14 +24,19 @@ "version": { "type": "string", "description": "The compatible versions of EAS CLI with this config", - "examples": [">=0.54.1"] + "examples": [ + ">=0.54.1" + ] }, "requireCommit": { "type": "boolean", "description": "If all changes required to be committed before building or submitting" }, "appVersionSource": { - "enum": ["local", "remote"], + "enum": [ + "local", + "remote" + ], "markdownDescription": "Version policy defines whether version of your app should be based on your local project or values stored on EAS servers (remote).\n\nThis is the configuration required for `eas build:version:set` and works with the `autoIncrement` options per platform.", "markdownEnumDescriptions": [ "When using local, the `autoIncrement` is based on your local project values.", @@ -102,7 +107,10 @@ "description": "The name of the build profile that the current one should inherit values from. This value can't be specified per platform." }, "credentialsSource": { - "enum": ["remote", "local"], + "enum": [ + "remote", + "local" + ], "description": "The source of credentials used to sign build artifacts. Learn more: https://docs.expo.dev/app-signing/local-credentials/", "markdownDescription": "The source of credentials used to sign build artifacts.\n\n- `remote` - if you want to use the credentials managed by EAS.\n- `local` - if you want to provide your own `credentials.json` file. [learn more](https://docs.expo.dev/app-signing/local-credentials/)", "default": "remote", @@ -124,7 +132,10 @@ "markdownDescription": "The channel is a name we can give to multiple builds to identify them easily. [Learn more](https://docs.expo.dev/eas-update/how-eas-update-works/)\n\n**This field only applies to the EAS Update service**, if your project still uses Classic Updates then use the [releaseChannel](https://docs.expo.dev/build-reference/eas-json/#releasechannel) field instead." }, "distribution": { - "enum": ["internal", "store"], + "enum": [ + "internal", + "store" + ], "description": "The method of distributing your app. Learn more: https://docs.expo.dev/build/internal-distribution/", "markdownDescription": "The method of distributing your app.\n\n- `internal` - with this option you'll be able to share your build URLs with anyone, and they will be able to install the builds to their devices straight from the Expo website. When using `internal`, make sure the build produces an APK or IPA file. Otherwise, the shareable URL will be useless. [Learn more](https://docs.expo.dev/build/internal-distribution/)\n- `store` - produces builds for store uploads, your build URLs won't be shareable.", "markdownEnumDescriptions": [ @@ -203,7 +214,11 @@ "default": "default", "anyOf": [ { - "enum": ["default", "medium", "large"] + "enum": [ + "default", + "medium", + "large" + ] }, { "type": "string" @@ -267,7 +282,11 @@ "default": "default", "anyOf": [ { - "enum": ["default", "medium", "large"] + "enum": [ + "default", + "medium", + "large" + ] }, { "type": "string" @@ -279,7 +298,12 @@ "description": "The version of Android NDK." }, "autoIncrement": { - "enum": [false, true, "versionCode", "version"], + "enum": [ + false, + true, + "versionCode", + "version" + ], "description": "Controls how EAS CLI bumps your application build version.", "markdownDescription": "Controls how EAS CLI bumps your application build version.\n\nAllowed values:\n- `\"version\"` - bumps the patch of `expo.version` (e.g. `1.2.3` -> `1.2.4`).\n- `\"versionCode\"` (or `true`) - bumps `expo.android.versionCode` (e.g. `3` -> `4`).\n- `false` - versions won't be bumped automatically (default)\n\nIn the case of a bare project, it also updates versions in native code. `expo.version` corresponds to `versionName` and `expo.android.versionCode` to `versionCode` in the `build.gradle`. Google Play uses these values to identify the app build, `versionName` is the version visible to users, whereas `versionCode` defines the version number. The combination of those needs to be unique, so you can bump either of them.\n\nThis feature is not intended for use with dynamic configuration (app.config.js). EAS CLI will throw an error if you don't use app.json.", "default": false, @@ -291,7 +315,10 @@ ] }, "buildType": { - "enum": ["app-bundle", "apk"], + "enum": [ + "app-bundle", + "apk" + ], "description": "Type of the artifact you want to build.", "markdownDescription": "Type of the artifact you want to build. It controls what Gradle task will be used, can be overridden by `gradleCommand` or `developmentClient: true` option.\n- `app-bundle` - `:app:bundleRelease`\n- `apk` - `:app:assembleRelease`", "markdownEnumDescriptions": [ @@ -338,14 +365,22 @@ "default": false }, "enterpriseProvisioning": { - "enum": ["universal", "adhoc"], + "enum": [ + "universal", + "adhoc" + ], "markdownDescription": "Provisioning method used for `\"distribution\": \"internal\"` when you have an Apple account with Apple Developer Enterprise Program membership.\n\nYou can choose if you want to use `adhoc` or `universal` provisioning. The latter is recommended as it does not require you to register each individual device. If you don't provide this option and you still authenticate with an enterprise team, you'll be prompted which provisioning method to use.", "markdownEnumDescriptions": [ "Recommended as it does not require you to register each individual device" ] }, "autoIncrement": { - "enum": [false, true, "buildNumber", "version"], + "enum": [ + false, + true, + "buildNumber", + "version" + ], "description": "Controls how EAS CLI bumps your application build version.", "markdownDescription": "Controls how EAS CLI bumps your application build version.\n\nAllowed values:\n\n- `\"version\"` - bumps the patch of `expo.version` (e.g. `1.2.3` -> `1.2.4`).\n- `\"buildNumber\"` (or `true`) - bumps the last component of `expo.ios.buildNumber` (e.g. `1.2.3.39` -> `1.2.3.40`).\n- `false` - versions won't be bumped automatically (default)\n\nIn the case of a bare project, it also updates versions in native code. `expo.version` corresponds to `CFBundleShortVersionString` and `expo.ios.buildNumber` to `CFBundleVersion` in the `Info.plist`. The App Store is using those values to identify the app build, `CFBundleShortVersionString` is the version visible to users, whereas `CFBundleVersion` defines the build number. The combination of those needs to be unique, so you can bump either of them.\n\nThis feature is not intended for use with dynamic configuration (app.config.js). EAS CLI will throw an error if you don't use app.json.", "default": false, @@ -400,7 +435,12 @@ "default": "default", "anyOf": [ { - "enum": ["default", "medium", "large", "m-medium"] + "enum": [ + "default", + "medium", + "large", + "m-medium" + ] }, { "type": "string" @@ -484,7 +524,12 @@ "markdownDescription": "Path to the JSON file with service account key used to authenticate with Google Play. [Learn more](https://expo.fyi/creating-google-service-account)" }, "track": { - "enum": ["beta", "alpha", "internal", "production"], + "enum": [ + "beta", + "alpha", + "internal", + "production" + ], "description": "The track of the application to use. Learn more: https://support.google.com/googleplay/android-developer/answer/9859348?hl=en", "markdownDescription": "The [track of the application](https://support.google.com/googleplay/android-developer/answer/9859348?hl=en) to use.", "markdownEnumDescriptions": [ @@ -495,7 +540,12 @@ ] }, "releaseStatus": { - "enum": ["draft", "inProgress", "halted", "completed"], + "enum": [ + "draft", + "inProgress", + "halted", + "completed" + ], "description": "The status of a release. Learn more: https://developers.google.com/android-publisher/api-ref/rest/v3/edits.tracks", "markdownDescription": "The status of a release. [Learn more](https://developers.google.com/android-publisher/api-ref/rest/v3/edits.tracks)", "enumDescriptions": [ From ddb869600fd3a37cd7cd2bb7cc974159595a49cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Fri, 23 Feb 2024 16:19:54 +0000 Subject: [PATCH 3/3] update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4607071e44..89ac6be9f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ This is the log of notable changes to EAS CLI and related packages. ### ๐Ÿ› Bug fixes - Fix expo-updates package version detection for canaries. ([#2243](https://github.com/expo/eas-cli/pull/2243) by [@wschurman](https://github.com/wschurman)) +- Add missing `config` property to `eas.json` schema. ([#2248](https://github.com/expo/eas-cli/pull/2248) by [@sjchmiela](https://github.com/sjchmiela)) ### ๐Ÿงน Chores