Commit Graph

103 Commits

Author SHA1 Message Date
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
Stefan Ceriu
30c2796372 UI test cleanup (#2598)
* Stop running the UI tests on the double localized pseudolanguage

* Fix UI tests signalling comms problem because the json key ordering wasn't defined and the messages wouldn't match.

* Remove UI tests that are now the same as preview tests (i.e. non flow based, only screen based), fixed the rest so they run on iOS 17.2, the iPhone 15 and iPad 10th gen simulators.

* Remove unnecessary gitignore instructions, change UI test snapshot naming convention to be more similar to the unit test ones

* Enable derived data and spm checkout caching for UI tests

* Switch UI tests back to the perf-only runner, moved the integration tests to the iPhone 15 Pro simulator.

* Address PR comments
2024-03-25 17:34:11 +02:00
Stefan Ceriu
a177db71b1 Switch back to iOS 17.2 and the iPhone 15 and iPad 10th generation 2024-03-25 11:02:06 +02:00
Stefan Ceriu
2f68703517 Prefire multiple devices (#2543)
* Update Prefire, setup multiple snapshot devices and languages
Squashed commits:
[28cb4ae6d] Switch to macos-14, iOS 17 and the iPhone 15 simulator
[080fc82cb] Update snapshots
[c874ca9c7] Bump Compound and Prefire, reduce perceptual precission to 0.98
[a59b8a54c] Update snapshots after adding iPad and pseudolanguage snapshotting
[f30cc3277] Setup multi-language snapshotting
[aeb11c7e7] Update prefire template, setup multiple snapshot devices

* Update ruby dependencies and fastlane plugins

* Bump Compound, switch back to the original prefire - version 2.0.4

* Remove preview test simulator version specifiers
2024-03-12 13:08:54 +02:00
Doug
8942bdcfe3 Use xcresultparser in all workflows. (#2510)
* Fix integration tests.
2024-02-28 18:01:20 +00:00
Doug
cdee371443 Move PreviewTests into their own scheme. (#2492)
* Use xcresultparser for coverage as there are 2 schemes now.
2024-02-22 15:13:52 +00:00
Doug
52b8cdad75 Update most references of vector-im to element-hq (#2231)
Sonarcloud and codecov will follow in a later PR when confirmed working. Changelog ignored as it isn't particularly important with the redirect.
2023-12-12 14:34:44 +00:00
Stefan Ceriu
e177d31f7e Show the build number on the nightly app icons 2023-11-27 10:55:38 +02:00
Doug
b45fdf54ca Switch to Xcode 15 (with the iOS 16.4 Simulator for tests still) (#2113)
* Use Xcode 15 in GitHub actions.

Use iOS 16.4 simulators from Xcode 14 as iOS 17.0.1 simulators are **super** slow.

* Fix failing preview snapshots.

Snapshot fix.

* Improve setup

* Regenerate snapshots that had a conflict.

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-11-21 16:25:18 +00:00
Stefan Ceriu
05d55d1381 Add back automatic unit test retrying 2023-11-16 17:23:13 +02:00
Doug
0fd5e0de3e Remove smudging workarounds. 2023-10-16 12:55:05 +01:00
Doug
d4b09141fe Add remaining iOS 17 introspections. (#1806)
* Update compound.

* Update Ruby gems.

* Skip smudging in Fastlane.

* Link Git LFS for Xcode in setup-project.
2023-09-29 17:29:27 +01:00
Stefan Ceriu
7eda122d20 Fix various flakey unit tests (#1783)
* Fix flakey emoji provider tests

* Fix flakey RoomScreenViewModel tests

* Fix flakey HomeScreenViewModel tests

* Fix flakey RoomMemberListScreen tests, problem with bindings getting overriden and deferFulfillment cancellable not getting stored

* Fix flakey RoomNotificationSettingsScreen tests and crashes

* Fix flakey RoomMemberDetailsScreen tests

* Deprecate old `deferFulfillment` and `nextViewState` methods

* Convert more files to the new `deferFulfillment`

* Converted the rest of the tests to the new deferFulfillment

* Removed now unused `nextViewState` and `deferFulfillment`

* Remove automatic retries from unit tests

* Reset analytics flag after running unit tests

* Address PR comments

* Introduce a new `deferFulfillment(publisher, keyPath, transitionValues)` method and use it where appropiate
2023-09-26 13:28:29 +03:00
Stefan Ceriu
d27de2dedd Release script fixes: prevent sed from incorrectly matching other versions, correctly increment the path version past .9 which would previously increment the minor 2023-09-20 18:17:32 +03:00