Skip to content

Commit 44ea56c

Browse files
committed
Merge main
2 parents fa7b904 + 0ed289c commit 44ea56c

28 files changed

+356
-23
lines changed

.github/workflows/check-beta-l10n.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Check new beta version - L10N
22

33
on:
44
schedule:
5-
- cron: "40 */1 * * *"
5+
- cron: "21 */1 * * *"
66
env:
77
LATEST: ""
88
permissions:

choose_l10n_ci_set.py

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import json
2+
import logging
23
import os
34
import re
5+
import subprocess
46
import sys
57
from collections import defaultdict
68
from subprocess import check_output
@@ -32,16 +34,28 @@ def valid_l10n_mappings():
3234
return mapping
3335

3436

35-
def add_selected_mappings(mappings):
37+
def distribute_mappings_evenly(mappings, version):
3638
"""
3739
Write the selected mappings to the output file.
3840
3941
Args:
4042
mappings (dict): A dictionary of mappings, where the keys are sites and the values are sets of regions.
43+
version (int): The beta_version of the beta.
4144
"""
42-
for site, regions in mappings.items():
43-
with open(OUTPUT_FILE, "a+") as f:
44-
f.write(f"{site} {' '.join(regions)}\n")
45+
if not mappings:
46+
return {}
47+
# sort the mappings by the length of the regions per site
48+
mappings = dict(sorted(mappings.items(), key=lambda val: len(val[1]), reverse=True))
49+
# place the mappings into 3 containers evenly according to the load
50+
loads = [0, 0, 0]
51+
containers = [defaultdict(set) for _ in range(3)]
52+
for key, value in mappings.items():
53+
min_idx = loads.index(min(loads))
54+
containers[min_idx][key] = value
55+
loads[min_idx] += len(value)
56+
# get container index according to beta beta_version
57+
run_idx = version % 3
58+
return containers[run_idx]
4559

4660

