Commit Graph

30 Commits

Author SHA1 Message Date
renovate[bot] 11b6cc3f70 Update actions/upload-artifact action to v7.0.2 2026-10-15 12:13:54 +03:00
Mauro b1ed870474 Support for Xcode 27 on CI (#6217)
* Run the tests on iOS 27.0

Bump the required simulator OS in the preview, UI and Compound tests, and the CI tool's default OS, from 26.5 to 27.0. Test devices stay the same.

iOS 27 writes transcoded videos 146 bytes larger, so update the expected sizes in MediaUploadingPreprocessorTests.

* Build and test on CI with Xcode 27

Select Xcode 27 in ci_common.sh and move every macOS workflow to the xcode-27 runner image, as macos-26 doesn't include Xcode 27. The Compound workflow now also creates its simulator on the iOS 27.0 runtime.

The xcode-27 runners are slower, so give the unit, Enterprise, Compound and snapshot recording jobs longer timeouts.

* Fix the preview snapshot layout on iOS 27

On iOS 27 the hosting controller applies the window's safe area when rendering, but the snapshot size comes from sizeThatFits, which ignores it. Component previews were shifted down and clipped at the bottom. Disable the hosting controller's safe area regions for these snapshots so the measured and rendered layouts match.

swift-snapshot-testing also renders into a window without a scene, and on iOS 27 a navigation stack in such a window reserves space for a large title it never shows, leaving a gap below the navigation bar. Attach the render window to the app's scene until swift-snapshot-testing handles it.

The invite users and add rooms screens sized their selected items row from a measured width stored in state, which is zero on the first layout pass, so snapshots could draw the row empty. Use containerRelativeFrame instead. The add rooms search previews now also wait for their results, and the search previews that show a clear button get a small precision tolerance, as it renders inconsistently in snapshots.

* Re-record the preview snapshots on iOS 27.0

Recorded on an iPhone SE (3rd generation) simulator running iOS 27.0 with Xcode 27.0 (27A266a). The changes come from iOS 27 rendering: text anti-aliasing, hyphenation and line breaking, navigation bars and toggles that now render in snapshots, lazy stacks that were blank on iOS 26, and pseudo-language locale formatting.

* Fix the UI tests on iOS 27

iOS 27 no longer exposes accessibility identifiers on SwiftUI menu items, so the space exploration test now finds them by label within the menu. On iPad, the start chat search field keeps focus after submitting and can swallow the next tap, so retry the tap if the create room screen doesn't appear.

* Re-record the UI test snapshots on iOS 27.0

Recorded on iPhone 17 and iPad (A16) simulators running iOS 27.0 with Xcode 27.0. The changes come from iOS 27 styling, like the keyboard height and glass borders. This also removes the iPad app lock setup snapshots, which have been orphaned since those tests stopped running on iPad.

* Fix the accessibility tests crashing on iOS 27

The accessibility tests' previews wrapper kept its ImageRenderer alive across the awaits that follow the render. On iOS 27, releasing it at that point tears down its view graph outside of a SwiftUI update, which hits an assertion and crashes the app. Release the renderer as soon as the image has been rendered.

* Keep the accessibility tests' image renderers alive on iOS 27

Releasing the ImageRenderer straight away wasn't enough: on iOS 27, releasing one that rendered a preview crashes SwiftUI whichever context it happens in. Keep the renderers alive instead. Each test launches a fresh app, so they only live for the one test.

* Share the UI tests' app settings with their mock user session

Since the user session flow reads its settings from UserSettings, the UI tests' mock user session was wrapping a fresh volatile AppSettings instead of the one the tests configure. The flags that skip onboarding weren't picked up, so every user session UI test got stuck on the notifications permission screen.

* Re-record the Compound snapshots on iOS 27.0

Apply the same safe area fix as the app's preview tests, so size-that-fits snapshots aren't clipped on iOS 27, and re-record the snapshots on an iPhone SE (3rd generation) simulator running iOS 27.0 in English (US).

* Fix a race reading the keyboard in the accessibility tests

On iOS 27 the QR code login screen's keyboard can be dismissing between checking that it exists and reading its frame, which fails the test. Snapshot it in a single query instead.
2026-09-29 17:02:48 +02:00
renovate[bot] c2f1dcc024 Update codecov/codecov-action action to v7.1.1 2026-09-24 15:50:34 +03:00
renovate[bot] a3d72aba1f Update codecov/codecov-action action to v7.1.0 2026-09-22 08:33:05 +03:00
Doug b38c216185 Add support for defining the text entry type on CompoundTextFieldStyle. (#5757)
* Add support for defining the text entry type on CompoundTextFieldStyle.

* Use Xcode 26.5 when running Compound tests too.
2026-06-18 19:18:44 +01:00
renovate[bot] 3ed4b132b6 Update GitHub Actions to v7 2026-06-14 10:40:43 +03:00
Mauro Romito de6dab3d22 update codecov action 2026-06-11 11:42:10 +02:00
renovate[bot] 72002f408d Update codecov/codecov-action action to v6.0.1 2026-05-26 09:59:55 +03:00
renovate[bot] 5f5fc15c11 Update dependency element-hq/compound-design-tokens to v10.1.1 (#5526)
* Update dependency element-hq/compound-design-tokens to v10.1.1

* Fix Compound workflow.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-05-01 23:52:06 +01:00
Stefan Ceriu 47de08125a Fix formatting .. according to Zed rules anyway 2026-04-21 17:19:50 +03:00
Mauro Romito 4f73ffcbd9 update compound-ios sim creation in the runner 2026-04-17 15:22:15 +02:00
Doug 63422f8f6b Upgrade the project to use Xcode 26.4 (and the 26.4 simulator for tests). (#5375)
* Upgrade the project to use Xcode 26.4 (and iOS 26.4 when running tests).

* Update the test OS assertions.

* updated preview tests

# Conflicts:
#	PreviewTests/Sources/__Snapshots__/PreviewTests/homeScreenInviteCell.iPhone-en-GB-0.png
#	PreviewTests/Sources/__Snapshots__/PreviewTests/homeScreenInviteCell.iPhone-pseudo-0.png

* update compound preview tests

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-04-16 14:33:20 +02:00
renovate[bot] 07b139b307 Update actions/upload-artifact action to v7.0.1 (#5381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 18:36:40 +01:00
renovate[bot] dd7e255520 Update nschloe/action-cached-lfs-checkout action to v1.2.5 (#5368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 13:04:44 +01:00
renovate[bot] 09970fdbab Update codecov/codecov-action action to v6 (#5309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 11:09:28 +01:00
renovate[bot] 08a92c0dd0 Update codecov/codecov-action action to v5.5.4 (#5308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:50:43 +01:00
renovate[bot] 8a65d613b1 Update codecov/codecov-action action to v5.5.3 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 14:52:24 +00:00
renovate[bot] 671f8e7acd Update nschloe/action-cached-lfs-checkout action to v1.2.4 2026-03-16 16:21:36 +02:00
Doug 51194c09e2 Add zizmor checks on CI. (#5161)
* Add zizmor checks on CI.

* Fix zizmor credentials warnings

* Add persist-credentials: false to action-cached-lfs-checkout too.

* Add empty permissions by default.

* Ignore pull_request_target failure and add a warning.
2026-03-05 13:54:51 +00:00
renovate[bot] 98edee0ad3 Update actions/upload-artifact action to v7 2026-02-27 07:13:36 +02:00
Stefan Ceriu 099d1c8b8f Stop running the coverage upload steps on failed or cancelled (i.e. non-successful) runs 2025-12-16 17:57:30 +02:00
renovate[bot] e81e6b8309 Update actions/upload-artifact action to v6 2025-12-13 09:41:59 +02:00
Mauro Romito af561442ee use 26.1.1 for compound ios tests on CI 2025-11-28 13:27:45 +01:00
Mauro 7fe67f000e Rename snapshots (#4756)
* renaming snapshots so that it's easier to diff them when an upgrade happens.

* fix macOS runner version for the compound tests

* os version update in the yml

* possible fix to run compound-ios tests
2025-11-17 16:46:51 +00:00
Doug 9cd181ef74 Add timeouts to our GitHub actions. (#4669)
6 hours is way too long and eats up the runners.
2025-10-28 18:37:15 +00:00
renovate[bot] 4158971e6d Update dependency SFSafeSymbols/SFSafeSymbols to v7 (#4659)
* Update dependency SFSafeSymbols/SFSafeSymbols to v7

* Update all the Package.resolved files and fix simulator.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2025-10-28 09:13:04 +00:00
renovate[bot] f3415e4ef1 Update actions/upload-artifact action to v5 2025-10-27 10:10:37 +01:00
Doug db6aa06ec1 Only run Compound tests when files are changed in Compound. (#4611)
* Only run Compound tests when files are changed in Compound.

* Fix warnings about missing spacing.

* Fix warnings about inner type shadowing.
2025-10-10 14:30:51 +01:00
Doug 6377d9be67 A couple of small tweaks. (#4569)
* Stop ignoring the safe area with the suggestions view.

They weren't visible on iPad (hidden behind the sidebar) and I can't find any instance when they're shown where the safe area comes into play.

* Make sure the room list deselects the cell when dismissed a room.

* Use the backports pattern in more places.

* Fix the annoying header on macOS.

* Silence some warnings

* Fix compound CI branch name.
2025-10-03 12:09:17 +01:00
Doug 1f7c324077 Update CI to support Compound. 2025-09-29 10:41:01 +01:00