Skip to content

Commit 55763fc

Browse files
Merge branch 'release/5.269.0'
2 parents 95f34a0 + 91b419f commit 55763fc

File tree

215 files changed

+6975
-1509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

215 files changed

+6975
-1509
lines changed

.github/actions/assign-release-task/action.yml

Lines changed: 34 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,34 @@ inputs:
1010
project_gid:
1111
description: 'Asana Project GID to search within'
1212
required: true
13-
username:
14-
description: 'The Github username to search for'
13+
github_token:
14+
description: 'GitHub token for private mapping repo access'
1515
required: true
16+
1617
outputs:
1718
task_id:
1819
description: 'The Asana task ID that was found and assigned'
20+
value: ${{ steps.find-asana-release-task.outputs.task_id }}
21+
1922
runs:
2023
using: 'composite'
2124
steps:
22-
- name: Find task, assign it, and write ID to file
25+
- name: Find Asana User ID
26+
id: find-asana-user-id
27+
uses: duckduckgo/native-github-asana-sync@v2.3
28+
with:
29+
action: 'get-asana-user-id'
30+
github-username: ${{ github.actor }}
31+
github-pat: ${{ inputs.github_token }}
32+
33+
- name: Find Asana Release task, assign it, and write ID to file
34+
id: find-asana-release-task
2335
shell: bash
2436
env: # Make inputs available as environment variables for easier access in the script
2537
INPUT_TASK_NAME: ${{ inputs.task_name }}
2638
INPUT_ASANA_TOKEN: ${{ inputs.asana_token }}
2739
INPUT_PROJECT_GID: ${{ inputs.project_gid }}
28-
INPUT_USERNAME: ${{ inputs.username }}
29-
OUTPUT_FILE_PATH: "${{ github.workspace }}/asana_task_id.txt" # Define the output file path
40+
INPUT_ASANA_USER_ID: ${{ steps.find-asana-user-id.outputs.asanaUserId }}
3041
run: |
3142
set -e # Exit immediately if a command exits with a non-zero status.
3243
echo "Searching for task: '$INPUT_TASK_NAME' in project GID: '$INPUT_PROJECT_GID'"
@@ -41,57 +52,27 @@ runs:
4152
4253
if [ -z "$found_task_id" ]; then
4354
echo "::error::No task with the exact name '$INPUT_TASK_NAME' found in project GID '$INPUT_PROJECT_GID'."
44-
# Write an empty string or a specific marker to the file if task not found
45-
echo "TASK_NOT_FOUND" > "$OUTPUT_FILE_PATH"
4655
exit 1
4756
else
4857
echo "Found Task ID: '$found_task_id'"
49-
# Write the found task ID to the specified file
50-
echo "$found_task_id" > "$OUTPUT_FILE_PATH"
51-
echo "Task ID successfully written to $OUTPUT_FILE_PATH"
5258
fi
5359
54-
# --- Get Asana User ID ---
55-
# Assuming github_asana_mapping.yml is at .github/actions/assign-release-task/github_asana_mapping.yml
56-
# relative to the REPO ROOT, not the action directory itself during runtime.
57-
# For composite actions, paths in scripts are relative to github.workspace.
58-
# If the mapping file is part of the action's folder, the path might need to be:
59-
# ${{ github.action_path }}/github_asana_mapping.yml
60-
# However, it's often better if such mapping files are at a known repo location.
61-
# Let's assume it's checked into the root for simplicity here, or adjust as needed.
62-
MAPPING_FILE="${{ github.workspace }}/.github/actions/assign-release-task/github_asana_mapping.yml" # Or adjust path
63-
64-
echo "Looking up Asana User ID for GitHub user: '$INPUT_USERNAME' in file: '$MAPPING_FILE'"
65-
if [ ! -f "$MAPPING_FILE" ]; then
66-
echo "::error::Mapping file not found at $MAPPING_FILE"
67-
echo "USER_MAPPING_FILE_NOT_FOUND" > "$OUTPUT_FILE_PATH" # Overwrite with error state
68-
exit 1
60+
echo "Assigning task ID $found_task_id to user ID $INPUT_ASANA_USER_ID"
61+
62+
# Assign the task to the user
63+
response=$(curl -s -X PUT "https://app.asana.com/api/1.0/tasks/${found_task_id}" \
64+
-H "Authorization: Bearer ${INPUT_ASANA_TOKEN}" \
65+
-H "Content-Type: application/json" \
66+
-d "{\"data\": {\"assignee\": \"${INPUT_ASANA_USER_ID}\"}}")
67+
68+
# Check if the assignment was successful
69+
status=$(echo $response | jq -r '.errors')
70+
71+
if [ "$status" == "null" ]; then
72+
echo "Task $found_task_id successfully assigned to user $INPUT_ASANA_USER_ID."
73+
echo "task_id=$found_task_id" >> "$GITHUB_OUTPUT"
74+
else
75+
echo "Failed to assign task: $status"
76+
exit 1
6977
fi
70-
71-
# asana_user_id=$(grep -E "^$username: " .github/actions/assign-release-task/github_asana_mapping.yml | awk -F': ' '{print $2}' | tr -d '"')
72-
#
73-
# if [ -z "asana_user_id" ]; then
74-
# echo "User $username not found."
75-
# exit 1
76-
# else
77-
# echo "User ID for $username: $asana_user_id"
78-
# fi
79-
#
80-
# echo "Assigning task ID $task_id to user ID $asana_user_id"
81-
#
82-
# # Assign the task to the user
83-
# response=$(curl -s -X PUT "https://app.asana.com/api/1.0/tasks/${task_id}" \
84-
# -H "Authorization: Bearer ${asana_token}" \
85-
# -H "Content-Type: application/json" \
86-
# -d "{\"data\": {\"assignee\": \"${asana_user_id}\"}}")
87-
#
88-
# # Check if the assignment was successful
89-
# status=$(echo $response | jq -r '.errors')
90-
#
91-
# if [ "$status" == "null" ]; then
92-
# echo "Task $task_id successfully assigned to user $asana_user_id."
93-
# else
94-
# echo "Failed to assign task: $status"
95-
# exit 1
96-
# fi
97-
#
78+