4761
def process_changed_file(f, selected_mappings):
@@ -53,7 +67,6 @@ def process_changed_file(f, selected_mappings):
5367
selected_mappings: the selected mappings dictionary (updated in place).
5468
"""
5569
split = f.split(SLASH)
56-
5770
if f.startswith(os.path.join("l10n_CM", "sites")) or f.startswith(
5871
os.path.join("l10n_CM", "constants")
5972
):
@@ -73,6 +86,23 @@ def process_changed_file(f, selected_mappings):
7386
selected_mappings[site].add(region)
7487

7588

89+
def save_mappings(selected_container):
90+
"""
91+
Save the selected mappings to the output file.
92+
93+
Args:
94+
selected_container: the selected mappings container.
95+
"""
96+
if not selected_container:
97+
return
98+
current_running_mappings = [
99+
f"{key} {' '.join(value)}\n" for key, value in selected_container.items()
100+
]
101+
logging.warning(f"Running the mappings:\n{''.join(current_running_mappings)}")
102+
with open(OUTPUT_FILE, "a+") as f:
103+
f.writelines(current_running_mappings)
104+
105+
76106
if __name__ == "__main__":
77107
if os.path.exists(".env"):
78108
with open(".env") as fh:
@@ -83,11 +113,27 @@ def process_changed_file(f, selected_mappings):
83113
os.environ["MANUAL"] = "true"
84114
with open(OUTPUT_FILE, "w") as file:
85115
pass # File is created or cleared
116+
try:
117+
beta_version = int(
118+
(
119+
subprocess.check_output(
120+
[sys.executable, "./collect_executables.py", "-n"]
121+
)
122+
.strip()
123+
.decode()
124+
)
125+
.split("-")[0]
126+
.split(".")[1]
127+
.split("b")[1]
128+
)
129+
except ValueError:
130+
# failsafe beta_version
131+
beta_version = 0
86132
l10n_mappings = valid_l10n_mappings()
87133
sample_mappings = {k: v for k, v in l10n_mappings.items() if k.startswith("demo")}
88134
if os.environ.get("TESTRAIL_REPORT") or os.environ.get("MANUAL"):
89135
# Run all tests if this is a scheduled beta or a manual run
90-
add_selected_mappings(l10n_mappings)
136+
save_mappings(distribute_mappings_evenly(l10n_mappings, beta_version))
91137
sys.exit(0)
92138

93139
re_set_all = [
@@ -148,5 +194,5 @@ def process_changed_file(f, selected_mappings):
148194
selected_mappings |= sample_mappings
149195
break
150196

151-
add_selected_mappings(selected_mappings)
197+
save_mappings(distribute_mappings_evenly(selected_mappings, beta_version))
152198
sys.exit(0)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"url": "http://127.0.0.1:8080/apple_ad.html",
3+
"field_mapping": {
4+
"given_name": "064e83ef-0759-4550-b07f-aa7946ec2656",
5+
"family_name": "d3c05647-2ebb-4645-a514-723f23190bd2",
6+
"street_address" : "b676e225-528d-450a-8b9a-a3b906da9be9",
7+
"postal_code": "4d918f60-7d0f-4d6b-a351-69d385d2f1fa",
8+
"email": "74d4253b-eedd-4f15-8e74-34bc2c69f340",
9+
"telephone": "6ec0489f-dc1d-403a-bb13-0293b3c9bef4"
10+
11+
},
12+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
13+
"fields": [
14+
"064e83ef-0759-4550-b07f-aa7946ec2656",
15+
"d3c05647-2ebb-4645-a514-723f23190bd2",
16+
"b676e225-528d-450a-8b9a-a3b906da9be9",
17+
"4d918f60-7d0f-4d6b-a351-69d385d2f1fa",
18+
"74d4253b-eedd-4f15-8e74-34bc2c69f340",
19+
"6ec0489f-dc1d-403a-bb13-0293b3c9bef4"
20+
21+
]
22+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"url": "http://127.0.0.1:8080/apple_cc.html",
3+
"field_mapping": {
4+
"card_number": "11111111-aaaa-bbbb-cccc-000000000000",
5+
"expiration_date": "22222222-bbbb-cccc-dddd-111111111111",
6+
"cvv": "33333333-cccc-dddd-eeee-222222222222"
7+
},
8+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
9+
"skip": "True",
10+
"fields": [
11+
"11111111-aaaa-bbbb-cccc-000000000000",
12+
"22222222-bbbb-cccc-dddd-111111111111",
13+
"33333333-cccc-dddd-eeee-222222222222"
14+
]
15+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"url": "http://127.0.0.1:8080/assos_ad.html",
3+
"field_mapping": {
4+
"given_name": "7327e2ab-c813-41a0-914c-b6f499f20872",
5+
"family_name": "be07f0e9-8e7b-4c50-9891-1ffd8421c0e4",
6+
"address_level_2": "55a16b07-7c42-4b38-8bd6-d02640d46139",
7+
"address_level_1": "48c17b5e-dc31-464b-83c2-fd8c9378508a",
8+
"street_address" : "1b5887d6-7e78-4406-81f6-a8a269d279a3",
9+
"postal_code": "517f152f-ceee-4fbd-9f41-d022b3596b09",
10+
"telephone": "dd270ccb-e8ea-49ac-bfcd-a48bc225b535"
11+
12+
},
13+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
14+
"fields": [
15+
"7327e2ab-c813-41a0-914c-b6f499f20872",
16+
"be07f0e9-8e7b-4c50-9891-1ffd8421c0e4",
17+
"55a16b07-7c42-4b38-8bd6-d02640d46139",
18+
"48c17b5e-dc31-464b-83c2-fd8c9378508a",
19+
"1b5887d6-7e78-4406-81f6-a8a269d279a3",
20+
"517f152f-ceee-4fbd-9f41-d022b3596b09",
21+
"dd270ccb-e8ea-49ac-bfcd-a48bc225b535"
22+
]
23+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"url": "http://127.0.0.1:8080/assos_cc.html",
3+
"field_mapping": {
4+
"card_number": "733a34b7-dee2-4117-8c2f-071b524132cc",
5+
"expiration_date": "71861c8c-6842-40f3-8de5-0cca4cbbbd04",
6+
"cvv": "87f69f19-0c97-4fe3-b0e9-67a9a0a8902f",
7+
"given_name": "4f011f17-0752-4f0d-816f-e6b3c4576aaa",
8+
"family_name": "ec81a5b7-c1a3-4f87-b139-514ceddbf070"
9+
},
10+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
11+
"fields": [
12+
"733a34b7-dee2-4117-8c2f-071b524132cc",
13+
"71861c8c-6842-40f3-8de5-0cca4cbbbd04",
14+
"87f69f19-0c97-4fe3-b0e9-67a9a0a8902f",
15+
"4f011f17-0752-4f0d-816f-e6b3c4576aaa",
16+
"ec81a5b7-c1a3-4f87-b139-514ceddbf070"
17+
]
18+
}

l10n_CM/constants/diy/GB/diy_ad.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"url": "http://127.0.0.1:8080/diy_ad.html",
3+
"field_mapping": {
4+
"given_name": "a0ac142d-5ef6-4f5a-b62a-6656fb094027",
5+
"family_name": "254ad5e3-4dca-47fc-a8b0-4e9100b37a6c",
6+
"address_level_2": "6252605d-3b83-4204-88ee-6a905aae44fd",
7+
"country": "4f4f99dc-f710-4ad5-88ae-919d0b1dabcb",
8+
"postal_code": "4732adf2-b596-42e2-b11e-e9d64d8e4f0e",
9+
"telephone": "8bd92901-44f9-42de-a961-67da66a6541c"
10+
},
11+
12+
"form_field": "*[data-moz-autofill-inspect-id='{given_name}']",
13+
"fields": [
14+
"a0ac142d-5ef6-4f5a-b62a-6656fb094027",
15+
"254ad5e3-4dca-47fc-a8b0-4e9100b37a6c",
16+
"6252605d-3b83-4204-88ee-6a905aae44fd",
17+
"4f4f99dc-f710-4ad5-88ae-919d0b1dabcb",
18+
"4732adf2-b596-42e2-b11e-e9d64d8e4f0e",
19+
"8bd92901-44f9-42de-a961-67da66a6541c"
20+
]
21+
}

l10n_CM/constants/diy/GB/diy_cc.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"url": "http://127.0.0.1:8080/diy_cc.html",
3+
"field_mapping": {
4+
"card_name": "7d607801-efce-412d-916f-81f1b99ce9af",
5+
"card_number": "7d762fdc-dabf-4cb4-9ed2-86b7ae92dc19",
6+
"expiration_date": "a4312b6f-02cb-4395-9365-df1580bcb5ec",
7+
"cvv": "84be2cbe-c6c2-4948-98fe-c734d1df56cd"
8+
},
9+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
10+
"skip": "True",
11+
"fields": [
12+
"7d607801-efce-412d-916f-81f1b99ce9af",
13+
"7d762fdc-dabf-4cb4-9ed2-86b7ae92dc19",
14+
"a4312b6f-02cb-4395-9365-df1580bcb5ec",
15+
"84be2cbe-c6c2-4948-98fe-c734d1df56cd"
16+
]
17+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"url": "http://127.0.0.1:8080/peacocks_ad.html",
3+
"field_mapping": {
4+
"given_name": "2fb50c78-6562-462d-9b34-c967f30e63a3",
5+
"family_name": "b1cc8bd9-057e-49ca-bf8e-5b18e1880854",
6+
"street_address": "9fc1faad-e6d2-43a0-bc0d-6ceb88a3d01c",
7+
"address_level_2": "32891e12-a4e5-4cd1-94c7-36d38328c899",
8+
"postal_code": "8621750d-0979-4795-9079-e40eeef17f66",
9+
"country": "f132c39a-0cf7-49ce-bad1-12b4e075af02",
10+
"telephone": "3de63156-1e5d-4512-ad88-3493385f9ab2"
11+
},
12+
13+
"form_field": "*[data-moz-autofill-inspect-id='{given_name}']",
14+
"fields": [
15+
"2fb50c78-6562-462d-9b34-c967f30e63a3",
16+
"b1cc8bd9-057e-49ca-bf8e-5b18e1880854",
17+
"9fc1faad-e6d2-43a0-bc0d-6ceb88a3d01c",
18+
"32891e12-a4e5-4cd1-94c7-36d38328c899",
19+
"8621750d-0979-4795-9079-e40eeef17f66",
20+
"f132c39a-0cf7-49ce-bad1-12b4e075af02",
21+
"3de63156-1e5d-4512-ad88-3493385f9ab2"
22+
]
23+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"url": "http://127.0.0.1:8080/peacocks_cc.html",
3+
"field_mapping": {
4+
"card_number": "72b3f40c-b66c-4a02-adfb-a79a2868fa45",
5+
"name": "71408c5c-451b-4242-9ed7-550cf4a8c893",
6+
"expiration_month": "6f76ab0a-3ee3-4fcb-a047-b2dac639e54a",
7+
"expiration_year": "fe5c1862-ad33-4df4-abca-c45b1ccd989a",
8+
"cvv": "a544ec67-6767-4c72-9484-b247b32c2827"
9+
},
10+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
11+
"skip": "True",
12+
"fields": [
13+
"72b3f40c-b66c-4a02-adfb-a79a2868fa45",
14+
"71408c5c-451b-4242-9ed7-550cf4a8c893",
15+
"6f76ab0a-3ee3-4fcb-a047-b2dac639e54a",
16+
"fe5c1862-ad33-4df4-abca-c45b1ccd989a",
17+
"a544ec67-6767-4c72-9484-b247b32c2827"
18+
]
19+
}

0 commit comments

Comments
 (0)