Commit Graph

105 Commits

Author SHA1 Message Date
Stefan Ceriu e795d07477 Stop generating the fastlane readme and delete the existing one 2025-05-12 15:07:46 +03:00
Stefan Ceriu 06e7919b56 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 d47c802fec 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 85a7172986 Xcode16.3 support (#4029)
* Xcode16.3 support + updated unit and preview test
2025-04-16 19:12:31 +02:00
Doug 3547777a02 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 6a8f35db9c Make the secrets optional. (#3966) 2025-04-01 16:14:05 +01:00
Doug 55f3bf8b62 Fix rebase take II. 2025-03-21 10:11:56 +00:00
Doug 8cb5330ee2 Discard any changes before rebasing main. (#3927) 2025-03-20 18:05:43 +00:00
Doug ae1c35a63b Prefix our release tags with release/ (#3894) 2025-03-12 16:47:01 +00:00
Mauro Romito 9c8404a3cb 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 6ded867bcc 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 b71c93dfaa Update Enterprise submodule.
Include pkl in the dependencies.
2025-02-17 12:01:08 +00:00
Doug d96304b3bb Update the fastlane README. 2025-02-17 12:01:08 +00:00
Mauro 5cffad937e 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 55e399aaf7 Replace ImageMagick with a custom tool written in swift. 2025-01-21 16:25:29 +02:00
Stefan Ceriu 1de8c1f4a2 Setup an app variants folder and move the nightly and alpha build configs to it. 2025-01-21 16:25:29 +02:00
Doug 082b4b260c Include missing gems until Fastlane is updated for Ruby 3.4 (#3663) 2025-01-06 16:17:12 +00:00
Stefan Ceriu 5aadf4e65b 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 2b153306dd Update the project to use Xcode 16.1 (#3505) 2024-11-12 12:24:08 +00:00
Stefan Ceriu 5ead649489 Fastlane fails resetting the right simulator, use device instead of destination. 2024-11-07 11:36:44 +02:00
Stefan Ceriu 9d23dec2e9 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 6faa26eade 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 7bfd73de5f Update Unit tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Doug 7b42df84ae Update Integration tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Doug 6e83ecb290 Don't reset the simulator contents on GitHub. 2024-09-23 16:25:49 +01:00
Doug 6818be1afc Update UI tests for Xcode 16. 2024-09-23 16:25:49 +01:00
Stefan Ceriu 2f6fea29f3 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 50c2b593e7 Put a space between the version and build numbers. 2024-08-06 21:29:55 +03:00
Doug cdd763efd4 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 c92c6a28ae 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 1178561853 Setup unit tests for Enterprise. (#2984)
* Fix Analytics on Enterprise.
2024-07-01 12:34:47 +01:00
Doug 3cc4145a4c 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 82823c94ce 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 9282088891 Remove OTLP support. 2024-05-08 11:33:37 +01:00
Stefan Ceriu 4e828e6f5c Remove include_simulator_logs from the integration tests. 2024-03-28 10:34:12 +02:00
Stefan Ceriu 98af0ae169 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 92eaa7075a 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 1d950fa803 Switch back to iOS 17.2 and the iPhone 15 and iPad 10th generation 2024-03-25 11:02:06 +02:00
Stefan Ceriu 83f5ae9192 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 5f0c782ce2 Use xcresultparser in all workflows. (#2510)
* Fix integration tests.
2024-02-28 18:01:20 +00:00
Doug a3b3aa8517 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 09b276d94b 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 12e8ffaf87 Show the build number on the nightly app icons 2023-11-27 10:55:38 +02:00
Doug d03c97a02a 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 56879caae6 Add back automatic unit test retrying 2023-11-16 17:23:13 +02:00
Doug e42977a7b0 Remove smudging workarounds. 2023-10-16 12:55:05 +01:00
Doug 56a9820ded 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 a05c3e3774 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 612a28b7e2 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
Mauro 341b177e23 Prefire basic implementation (#1743)
* prefire basic implementation

force the unit tests to run on iPhone 14

skipping plugin validation

archive artifacts

better workflow

removed the OS restriction

lfs

custom stencil

new test file

deleting

* git lfs

* lfs

* test

* customised the stencil to support our internal protocol

* for now we can remove the OS check from the stencil

* added a delay

* tests have been moved

* improvement

* recommit

* perceptual precision lowered

* updated snapshot testing and selected also iOS version

* added ios version control
2023-09-20 14:07:18 +02:00