.github/actions/assign-release-task/github_asana_mapping.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
code_formatting:
2323
name: Code Formatting
2424
runs-on: ubuntu-24.04
25+
env:
26+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2527

2628
steps:
2729
- name: Checkout repository
@@ -47,6 +49,8 @@ jobs:
4749
unit_tests:
4850
name: Unit tests
4951
runs-on: android-large-runner
52+
env:
53+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5054

5155
steps:
5256
- name: Checkout repository
@@ -82,6 +86,8 @@ jobs:
8286
lint:
8387
name: Lint
8488
runs-on: android-large-runner
89+
env:
90+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
8591

8692
steps:
8793
- name: Checkout repository

.github/workflows/nightly.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
code_formatting:
2323
name: Code Formatting
2424
runs-on: android-large-runner
25+
env:
26+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2527

2628
steps:
2729
- name: Checkout repository
@@ -48,6 +50,8 @@ jobs:
4850
unit_tests:
4951
name: Unit tests
5052
runs-on: android-large-runner
53+
env:
54+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5155

5256
steps:
5357
- name: Checkout repository
@@ -84,6 +88,8 @@ jobs:
8488
lint:
8589
name: Lint
8690
runs-on: android-large-runner
91+
env:
92+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
8793

8894
steps:
8995
- name: Checkout repository

.github/workflows/release_create_tag.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,15 @@ jobs:
3131
runs-on: macos-latest
3232

3333
steps:
34+
- name: Check app-version value
35+
run: |
36+
if [ "${{ inputs.app-version }}" == "PLACEHOLDER" ]; then
37+
echo "Input value cannot be 'PLACEHOLDER'."
38+
exit 1
39+
else
40+
echo "Input value is valid: ${{ inputs.app-version }}"
41+
fi
42+
3443
- name: Checkout repository
3544
uses: actions/checkout@v4
3645
with:

.github/workflows/release_create_task.yml

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,6 @@ jobs:
2929
runs-on: macos-latest
3030

