Commit 29afc30
authored
e2e: add iOS 26 + XCode 26 tests (#1194)
## 📜 Description
Added e2e tests assembled with XCode 26 and tested on iOS 26.
## 💡 Motivation and Context
The problem with iOS 26 keyboard is that it has two states:
- if app is compiled with XCode 16.4 - it will use default (iOS 18)
keyboard even if device is running on iOS 26
- if app is compiled with XCode 26 and app is running on iOS 26 - it'll
use new keyboard
In this PR I'm covering new keyboard functionality. We want to make
keyboard controller stable across all OS versions and this step is
crucial in terms of guarantee that lib works in all conditions (i. e.
backward compatible mode and new mode).
This PR reveals some inconsistencies:
- `KeyboardBackgroundView` doesn't match real keyboard background color
anymore;
- in rotation example yellow circle goes behind header (though I think
it's safe area context problem)
I also intentionally test new keyboard on iOS 26.1, because iOS 26.0
wasn't really stable (it had animation jumps etc.)
I hope new tests will help me to catch bugs earlier rather than later,
tough I have feeling like I'm overusing GitHub CI (now I run 6 iOS e2e
jobs 🤯). I may revisit the approach later and maybe run only few jobs
for PRs and all test cases when merge into main 🤷♂️
## 📢 Changelog
<!-- High level overview of important changes -->
<!-- For example: fixed status bar manipulation; added new types
declarations; -->
<!-- If your changes don't affect one of platform/language below - then
remove this platform/language -->
### E2E
- adjusted `KeyboardExtender` threshold (after detach I can see rounded
corners of keyboard)
- generated assets for iPhone 16e
- added config for iPhone 16e tests (iOS 26.1)
### CI
- run 2 builds in parallel (XCode 16 + Xcode 26)
- use separate native cache (ccache, pods)
- add additional e2e tests that will cover only XCode 26 + iOS 26
configuration
## 🤔 How Has This Been Tested?
Tested via this PR.
## 📸 Screenshots (if appropriate):
<img width="851" height="392" alt="image"
src="https://github.com/user-attachments/assets/740567e2-b999-48a2-afe2-09314ce05425"
/>
## 📝 Checklist
- [x] CI successfully passed
- [x] I added new mocks and corresponding unit-tests if library API was
changed1 parent 0f4c393 commit 29afc30
File tree
64 files changed
+48
-17
lines changed- .github/workflows
- e2e
- kit
- assets/ios/iPhone 16e
- helpers/env
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
64 files changed
+48
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
24 | 28 | | |
25 | 29 | | |
26 | | - | |
27 | | - | |
| 30 | + | |
| 31 | + | |
28 | 32 | | |
29 | 33 | | |
30 | 34 | | |
31 | | - | |
32 | | - | |
33 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
34 | 38 | | |
35 | 39 | | |
36 | 40 | | |
| |||
39 | 43 | | |
40 | 44 | | |
41 | 45 | | |
42 | | - | |
| 46 | + | |
43 | 47 | | |
44 | 48 | | |
45 | 49 | | |
| |||
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
67 | | - | |
| 71 | + | |
68 | 72 | | |
69 | 73 | | |
70 | 74 | | |
| |||
79 | 83 | | |
80 | 84 | | |
81 | 85 | | |
82 | | - | |
| 86 | + | |
83 | 87 | | |
84 | | - | |
| 88 | + | |
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
| |||
90 | 94 | | |
91 | 95 | | |
92 | 96 | | |
93 | | - | |
| 97 | + | |
94 | 98 | | |
95 | 99 | | |
96 | | - | |
| 100 | + | |
97 | 101 | | |
98 | 102 | | |
99 | 103 | | |
100 | 104 | | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
| |||
143 | 144 | | |
144 | 145 | | |
145 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
146 | 154 | | |
147 | 155 | | |
148 | 156 | | |
149 | 157 | | |
150 | 158 | | |
151 | 159 | | |
152 | 160 | | |
153 | | - | |
| 161 | + | |
154 | 162 | | |
155 | 163 | | |
156 | 164 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
79 | 86 | | |
80 | 87 | | |
81 | 88 | | |
| |||
137 | 144 | | |
138 | 145 | | |
139 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
140 | 155 | | |
141 | 156 | | |
142 | 157 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
47 | | - | |
| 48 | + | |
| 49 | + | |
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
0 commit comments