From 4b8a178100518ff097ec4ff19b59d2826fdee71d Mon Sep 17 00:00:00 2001 From: finalerock44 Date: Thu, 6 Aug 2026 15:22:28 +0100 Subject: [PATCH] feat(device): add Android API level 37 (Android 17) Adds 37 to EAndroidApiLevels; the --android-api-level flag description and cloud.ts validation both derive from the enum, so they pick it up for free. schema.types.ts regenerated from the API's swagger. Also corrects two stale runnerType notices that would now actively mislead: gpu1 claimed "API Level 34 or 35" (it has run 36 for a while and now 37), and m1 claimed "Pixel 7, API Level 34" when it runs the full device matrix at 34-36. m1 is capped at 36 API-side until the Mac fleet's AVDs are provisioned for 37. --- src/commands/cloud.ts | 4 ++-- src/types/domain/device.types.ts | 1 + src/types/generated/schema.types.ts | 37 ++++++++++------------------- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/commands/cloud.ts b/src/commands/cloud.ts index 52cefbb..632a2b2 100644 --- a/src/commands/cloud.ts +++ b/src/commands/cloud.ts @@ -416,7 +416,7 @@ export const cloudCommand = defineCommand({ if (runnerType === 'm1') { out( ui.info( - 'runnerType m1 is experimental and currently supports Android (Pixel 7, API Level 34) only.', + 'runnerType m1 is experimental and currently supports Android only (all devices, API level 34-36).', ), ); } @@ -424,7 +424,7 @@ export const cloudCommand = defineCommand({ if (runnerType === 'gpu1') { out( ui.info( - 'runnerType gpu1 is Android-only (all devices, API Level 34 or 35), available to all users.', + 'runnerType gpu1 is Android-only (all devices, API level 34+), available to all users.', ), ); } diff --git a/src/types/domain/device.types.ts b/src/types/domain/device.types.ts index 45e2632..4f1ce7d 100644 --- a/src/types/domain/device.types.ts +++ b/src/types/domain/device.types.ts @@ -35,6 +35,7 @@ export enum EAndroidApiLevels { 'thirtyFive' = '35', 'thirtyFour' = '34', 'thirtyOne' = '31', + 'thirtySeven' = '37', 'thirtySix' = '36', 'thirtyThree' = '33', 'thirtyTwo' = '32', diff --git a/src/types/generated/schema.types.ts b/src/types/generated/schema.types.ts index 1fd27da..574e604 100644 --- a/src/types/generated/schema.types.ts +++ b/src/types/generated/schema.types.ts @@ -1617,7 +1617,7 @@ export interface components { testFileNames?: string; sequentialFlows?: string; /** @enum {string} */ - androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36"; + androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37"; /** @enum {string} */ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet"; apiKey?: string; @@ -1657,7 +1657,7 @@ export interface components { testFileNames?: string; sequentialFlows?: string; /** @enum {string} */ - androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36"; + androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37"; /** @enum {string} */ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet"; apiKey?: string; @@ -1708,7 +1708,7 @@ export interface components { testFileNames?: string; sequentialFlows?: string; /** @enum {string} */ - androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36"; + androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37"; /** @enum {string} */ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet"; apiKey?: string; @@ -2997,7 +2997,8 @@ export interface operations { * "33", * "34", * "35", - * "36" + * "36", + * "37" * ], * "deprecated": false * }, @@ -3005,9 +3006,7 @@ export interface operations { * "name": "Pixel 6 Pro", * "apiLevels": [ * "33", - * "34", - * "35", - * "36" + * "35" * ], * "deprecated": false * }, @@ -3017,7 +3016,8 @@ export interface operations { * "33", * "34", * "35", - * "36" + * "36", + * "37" * ], * "deprecated": false * }, @@ -3027,37 +3027,24 @@ export interface operations { * "33", * "34", * "35", - * "36" + * "36", + * "37" * ], * "deprecated": false * }, * "generic-tablet": { * "name": "Generic Tablet", * "apiLevels": [ - * "33", - * "34", - * "35", - * "36" + * "33" * ], * "deprecated": false * } * }, * "androidPlay": { - * "pixel-6": { - * "name": "Pixel 6 (Google Play)", - * "apiLevels": [ - * "34", - * "35", - * "36" - * ], - * "deprecated": false - * }, * "pixel-7": { * "name": "Pixel 7 (Google Play)", * "apiLevels": [ - * "34", - * "35", - * "36" + * "34" * ], * "deprecated": false * }