From 292f7eae4acfd000ae57c9ca52403cded69ff6b4 Mon Sep 17 00:00:00 2001 From: araujobarret Date: Fri, 1 Dec 2023 16:39:49 +0100 Subject: [PATCH 1/4] ci: add ios maestro step on the CI --- .circleci/config.yml | 54 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 09ad0cae9a2..8494f54aa6a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -161,7 +161,17 @@ commands: paths: - android/build - android/app/build - - node_modules/react-native-config + - node_modules/react-native-config: + install-maestro: + steps: + - run: + name: Install Maestro + command: curl -Ls "https://get.maestro.mobile.dev" | bash + maestro-run-tests: + steps: + - run: + name: Run tests + command: maestro test e2e/config.yml jobs: detect-secrets: docker: @@ -329,6 +339,39 @@ jobs: - .manifests - dist + maestro-test-app-ios: + environment: + MAESTRO_APP_ID: net.artsy.artsy + + macos: + xcode: 15.1 + resource_class: macos.m1.medium.gen1 + + steps: + - attach_workspace: + at: ../workspace + - restore_cache: + keys: + - v11-test-success-{{ checksum "../workspace/.manifests/native_code" }} + - checkout + - attach_workspace: + at: . + - macos/install-rosetta + - install-node + - setup-env-file + - install-node-modules + - install-maestro + - run-relay-compiler + - install-gems + - install-cocoapods + - macos/preboot-simulator: + version: "17.2" + platform: "iOS" + device: "iPhone 15 Pro" + - run: yarn maestro:ios:release:build + - run: yarn maestro:ios:release:install + - maestro-run-tests + build-test-app-ios: environment: BUNDLE_PATH: .vendor # path to install gems and use for caching @@ -513,3 +556,12 @@ workflows: requires: - build-test-app-ios - build-test-app-android + + - approve-maestro-ios-test: + type: approval + requires: + - build-test-app-ios + + - maestro-test-app-ios: + requires: + - approve-maestro-ios-test From 242a87e81b2dbf5907b0cd061fe052a58e83f548 Mon Sep 17 00:00:00 2001 From: araujobarret Date: Fri, 1 Dec 2023 17:05:26 +0100 Subject: [PATCH 2/4] boom --- .circleci/config.yml | 21 ++++++++++----------- e2e/flows/onboarding/login.yml | 1 + e2e/flows/onboarding/signup.yml | 1 + 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8494f54aa6a..638d7d74b75 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -161,7 +161,7 @@ commands: paths: - android/build - android/app/build - - node_modules/react-native-config: + - node_modules/react-native-config install-maestro: steps: - run: @@ -342,27 +342,26 @@ jobs: maestro-test-app-ios: environment: MAESTRO_APP_ID: net.artsy.artsy + MAESTRO_DRIVER_STARTUP_TIMEOUT: 60000 + CI: 1 macos: xcode: 15.1 resource_class: macos.m1.medium.gen1 steps: - - attach_workspace: - at: ../workspace - - restore_cache: - keys: - - v11-test-success-{{ checksum "../workspace/.manifests/native_code" }} - checkout - - attach_workspace: - at: . - macos/install-rosetta - install-node + - setup-awscli - setup-env-file - install-node-modules - install-maestro - run-relay-compiler - install-gems + - run: ls -la + - run: ./scripts/setup/download-fonts + - run: ./scripts/setup/download-assets-ios - install-cocoapods - macos/preboot-simulator: version: "17.2" @@ -370,7 +369,7 @@ jobs: device: "iPhone 15 Pro" - run: yarn maestro:ios:release:build - run: yarn maestro:ios:release:install - - maestro-run-tests + - run: maestro test e2e/config.yml build-test-app-ios: environment: @@ -559,8 +558,8 @@ workflows: - approve-maestro-ios-test: type: approval - requires: - - build-test-app-ios + # requires: + # - build-test-app-ios - maestro-test-app-ios: requires: diff --git a/e2e/flows/onboarding/login.yml b/e2e/flows/onboarding/login.yml index 7dc9535ca5d..550c0fbf086 100644 --- a/e2e/flows/onboarding/login.yml +++ b/e2e/flows/onboarding/login.yml @@ -3,6 +3,7 @@ appId: ${MAESTRO_APP_ID} - launchApp: clearState: true clearKeychain: true + permissions: { all: deny } - tapOn: "Log in.*" - tapOn: "Continue with Email.*" - inputText: ${MAESTRO_TEST_EMAIL} diff --git a/e2e/flows/onboarding/signup.yml b/e2e/flows/onboarding/signup.yml index 68714ce7efe..94493173571 100644 --- a/e2e/flows/onboarding/signup.yml +++ b/e2e/flows/onboarding/signup.yml @@ -3,6 +3,7 @@ appId: ${MAESTRO_APP_ID} - launchApp: clearState: true clearKeychain: true + permissions: { all: deny } - tapOn: "Sign up.*" - tapOn: "Continue with Email.*" - runScript: From 4cc6e3816c954a29189309efa92aa1cb9ae38cf7 Mon Sep 17 00:00:00 2001 From: George Kartalis Date: Fri, 23 Feb 2024 13:49:37 +0100 Subject: [PATCH 3/4] fix: adjust assertions --- e2e/flows/onboarding/login.yml | 2 +- e2e/flows/onboarding/signupWithoutOnboarding.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e/flows/onboarding/login.yml b/e2e/flows/onboarding/login.yml index 550c0fbf086..3485570c955 100644 --- a/e2e/flows/onboarding/login.yml +++ b/e2e/flows/onboarding/login.yml @@ -29,4 +29,4 @@ appId: ${MAESTRO_APP_ID} commands: - tapOn: id: "Home Grabber" -- assertVisible: "New Works for You" +- assertVisible: "Find and edit all your Saves here" diff --git a/e2e/flows/onboarding/signupWithoutOnboarding.yml b/e2e/flows/onboarding/signupWithoutOnboarding.yml index dd4f22bdf48..963b7f26561 100644 --- a/e2e/flows/onboarding/signupWithoutOnboarding.yml +++ b/e2e/flows/onboarding/signupWithoutOnboarding.yml @@ -3,4 +3,4 @@ appId: ${MAESTRO_APP_ID} - runFlow: file: signup.yml - tapOn: "Skip.*" -- assertVisible: "New Works for You" +- assertVisible: "Activity" From 555f9331a2f25bf1eb4cc6c53a8a88bd8bcb810b Mon Sep 17 00:00:00 2001 From: George Date: Fri, 23 Feb 2024 15:25:26 +0100 Subject: [PATCH 4/4] Update e2e/flows/onboarding/login.yml --- e2e/flows/onboarding/login.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/flows/onboarding/login.yml b/e2e/flows/onboarding/login.yml index 3485570c955..00146a82da7 100644 --- a/e2e/flows/onboarding/login.yml +++ b/e2e/flows/onboarding/login.yml @@ -29,4 +29,4 @@ appId: ${MAESTRO_APP_ID} commands: - tapOn: id: "Home Grabber" -- assertVisible: "Find and edit all your Saves here" +- assertVisible: "Activity"