Skip to content

Commit b7d1c36

Browse files
Merge branch 'main' into vs/tiffany-IT
2 parents 02b688c + c78827b commit b7d1c36

File tree

15 files changed

+194
-27
lines changed

15 files changed

+194
-27
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: 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+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"url": "http://127.0.0.1:8080/burtsbees_ad.html",
3+
"field_mapping": {
4+
"given_name": "484c9a5e-d921-4d8d-8006-45ba05e0f68a",
5+
"family_name": "f5cade23-4cbf-47dd-8011-4979698b5d12",
6+
"street_address": "5bad4ca0-fc9e-452c-a04c-1ffc66bd2024",
7+
"address_level_2": "7a97a81e-44e2-40b0-a3ac-d8608463cd1e",
8+
"postal_code": "95c16291-635f-4ed0-b18e-e733d36fcc83",
9+
"telephone": "75d72d2e-61d0-415f-b51f-0ed1fe1d1922"
10+
},
11+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
12+
"fields": [
13+
"484c9a5e-d921-4d8d-8006-45ba05e0f68a",
14+
"f5cade23-4cbf-47dd-8011-4979698b5d12",
15+
"5bad4ca0-fc9e-452c-a04c-1ffc66bd2024",
16+
"7a97a81e-44e2-40b0-a3ac-d8608463cd1e",
17+
"95c16291-635f-4ed0-b18e-e733d36fcc83",
18+
"75d72d2e-61d0-415f-b51f-0ed1fe1d1922"
19+
]
20+
}
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/burtsbees_cc.html",
3+
"field_mapping": {
4+
"card_number": "39b722f9-ff49-4e30-a801-4a38945cc7e1",
5+
"expiration_date": "57021e0e-6309-45b1-9c15-62cd56e1e930",
6+
"cvv": "57021e0e-6309-45b1-9c15-62cd56e1e930"
7+
},
8+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
9+
"skip": "True",
10+
"fields": [
11+
"39b722f9-ff49-4e30-a801-4a38945cc7e1",
12+
"57021e0e-6309-45b1-9c15-62cd56e1e930",
13+
"57021e0e-6309-45b1-9c15-62cd56e1e930"
14+
]
15+
}

l10n_CM/region/CA.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"etsy",
88
"newbalance",
99
"canadatire",
10-
"ebay"
10+
"ebay",
11+
"burtsbees"
1112
],
1213
"tests": [
1314
]

l10n_CM/region/GB.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"demo",
66
"peacocks",
77
"whittard",
8-
"diy"
8+
"diy",
9+
"assos"
910
],
1011
"tests": [
1112
]

l10n_CM/run_l10n.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@
4141
"justspices",
4242
"yellowkorner",
4343
"bijoubrigitte",
44+
"burtsbees",
4445
"peacocks",
4546
"whittard",
4647
"diy",
4748
"tiffany"
49+
"assos",
4850
}
4951

5052
loaded_valid_sites = valid_l10n_mappings().keys()

l10n_CM/sites/assos/GB/assos_ad.html

Lines changed: 6 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)