3131
steps:
32-
- name: Check app-version value
33-
run: |
34-
if [ "${{ inputs.app-version }}" == "PLACEHOLDER" ]; then
35-
echo "Input value cannot be 'PLACEHOLDER'."
36-
exit 1
37-
else
38-
echo "Input value is valid: ${{ inputs.app-version }}"
39-
fi
4032
- name: Checkout repository
4133
uses: actions/checkout@v4
4234
with:
@@ -71,35 +63,14 @@ jobs:
7163
task_name: 'Android Release ${{ inputs.app-version }}'
7264
asana_token: ${{ secrets.ASANA_ACCESS_TOKEN }}
7365
project_gid: ${{ vars.GH_ANDROID_RELEASE_BOARD_PROJECT_ID }}
74-
username: ${{ github.actor }}
75-
76-
- name: Read Task ID from file and set as output
77-
id: read_task_output_step
78-
run: |
79-
OUTPUT_FILE="${{ github.workspace }}/asana_task_id.txt"
80-
echo "Attempting to read Task ID from file: $OUTPUT_FILE"
81-
if [ -f "$OUTPUT_FILE" ]; then
82-
TASK_ID_VALUE=$(cat "$OUTPUT_FILE")
83-
echo "Raw content from file: '$TASK_ID_VALUE'"
84-
# Check for error markers
85-
if [[ "$TASK_ID_VALUE" == "TASK_NOT_FOUND" || "$TASK_ID_VALUE" == "USER_MAPPING_FILE_NOT_FOUND" || "$TASK_ID_VALUE" == "USER_NOT_IN_MAPPING" ]]; then
86-
echo "::error::Error marker found in output file: $TASK_ID_VALUE"
87-
echo "task_id=" >> "$GITHUB_OUTPUT" # Set actual output to empty on error
88-
else
89-
echo "Successfully read Task ID: '$TASK_ID_VALUE'"
90-
echo "task_id=$TASK_ID_VALUE" >> "$GITHUB_OUTPUT"
91-
fi
92-
else
93-
echo "::error::Output file $OUTPUT_FILE not found!"
94-
echo "task_id=" >> "$GITHUB_OUTPUT" # Set actual output to empty if file not found
95-
fi
66+
github_token: ${{ secrets.DAXMOBILE_ANDROID_AUTOMATION }}
9667

9768
- name: Get Asana Task Permalink
9869
id: get-task-permalink
9970
uses: duckduckgo/native-github-asana-sync@v2.0
10071
with:
10172
asana-pat: ${{ secrets.ASANA_ACCESS_TOKEN }}
102-
asana-task-id: ${{ steps.read_task_output_step.outputs.task_id }}
73+
asana-task-id: ${{ steps.assign-release-task.outputs.task_id }}
10374
action: 'get-asana-task-permalink'
10475

10576
- name: Notify Mattermost of Task created

.maestro/bookmarks/ensure_bookmarks_can_be_added_and_deleted.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@ tags:
1616
id: "omnibarTextInput"
1717
- inputText: "https://privacy-test-pages.site"
1818
- pressKey: Enter
19-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
19+
- tapOn:
20+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
2021
- assertVisible:
2122
text: "add bookmark"
2223
- tapOn:
2324
text: "add bookmark"
24-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
25+
- tapOn:
26+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
2527
- assertVisible:
2628
text: "bookmarks"
2729
- tapOn:

.maestro/bookmarks/open_bookmark_and_navigate_back.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ tags:
2424
- pressKey: Enter
2525
- assertVisible:
2626
text: "Privacy Test Pages"
27-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
27+
- tapOn:
28+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
2829
- assertVisible:
2930
text: "add bookmark"
3031
- tapOn:
3132
text: "add bookmark"
32-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
33+
- tapOn:
34+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
3335
- assertVisible:
3436
text: "bookmarks"
3537
- tapOn:

.maestro/bookmarks/open_bookmark_in_folder_and_navigate_back.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ tags:
1818
- pressKey: Enter
1919
- assertVisible:
2020
text: "Privacy Test Pages"
21-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
21+
- tapOn:
22+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
2223
- assertVisible:
2324
text: "add bookmark"
2425
- tapOn:
@@ -29,7 +30,8 @@ tags:
2930
- pressKey: Enter
3031
- assertVisible:
3132
text: "Search engine"
32-
- runFlow: ../shared/browser_screen/click_on_menu_button.yaml
33+
- tapOn:
34+
id: 'com.duckduckgo.mobile.android:id/browserMenuImageView'
3335
- assertVisible:
3436
text: "bookmarks"
3537
- tapOn:

.maestro/duckplayer/always_serp_carousel_duckplayer.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
appId: com.duckduckgo.mobile.android
22
name: "DuckPlayer: Always > SERP > Carousel > Duck Player"
3-
tags:
4-
- duckplayer
3+
#tags:
4+
# - duckplayer
55
---
66
- retry:
77
maxRetries: 3

0 commit comments

Comments
 (0)