diff --git a/maintenance/maintenance_test.go b/maintenance/maintenance_test.go index 3f7e17c..caa0e73 100644 --- a/maintenance/maintenance_test.go +++ b/maintenance/maintenance_test.go @@ -33,6 +33,7 @@ func TestDeviceList(t *testing.T) { func checkDeviceList() error { cmd := command.New("gcloud", "firebase", "test", "ios", "models", "list", "--format", "text") + out, err := cmd.RunAndReturnTrimmedCombinedOutput() if err != nil { return errors.Wrap(err, out) @@ -43,6 +44,7 @@ func checkDeviceList() error { } cmd = command.New("gcloud", "firebase", "test", "ios", "models", "list") + outFormatted, err := cmd.RunAndReturnTrimmedCombinedOutput() if err != nil { return errors.Wrap(err, out) @@ -76,9 +78,11 @@ func signIn() error { var servAcc struct { ProjectID string `json:"project_id"` } + if err := json.NewDecoder(strings.NewReader(servAccFileContent)).Decode(&servAcc); err != nil { return err } + if servAcc.ProjectID == "" { return fmt.Errorf("invalid service account json, no project_id found") } @@ -90,11 +94,13 @@ func signIn() error { "--project", servAcc.ProjectID) out, err := cmd.RunAndReturnTrimmedCombinedOutput() + return errors.Wrap(err, out) } func checkAccounts() (bool, error) { cmd := command.New("gcloud", "auth", "list", "--format", "json") + out, err := cmd.RunAndReturnTrimmedCombinedOutput() if err != nil { return false, err @@ -110,9 +116,9 @@ func checkAccounts() (bool, error) { const deviceList = `--- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -133,14 +139,17 @@ deviceCapabilities[20]: arkit formFactor: TABLET id: ipad5 name: iPad (5th generation) +screenDensity: 264 +screenX: 1536 +screenY: 2048 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 12.0 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -160,14 +169,17 @@ deviceCapabilities[19]: wifi formFactor: TABLET id: ipadmini4 name: iPad mini 4 +screenDensity: 326 +screenX: 1536 +screenY: 2048 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 12.0 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -189,13 +201,86 @@ deviceCapabilities[21]: camera-flash formFactor: TABLET id: ipadpro_105 name: iPad Pro (10.5-inch) +screenDensity: 264 +screenX: 1668 +screenY: 2224 supportedVersionIds[0]: 11.2 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 +deviceCapabilities[4]: auto-focus-camera +deviceCapabilities[5]: bluetooth-le +deviceCapabilities[6]: front-facing-camera +deviceCapabilities[7]: gamekit +deviceCapabilities[8]: gyroscope +deviceCapabilities[9]: location-services +deviceCapabilities[10]: magnetometer +deviceCapabilities[11]: metal +deviceCapabilities[12]: microphone +deviceCapabilities[13]: opengles-1 +deviceCapabilities[14]: opengles-2 +deviceCapabilities[15]: opengles-3 +deviceCapabilities[16]: peer-peer +deviceCapabilities[17]: still-camera +deviceCapabilities[18]: video-camera +deviceCapabilities[19]: wifi +deviceCapabilities[20]: arkit +deviceCapabilities[21]: camera-flash +deviceCapabilities[22]: gps +deviceCapabilities[23]: healthkit +deviceCapabilities[24]: nfc +deviceCapabilities[25]: sms +deviceCapabilities[26]: telephony +formFactor: PHONE +id: iphone11 +name: iPhone 11 +screenDensity: 326 +screenX: 828 +screenY: 1792 +supportedVersionIds[0]: 13.3 +--- +deviceCapabilities[0]: accelerometer +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 +deviceCapabilities[4]: auto-focus-camera +deviceCapabilities[5]: bluetooth-le +deviceCapabilities[6]: front-facing-camera +deviceCapabilities[7]: gamekit +deviceCapabilities[8]: gyroscope +deviceCapabilities[9]: location-services +deviceCapabilities[10]: magnetometer +deviceCapabilities[11]: metal +deviceCapabilities[12]: microphone +deviceCapabilities[13]: opengles-1 +deviceCapabilities[14]: opengles-2 +deviceCapabilities[15]: opengles-3 +deviceCapabilities[16]: peer-peer +deviceCapabilities[17]: still-camera +deviceCapabilities[18]: video-camera +deviceCapabilities[19]: wifi +deviceCapabilities[20]: arkit +deviceCapabilities[21]: camera-flash +deviceCapabilities[22]: gps +deviceCapabilities[23]: healthkit +deviceCapabilities[24]: nfc +deviceCapabilities[25]: sms +deviceCapabilities[26]: telephony +formFactor: PHONE +id: iphone11pro +name: iPhone 11 Pro +screenDensity: 458 +screenX: 1125 +screenY: 2436 +supportedVersionIds[0]: 13.3 +--- +deviceCapabilities[0]: accelerometer +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -220,13 +305,17 @@ deviceCapabilities[24]: telephony formFactor: PHONE id: iphone6 name: iPhone 6 +screenDensity: 326 +screenX: 750 +screenY: 1334 supportedVersionIds[0]: 11.4 +supportedVersionIds[1]: 12.2 tags[0]: deprecated=11.4 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -252,16 +341,20 @@ deviceCapabilities[25]: telephony formFactor: PHONE id: iphone6s name: iPhone 6s +screenDensity: 326 +screenX: 750 +screenY: 1334 supportedVersionIds[0]: 10.3 supportedVersionIds[1]: 11.2 supportedVersionIds[2]: 11.4 supportedVersionIds[3]: 12.0 -tags[0]: deprecated=10.3,11.2 +tags[0]: deprecated=10.3 +tags[1]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -288,15 +381,19 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphone7 name: iPhone 7 +screenDensity: 326 +screenX: 750 +screenY: 1334 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 +supportedVersionIds[3]: 12.3 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -323,15 +420,18 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphone7plus name: iPhone 7 Plus +screenDensity: 401 +screenX: 1080 +screenY: 1920 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -358,16 +458,19 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphone8 name: iPhone 8 +screenDensity: 326 +screenX: 750 +screenY: 1334 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 -tags[0]: default -tags[1]: deprecated=11.2 +tags[0]: deprecated=11.2 +tags[1]: default --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -394,15 +497,19 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphone8plus name: iPhone 8 Plus +screenDensity: 401 +screenX: 1080 +screenY: 1920 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 +supportedVersionIds[3]: 12.3 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -428,15 +535,19 @@ deviceCapabilities[25]: telephony formFactor: PHONE id: iphonese name: iPhone SE +screenDensity: 326 +screenX: 640 +screenY: 1136 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 +supportedVersionIds[3]: 12.3 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -463,15 +574,54 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphonex name: iPhone X +screenDensity: 458 +screenX: 1125 +screenY: 2436 supportedVersionIds[0]: 11.2 supportedVersionIds[1]: 11.4 supportedVersionIds[2]: 12.0 +supportedVersionIds[3]: 12.3 tags[0]: deprecated=11.2 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 +deviceCapabilities[4]: auto-focus-camera +deviceCapabilities[5]: bluetooth-le +deviceCapabilities[6]: front-facing-camera +deviceCapabilities[7]: gamekit +deviceCapabilities[8]: gyroscope +deviceCapabilities[9]: location-services +deviceCapabilities[10]: magnetometer +deviceCapabilities[11]: metal +deviceCapabilities[12]: microphone +deviceCapabilities[13]: opengles-1 +deviceCapabilities[14]: opengles-2 +deviceCapabilities[15]: opengles-3 +deviceCapabilities[16]: peer-peer +deviceCapabilities[17]: still-camera +deviceCapabilities[18]: video-camera +deviceCapabilities[19]: wifi +deviceCapabilities[20]: arkit +deviceCapabilities[21]: camera-flash +deviceCapabilities[22]: gps +deviceCapabilities[23]: healthkit +deviceCapabilities[24]: nfc +deviceCapabilities[25]: sms +deviceCapabilities[26]: telephony +formFactor: PHONE +id: iphonexr +name: iPhone XR +screenDensity: 326 +screenX: 828 +screenY: 1792 +supportedVersionIds[0]: 13.2 +--- +deviceCapabilities[0]: accelerometer +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -498,13 +648,17 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphonexs name: iPhone XS +screenDensity: 458 +screenX: 1125 +screenY: 2436 supportedVersionIds[0]: 12.0 supportedVersionIds[1]: 12.1 +supportedVersionIds[2]: 12.3 --- deviceCapabilities[0]: accelerometer -deviceCapabilities[1]: armv6 -deviceCapabilities[2]: armv7 -deviceCapabilities[3]: arm64 +deviceCapabilities[1]: arm64 +deviceCapabilities[2]: armv6 +deviceCapabilities[3]: armv7 deviceCapabilities[4]: auto-focus-camera deviceCapabilities[5]: bluetooth-le deviceCapabilities[6]: front-facing-camera @@ -531,5 +685,9 @@ deviceCapabilities[26]: telephony formFactor: PHONE id: iphonexsmax name: iPhone XS Max +screenDensity: 458 +screenX: 1242 +screenY: 2688 supportedVersionIds[0]: 12.0 -supportedVersionIds[1]: 12.1` +supportedVersionIds[1]: 12.1 +supportedVersionIds[2]: 12.3` diff --git a/step.yml b/step.yml index ae4f254..adfd6af 100755 --- a/step.yml +++ b/step.yml @@ -39,7 +39,7 @@ inputs: Open the folder for your project, then the Build/Products folders inside it. You should see a folder Debug-iphoneos and PROJECT_NAME_iphoneos_DEVELOPMENT_TARGET-arm64.xctestrun. Select them both, then right-click on one of them and select Compress 2 items. is_required: true - - test_devices: "iphone7,11.2,en,portrait" + - test_devices: "iphone7,12.3,en,portrait" opts: title: "Test devices" description: | @@ -48,29 +48,32 @@ inputs: For example: - `iphone7,11.2,en,portrait` + `iphone7,12.3,en,portrait` - `iphone7,11.2,en,landscape` + `iphone7,12.3,en,landscape` Available devices and its versions: ``` - ┌─────────────┬───────────────────────┬─────────────────────┬──────────────────────────┐ - │ MODEL_ID │ NAME │ OS_VERSION_IDS │ TAGS │ - ├─────────────┼───────────────────────┼─────────────────────┼──────────────────────────┤ - │ ipad5 │ iPad (5th generation) │ 11.2,12.0 │ deprecated=11.2 │ - │ ipadmini4 │ iPad mini 4 │ 11.2,12.0 │ deprecated=11.2 │ - │ ipadpro_105 │ iPad Pro (10.5-inch) │ 11.2 │ deprecated=11.2 │ - │ iphone6 │ iPhone 6 │ 11.4 │ deprecated=11.4 │ - │ iphone6s │ iPhone 6s │ 10.3,11.2,11.4,12.0 │ deprecated=10.3,11.2 │ - │ iphone7 │ iPhone 7 │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphone7plus │ iPhone 7 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphone8 │ iPhone 8 │ 11.2,11.4,12.0 │ default, deprecated=11.2 │ - │ iphone8plus │ iPhone 8 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonese │ iPhone SE │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonex │ iPhone X │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonexs │ iPhone XS │ 12.0,12.1 │ │ - │ iphonexsmax │ iPhone XS Max │ 12.0,12.1 │ │ - └─────────────┴───────────────────────┴─────────────────────┴──────────────────────────┘ + ┌─────────────┬───────────────────────┬─────────────────────┬──────────────────────────────────┐ + │ MODEL_ID │ NAME │ OS_VERSION_IDS │ TAGS │ + ├─────────────┼───────────────────────┼─────────────────────┼──────────────────────────────────┤ + │ ipad5 │ iPad (5th generation) │ 11.2,12.0 │ deprecated=11.2 │ + │ ipadmini4 │ iPad mini 4 │ 11.2,12.0 │ deprecated=11.2 │ + │ ipadpro_105 │ iPad Pro (10.5-inch) │ 11.2 │ deprecated=11.2 │ + │ iphone11 │ iPhone 11 │ 13.3 │ │ + │ iphone11pro │ iPhone 11 Pro │ 13.3 │ │ + │ iphone6 │ iPhone 6 │ 11.4,12.2 │ deprecated=11.4 │ + │ iphone6s │ iPhone 6s │ 10.3,11.2,11.4,12.0 │ deprecated=10.3, deprecated=11.2 │ + │ iphone7 │ iPhone 7 │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphone7plus │ iPhone 7 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ + │ iphone8 │ iPhone 8 │ 11.2,11.4,12.0 │ deprecated=11.2, default │ + │ iphone8plus │ iPhone 8 Plus │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonese │ iPhone SE │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonex │ iPhone X │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonexr │ iPhone XR │ 13.2 │ │ + │ iphonexs │ iPhone XS │ 12.0,12.1,12.3 │ │ + │ iphonexsmax │ iPhone XS Max │ 12.0,12.1,12.3 │ │ + └─────────────┴───────────────────────┴─────────────────────┴──────────────────────────────────┘ ``` summary: | Format: @@ -78,29 +81,32 @@ inputs: For example: - `iphone7,11.2,en,portrait` + `iphone7,12.3,en,portrait` - `iphone7,11.2,en,landscape` + `iphone7,12.3,en,landscape` Available devices and its versions: ``` - ┌─────────────┬───────────────────────┬─────────────────────┬──────────────────────────┐ - │ MODEL_ID │ NAME │ OS_VERSION_IDS │ TAGS │ - ├─────────────┼───────────────────────┼─────────────────────┼──────────────────────────┤ - │ ipad5 │ iPad (5th generation) │ 11.2,12.0 │ deprecated=11.2 │ - │ ipadmini4 │ iPad mini 4 │ 11.2,12.0 │ deprecated=11.2 │ - │ ipadpro_105 │ iPad Pro (10.5-inch) │ 11.2 │ deprecated=11.2 │ - │ iphone6 │ iPhone 6 │ 11.4 │ deprecated=11.4 │ - │ iphone6s │ iPhone 6s │ 10.3,11.2,11.4,12.0 │ deprecated=10.3,11.2 │ - │ iphone7 │ iPhone 7 │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphone7plus │ iPhone 7 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphone8 │ iPhone 8 │ 11.2,11.4,12.0 │ default, deprecated=11.2 │ - │ iphone8plus │ iPhone 8 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonese │ iPhone SE │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonex │ iPhone X │ 11.2,11.4,12.0 │ deprecated=11.2 │ - │ iphonexs │ iPhone XS │ 12.0,12.1 │ │ - │ iphonexsmax │ iPhone XS Max │ 12.0,12.1 │ │ - └─────────────┴───────────────────────┴─────────────────────┴──────────────────────────┘ + ┌─────────────┬───────────────────────┬─────────────────────┬──────────────────────────────────┐ + │ MODEL_ID │ NAME │ OS_VERSION_IDS │ TAGS │ + ├─────────────┼───────────────────────┼─────────────────────┼──────────────────────────────────┤ + │ ipad5 │ iPad (5th generation) │ 11.2,12.0 │ deprecated=11.2 │ + │ ipadmini4 │ iPad mini 4 │ 11.2,12.0 │ deprecated=11.2 │ + │ ipadpro_105 │ iPad Pro (10.5-inch) │ 11.2 │ deprecated=11.2 │ + │ iphone11 │ iPhone 11 │ 13.3 │ │ + │ iphone11pro │ iPhone 11 Pro │ 13.3 │ │ + │ iphone6 │ iPhone 6 │ 11.4,12.2 │ deprecated=11.4 │ + │ iphone6s │ iPhone 6s │ 10.3,11.2,11.4,12.0 │ deprecated=10.3, deprecated=11.2 │ + │ iphone7 │ iPhone 7 │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphone7plus │ iPhone 7 Plus │ 11.2,11.4,12.0 │ deprecated=11.2 │ + │ iphone8 │ iPhone 8 │ 11.2,11.4,12.0 │ deprecated=11.2, default │ + │ iphone8plus │ iPhone 8 Plus │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonese │ iPhone SE │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonex │ iPhone X │ 11.2,11.4,12.0,12.3 │ deprecated=11.2 │ + │ iphonexr │ iPhone XR │ 13.2 │ │ + │ iphonexs │ iPhone XS │ 12.0,12.1,12.3 │ │ + │ iphonexsmax │ iPhone XS Max │ 12.0,12.1,12.3 │ │ + └─────────────┴───────────────────────┴─────────────────────┴──────────────────────────────────┘ ``` is_required: true - test_timeout: 900