-
Notifications
You must be signed in to change notification settings - Fork 425
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into jacek/xcode15
* develop: (36 commits) Rolls back a BSK change by mistake Updates BSK Updates BSK Document LinkPresentation usage (#2172) Autofill "Never Save for this Site" feature (#2104) Use upstream fastlane 2.217.0 (#2161) Update about screen (#2152) Fixes a crasher due to a test line merged by mistake. (#2162) remove return user pixel (#2146) Revert to auto signing (#2158) BSK changes for NetP iOS Geoswitching (#2141) Update sync e2e tests to new setup flow (#2151) Fix for duplicated "atb" in Pixel request (#2139) Updating tests to support latest reference tests (#2145) Add NetP widget (#2142) Normalize ampUrl in breakage pixel (#2154) Update embedded files Update version number Bump submodules/privacy-reference-tests from `0d23f76` to `7519c3d` (#2135) Properly refresh home page favorites view when updating favorites display mode (#2148) ...
- Loading branch information
Showing
170 changed files
with
5,988 additions
and
3,056 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: Sync-End-to-End tests | ||
|
||
on: | ||
schedule: | ||
- cron: '0 5 * * *' # run at 5 AM UTC | ||
|
||
jobs: | ||
sync-end-to-end-tests: | ||
name: Sync End to end Tests | ||
runs-on: macos-13 | ||
|
||
steps: | ||
- name: Check out the code | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Set cache key hash | ||
run: | | ||
has_only_tags=$(jq '[ .object.pins[].state | has("version") ] | all' DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved) | ||
if [[ "$has_only_tags" == "true" ]]; then | ||
echo "cache_key_hash=${{ hashFiles('DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}" >> $GITHUB_ENV | ||
else | ||
echo "Package.resolved contains dependencies specified by branch or commit, skipping cache." | ||
fi | ||
- name: Cache SPM | ||
if: env.cache_key_hash | ||
uses: actions/cache@v3 | ||
with: | ||
path: DerivedData/SourcePackages | ||
key: ${{ runner.os }}-spm-${{ env.cache_key_hash }} | ||
restore-keys: | | ||
${{ runner.os }}-spm- | ||
- name: Select Xcode | ||
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer | ||
|
||
- name: Build for tests | ||
run: | | ||
set -o pipefail && xcodebuild \ | ||
-scheme "DuckDuckGo" \ | ||
-destination "platform=iOS Simulator,name=iPhone 14,OS=16.4" \ | ||
-derivedDataPath "DerivedData" \ | ||
| tee xcodebuild.log | ||
- name: Create test account for Sync and return the recovery code | ||
uses: duckduckgo/sync_crypto/action@main | ||
id: sync-recovery-code | ||
with: | ||
debug: true | ||
|
||
- name: Sync e2e tests | ||
uses: mobile-dev-inc/[email protected] | ||
with: | ||
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} | ||
app-file: DerivedData/Build/Products/Debug-iphonesimulator/DuckDuckGo.app | ||
workspace: .maestro | ||
include-tags: sync | ||
env: | | ||
CODE=${{ steps.sync-recovery-code.outputs.recovery-code }} | ||
- name: Create Asana task when workflow failed | ||
if: ${{ failure() }} | ||
run: | | ||
curl -s "https://app.asana.com/api/1.0/tasks" \ | ||
--header "Accept: application/json" \ | ||
--header "Authorization: Bearer ${{ secrets.ASANA_ACCESS_TOKEN }}" \ | ||
--header "Content-Type: application/json" \ | ||
--data ' { "data": { "name": "GH Workflow Failure - Sync End to end tests", "workspace": "${{ vars.GH_ASANA_WORKSPACE_ID }}", "projects": [ "${{ vars.GH_ASANA_IOS_APP_PROJECT_ID }}" ], "notes" : "The end to end workflow has failed. See https://github.com/duckduckgo/iOS/actions/runs/${{ github.run_id }}" } }' | ||
- name: Upload logs when workflow failed | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: BuildLogs | ||
path: | | ||
xcodebuild.log | ||
DerivedData/Logs/Test/*.xcresult | ||
retention-days: 7 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- scroll | ||
- scroll | ||
- scroll | ||
- assertVisible: Debug Menu | ||
- tapOn: Debug Menu | ||
- tapOn: Internal User State | ||
- tapOn: Settings |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- assertVisible: Sync & Back Up | ||
- tapOn: Sync & Back Up | ||
- assertVisible: Sync & Back Up | ||
- tapOn: Start Sync & Back Up | ||
- assertVisible: All Set! | ||
- tapOn: Next | ||
- assertVisible: Save Recovery Code? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- assertVisible: Sync & Back Up | ||
- scroll | ||
- tapOn: | ||
point: 50%,91% # TODO: Revisit after new setup flow has been implemented. | ||
- assertVisible: Delete Server Data? | ||
- tapOn: Delete Server Data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- runFlow: | ||
file: ../shared/sync_create.yaml | ||
|
||
|
||
# Clean up | ||
- tapOn: Not Now | ||
- assertVisible: Sync & Back Up | ||
- runFlow: | ||
file: ../shared/sync_delete.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
# Create an account | ||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- runFlow: | ||
file: ../shared/sync_create.yaml | ||
|
||
# Copy Sync Code and Log Out | ||
- tapOn: Copy Code | ||
- tapOn: Not Now | ||
- assertVisible: Sync & Back Up | ||
- tapOn: Turn Off Sync & Back Up | ||
- assertVisible: Turn Off Sync? | ||
- tapOn: Remove | ||
|
||
# Login | ||
- assertVisible: Sync & Back Up | ||
- tapOn: Enter Text Code | ||
- tapOn: Paste | ||
- assertVisible: Device Synced! | ||
- tapOn: Next | ||
- tapOn: Not Now | ||
|
||
# Clean up | ||
- assertVisible: Sync & Back Up | ||
- runFlow: | ||
file: ../shared/sync_delete.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
# <WORKAROUND>This is a workaround to: | ||
# - Put the code in the clipboard on Maestro Cloud | ||
# - Prevent iOS from showing the Paste permission alert as Maestro can't handle it | ||
- tapOn: | ||
id: searchEntry | ||
- inputText: ${CODE} | ||
- repeat: | ||
while: | ||
notVisible: "Select All" | ||
commands: | ||
- tapOn: | ||
id: searchEntry | ||
- tapOn: Select All | ||
- tapOn: Cut | ||
- tapOn: | ||
id: searchEntry | ||
- longPressOn: | ||
id: searchEntry | ||
- tapOn: Paste | ||
- tapOn: Cancel | ||
#</WORKAROUND> | ||
|
||
# Recover Account test | ||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- assertVisible: Sync & Back Up | ||
- tapOn: Sync & Back Up | ||
- assertVisible: Sync & Back up | ||
- tapOn: Recover Your Data | ||
- tapOn: Enter Text Code | ||
- tapOn: Paste | ||
- assertVisible: Device Synced! | ||
- tapOn: Next | ||
- tapOn: Not Now | ||
- tapOn: Settings | ||
- tapOn: Done |
Oops, something went wrong.