Commit Graph

116 Commits

Author SHA1 Message Date
Stefan Ceriu
24d6affd7e Call the pipeline from within swift tools instead of through fastlane. 2026-02-26 18:43:49 +02:00
Stefan Ceriu
a50738db64 Fix the upload_dsyms_to_sentry lane after plugin update. 2026-02-16 12:11:25 +02:00
Mauro
56eec826df Fix A11y tests (#5104)
* replace NavigationStack with ElementNavigationStack to allow the content to be rendered without a NavigationStack in a11y tests

* fix a11y tests

* update xcodeproject

* swiftformat fix

* use iOS 26.1 for CI

* use a wrapper to solve the issue for a11y tests

* ElementNavigationStack only uses the trick in DEBUG mode, and added a swiftlint rule to prevent the usage of NavigationStack
2026-02-13 16:45:58 +01:00
Stefan Ceriu
cf7d154550 Use the quiet argument on Fastlane's xcbeautify output formatter
This should remove most of the noise and make it easier to spot issues.
2025-12-16 18:36:19 +02:00
Stefan Ceriu
584e04e505 Have fastlane's xcbeautify use a special github actions formatter and reporter. 2025-12-16 12:16:53 +02:00
Doug
c676228ede Use Xcode 26.1 on GitHub runners. 2025-11-27 16:43:48 +00:00
Mauro
b0403d2b9f Run CI with Xcode 26.1 RC (#4672)
* Use Xcode 26.1 RC on CI

* regenerated previews with 26.1

* ui tests

* fix

* fix some iPad tests rendering

* remove useless fastlane line

---------

Co-authored-by: Doug <douglase@element.io>
2025-11-17 12:30:57 +01:00
Doug
eda1e844d2 Don't assert specific devices for accessibility tests and use iOS 18 again. (#4741)
* Don't assert specific devices for accessibility tests.

It's not as critical as UI/Preview tests as nothing is snapshotted.

* Extend the timeout for accessibility tests.

They're slow 😅

* Drop back to iOS 18.5 for accessibility tests (for now).
2025-11-13 10:34:36 +00:00
Doug
e95f442166 Stop repeating the simulator version throughout the Fastfile. (#4677) 2025-10-31 10:51:40 +00:00
Doug
6cf7e90b3b Use the new Icon Composer .icon format. (#4612) 2025-10-10 20:00:03 +01:00
Stefan Ceriu
cf52bd443a Have Fastlane use the latest available 26.0.x Xcode version
This comes as a potential fix for Xcode Cloud where Xcode 26.0 is no longer available and when switching the workflow to 26.0.1 it fails with `[!] Cannot find an installed Xcode satisfying '26'`
2025-10-04 08:59:32 +03:00
Stefan Ceriu
1788522a2f Create the SE 3rd gen simulator if necessary 2025-09-26 17:20:41 +03:00
Stefan Ceriu
8062044d11 Everybody do the Xcode 🎶 2025-09-26 17:20:41 +03:00
Mauro
a18eff9201 Accessibiliy Tests part 2 (#4325)
* running all the tests

* setting up CI

* fixed the workflow

* workflow on pull request, just to make it appear

* removed the test to run var

* fix archived tests name

* improved the tests, by filtering out some noise

* pr suggestions and added an improvement to the filtering

* improved the interrupt handler

* improved the UI interruption monitor handler

* some more refinement to handle the interruptor + false positive for non human readable labels

* reverted wrong commit

* ready for review, removed the on pull request check

* pr suggestions
2025-07-18 10:33:45 +02:00
Doug
2e602dea07 Update the project for Xcode 16.4 (#4277) 2025-07-02 15:13:52 +01:00
Stefan Ceriu
f20629b1dc Update the Enterprise submodule and make use of the newly added secrets configuration mechanism 2025-05-27 18:21:11 +03:00
Stefan Ceriu
1967c94ec5 Stop generating the fastlane readme and delete the existing one 2025-05-12 15:07:46 +03:00
Stefan Ceriu
4ccd2f9096 Remove support for building Alpha/PR (adhoc) builds.
We've haven't really been using these and they're proving to be quite a chore to keep running.
Also, we recently needed an external demo build and we chose to go with custom build on top of testflight instead.

As such it's been decided that we can go ahead and remove them.
2025-05-12 15:07:46 +03:00
Doug
834f62503e Fix the UI tests. (#4085)
* Compile errors 😬

* Update server selection snapshots.

The default footer string has changed.

* Remove the TemplateScreen UI tests.

We use preview tests for snapshots now, UI tests are for flow coordinators.

* Add the same looping on the OIDC UI test (but disable the test in the end).

* Run UI tests separately for iPhone and iPad.

GitHub runners don't seem to have enough memory to handle 2 simulators at once.
2025-05-02 12:47:31 +01:00
Mauro
a02972c9f9 Xcode16.3 support (#4029)
* Xcode16.3 support + updated unit and preview test
2025-04-16 19:12:31 +02:00
Doug
04bc696067 Vendor our StaticCode pkl package inside the project. (#3993)
* Vendor our StaticCode pkl package inside the project.

* Update the Enterprise submodule.
2025-04-08 11:23:54 +01:00
Doug
ee0d054ee1 Make the secrets optional. (#3966) 2025-04-01 16:14:05 +01:00
Doug
41072de1bc Fix rebase take II. 2025-03-21 10:11:56 +00:00
Doug
3981a79829 Discard any changes before rebasing main. (#3927) 2025-03-20 18:05:43 +00:00
Doug
efd776605c Prefix our release tags with release/ (#3894) 2025-03-12 16:47:01 +00:00
Mauro Romito
8f3d7d2908 fastlane: rebase main with develop after a release
moved the git fetch into the setup of xcode cloud

fix
2025-03-06 17:05:22 +01:00
Doug
b249f0449a Configure diagnostics (and MapLibre) using Pkl. (#3820)
* Bump the version for the next release.

* Ignore all generated sources.

* Use Pkl+XcodeGen to inject secrets instead of the project.

* Inject the PostHog/Sentry/Rageshake configuration from the environment.

* Fix bad unicode.

* Fix unit tests.
2025-02-24 18:36:08 +00:00
Doug
61312fa8ff Update Enterprise submodule.
Include pkl in the dependencies.
2025-02-17 12:01:08 +00:00
Mauro
86b6103765 Fastlane calendar versioning check and increase (#3721)
* update fastfile

* original comment

---------

Co-authored-by: Element CI <ci@element.io>
2025-01-31 13:34:25 +01:00
Stefan Ceriu
ef9c538cad Replace ImageMagick with a custom tool written in swift. 2025-01-21 16:25:29 +02:00
Stefan Ceriu
0c61bfbb80 Setup an app variants folder and move the nightly and alpha build configs to it. 2025-01-21 16:25:29 +02:00
Stefan Ceriu
044d10ab10 UI test fixes (#3515)
* More UI test fixes

* Update all UITest snapshots.

* Wait for reset waiting indicator to be removed before snapshotting the encryption reset screen
2024-11-14 16:44:36 +02:00
Doug
91250784f4 Update the project to use Xcode 16.1 (#3505) 2024-11-12 12:24:08 +00:00
Stefan Ceriu
18ff736c9a Fastlane fails resetting the right simulator, use device instead of destination. 2024-11-07 11:36:44 +02:00
Stefan Ceriu
e918dc66ae Tracing and integration test tweaks (#3336)
* Disable image and document picker integration tests as they randomly fail to load and are flakey.

* Delete any pre-existing log files

* Various tracing tweaks and fixes:
- delete the custom tracing log levels as we can't control their ouput
- implement comparable on them
- change default levels only if the new chosen level increases their verbosity

* Make logging targets mandatory and fix their logging levels

* Switch back to using the `run_tests` reset simulator flag as `fastlane snapshot reset_simulators` was too generic and slow

* Switch all integration test taps to `tapCenter` (nee forceTap) after noticing missed taps on CI.

* Make the logging file prefix explicit, let the main app not use one.

* Rename tracing configuration `target` to `currentTarget`
2024-09-27 15:08:47 +03:00
Doug
faf3736a1e Add detection for latest devices. (#3327)
* Update various packages.
Notable changes:
- DeviceKit now detects iPad Pro (M4), iPad Air (M2) and iPhones 16.
- KZFileWatchers isn't updated but now has a tag to pin to.

* Try using a raw destination for tests.
To fix an issue where CI isn't finding iPhone 16 when it's clearly listed by simctl.
2024-09-25 10:01:21 +01:00
Doug
44fb45bef1 Update Unit tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Doug
59a2b48e21 Update Integration tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Doug
a62f5f7438 Don't reset the simulator contents on GitHub. 2024-09-23 16:25:49 +01:00
Doug
7975b59659 Update UI tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Stefan Ceriu
eff3dd7cc3 Replace Prefire with a very similar but simpler and more direct approach (#3232)
* Replace Prefire with a very similar but simpler and more direct approach

* Move PreviewTest snapshots to their new location (snapshotting default, mirrors UITests)

* Update acknowledgements

* Switch snapshot configuration extensions to a custom version

* Exclude snapshots from the PreviewTests target

* Fix acknowledgements

* Rename snapshotting preference keys

* Remove `skipPackagePluginValidation`
2024-09-09 15:07:41 +03:00
Doug
e7804b1ae9 Put a space between the version and build numbers. 2024-08-06 21:29:55 +03:00
Doug
17a86a2066 Add a certificate validator hook. (#3069)
* Add a certificate validator hook.

* General tidy up of AppHooks.

* Don't worry about the generic call links.
2024-07-19 17:05:54 +01:00
Doug
47d94501c7 Upgrade the project to use Xcode 15.4 (#3027)
* Update snapshots for Xcode 15.4

* Update CI.

* Fix crashing UI test.

* Fix compile error in Integration Tests.

* Try putting UI tests on GH runners again.
2024-07-11 17:38:32 +01:00
Doug
daf7a04535 Setup unit tests for Enterprise. (#2984)
* Fix Analytics on Enterprise.
2024-07-01 12:34:47 +01:00
Doug
0c8c0ce9b6 Use XcodeGen files for app variants and setup Enterprise submodule. (#2976)
- Create an app.yml with the base app variant.
- Override app.yml contents on Nightly/PR builds.
- Add AppHooks mechanism.
- Add Enterprise submodule.
- Conditionally import Enterprise/fastlane/Fastfile if available.
2024-06-27 18:18:17 +01:00
Doug
27215acbd3 Replace Towncrier with GitHub releases + labels. (#2966)
* Set up GitHub generated release notes.

* Remove Towncrier from the release script.

* Add changelog failures for Labels with Danger and stop requesting a changelog file.

* Update changelog documentation.
2024-06-25 11:07:01 +00:00
Doug
9ebf68f276 Remove OTLP support. 2024-05-08 11:33:37 +01:00
Stefan Ceriu
7afd0d3c3d Remove include_simulator_logs from the integration tests. 2024-03-28 10:34:12 +02:00
Stefan Ceriu
de50187f3e UI test shenanigans (#2611)
* Hardcode Xcode 15.2 as there are multiple versions available on the performance runner

* Remove the derived data caching step as it's not necessary on the performance runner.
2024-03-27 14:10:20 +02:00