diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 418922aee..c1566156a 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -2,7 +2,7 @@ name: Integration tests on: schedule: - - cron: '0 * * * *' + - cron: '0 6,18 * * *' workflow_dispatch: diff --git a/.github/workflows/ui_tests.yml b/.github/workflows/ui_tests.yml index 78dd6ccbb..6a95a14ee 100644 --- a/.github/workflows/ui_tests.yml +++ b/.github/workflows/ui_tests.yml @@ -8,12 +8,12 @@ on: required: false schedule: - - cron: '0 0 * * 1-5' + - cron: '0 0,12 * * 1-5' jobs: tests: name: Tests - runs-on: macos-13 + runs-on: perf-only concurrency: # When running on develop, use the sha to allow all runs of this workflow to run concurrently. diff --git a/ElementX/Sources/UITests/UITestsAppCoordinator.swift b/ElementX/Sources/UITests/UITestsAppCoordinator.swift index b69fde2c7..52acea80f 100644 --- a/ElementX/Sources/UITests/UITestsAppCoordinator.swift +++ b/ElementX/Sources/UITests/UITestsAppCoordinator.swift @@ -328,10 +328,11 @@ class MockScreen: Identifiable { let parameters = SessionVerificationScreenCoordinatorParameters(sessionVerificationControllerProxy: sessionVerificationControllerProxy) return SessionVerificationScreenCoordinator(parameters: parameters) case .userSessionScreen: - let navigationSplitCoordinator = NavigationSplitCoordinator(placeholderCoordinator: SplashScreenCoordinator()) + let navigationSplitCoordinator = NavigationSplitCoordinator(placeholderCoordinator: PlaceholderScreenCoordinator()) let clientProxy = MockClientProxy(userID: "@mock:client.com", roomSummaryProvider: MockRoomSummaryProvider(state: .loaded(.mockRooms))) ServiceLocator.shared.settings.migratedAccounts[clientProxy.userID] = true + ServiceLocator.shared.settings.hasShownWelcomeScreen = true let coordinator = UserSessionFlowCoordinator(userSession: MockUserSession(clientProxy: clientProxy, mediaProvider: MockMediaProvider()), navigationSplitCoordinator: navigationSplitCoordinator, diff --git a/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.invites-1.png b/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.invites-1.png index 17d54d78d..4f68355ab 100644 --- a/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.invites-1.png +++ b/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.invites-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67b0f777fa6fd1ed23d94f9fa5ed43bba83f27ef534b98d883f01d08295e441a -size 193142 +oid sha256:777e8f3870c413d3eddd2695f3029b43d2515f7f2b35f9916a9912f14c9562ed +size 195001 diff --git a/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.userSessionScreen-1.png b/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.userSessionScreen-1.png index 7689868b4..7f70d8431 100644 --- a/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.userSessionScreen-1.png +++ b/UITests/Sources/__Snapshots__/Application/en-GB-iPad-9th-generation.userSessionScreen-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:769f79b42f5263e3d36a17e3f80881dfc01e5f4ccae0e553ba9ba3a4a116061a -size 155285 +oid sha256:f47c0c687dee847461a81d16355e0e71f3e177cf032f208efc6fb61990f00651 +size 145285 diff --git a/UITests/Sources/__Snapshots__/Application/en-GB-iPhone-14.invites-1.png b/UITests/Sources/__Snapshots__/Application/en-GB-iPhone-14.invites-1.png index fd23becea..a5bf6d6e0 100644 --- a/UITests/Sources/__Snapshots__/Application/en-GB-iPhone-14.invites-1.png +++ b/UITests/Sources/__Snapshots__/Application/en-GB-iPhone-14.invites-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:815255c0e24f3610494cf0c6703aafec5cc4bb3bb4ede3cfcd38b864281ea0ae -size 376792 +oid sha256:5a8f4ee78328eb4490aa097ed3e88d699878f16ef14aa89c25ff298027b19ec4 +size 378302 diff --git a/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.invites-1.png b/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.invites-1.png index dfbf1330e..829f4927c 100644 --- a/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.invites-1.png +++ b/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.invites-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39faa4fa419a44ac9711c1a7bbb036db743a8b1e123d1aa434066ae1ee3052d5 -size 237909 +oid sha256:aef3ced77ed37b3df495a9d384732dad8802970833d1b7d9d890cfbe38dd220a +size 249707 diff --git a/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.userSessionScreen-1.png b/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.userSessionScreen-1.png index 48542f169..2d33c5f13 100644 --- a/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.userSessionScreen-1.png +++ b/UITests/Sources/__Snapshots__/Application/pseudo-iPad-9th-generation.userSessionScreen-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4676610bd1891599ac9bdbd26d4009b0792411083f43289362e1e0c6c7a76e39 -size 157204 +oid sha256:7636f881b8ffe54ae9d25b2fad515df66b22647f6916a1a137cba1c2992ddda4 +size 147141 diff --git a/UITests/Sources/__Snapshots__/Application/pseudo-iPhone-14.invites-1.png b/UITests/Sources/__Snapshots__/Application/pseudo-iPhone-14.invites-1.png index 8add815c3..d8baa4486 100644 --- a/UITests/Sources/__Snapshots__/Application/pseudo-iPhone-14.invites-1.png +++ b/UITests/Sources/__Snapshots__/Application/pseudo-iPhone-14.invites-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d2cb405d141ec256e0f326da24e477c5dd474fa3740f7ca5616274864e55253 -size 530598 +oid sha256:c9f0d2eb756d5ec79e3cfe49fc25add7092a8e8b6365d7fe23566e564e500abc +size 555624 diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 95a561fcc..7b3ba3bb8 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -110,6 +110,9 @@ lane :unit_tests do end lane :ui_tests do |options| + # Use a fresh simulator state to ensure hardware keyboard isn't attached. + reset_simulator_contents() + create_simulator_if_necessary( name: "iPad (9th generation)", type: "com.apple.CoreSimulator.SimDeviceType.iPad-9th-generation" @@ -138,6 +141,14 @@ lane :ui_tests do |options| scheme: "UITests", binary_basename: "ElementX.app" ) + + # Zip the result bundle for faster upload. + zip( + path: "./fastlane/test_output/UITests.xcresult", + output_path: "./fastlane/test_output/UITests.xcresult.zip" + ) + # Shell working directory is already inside the fastlane dir. + sh("rm -rf ./test_output/UITests.xcresult") end