Skip to content

Commit 17a4bf1

Browse files
committed
Construct the test app still with all products
1 parent 17637b3 commit 17a4bf1

File tree

2 files changed

+45
-16
lines changed

2 files changed

+45
-16
lines changed

ci/fireci/fireciplugins/macrobenchmark/run/runner.py

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from .test_project_builder import TestProjectBuilder
2323
from .utils import execute
2424
from pathlib import Path
25-
from typing import Dict, List
25+
from typing import Dict, List, Set
2626

2727

2828
logger = logging.getLogger('fireci.macrobenchmark')
@@ -40,7 +40,7 @@ async def start(
4040
config = _process_config_yaml()
4141
product_versions = _assemble_all_products()
4242
test_dir = _prepare_test_directory()
43-
changed_modules = _process_changed_modules(changed_modules_file)
43+
changed_traces = _process_changed_modules(changed_modules_file)
4444
template_project_dir = Path('health-metrics/benchmark/template')
4545

4646
test_projects = [
@@ -49,7 +49,7 @@ async def start(
4949
test_dir,
5050
template_project_dir,
5151
product_versions,
52-
changed_modules,
52+
changed_traces,
5353
).build() for test_config in config['test-apps']]
5454

5555
if not build_only:
@@ -110,14 +110,39 @@ def _prepare_test_directory() -> Path:
110110

111111

112112
def _process_changed_modules(path: Path) -> List[str]:
113-
results = []
113+
trace_names = {
114+
":appcheck": ["fire-app-check"],
115+
":firebase-abt": ["fire-abt"],
116+
":firebase-appdistribution": ["fire-appdistribution"],
117+
":firebase-config": ["fire-rc"],
118+
":firebase-common": ["Firebase", "ComponentDiscovery", "Runtime"],
119+
":firebase-components": ["Firebase", "ComponentDiscovery", "Runtime"],
120+
":firebase-database": ["fire-rtdb"],
121+
":firebase-datatransport": ["fire-transport"],
122+
":firebase-dynamic-links": ["fire-dl"],
123+
":firebase-crashlytics": ["fire-cls"],
124+
":firebase-crashlytics-ndk": ["fire-cls"],
125+
":firebase-firestore": ["fire-fst"],
126+
":firebase-functions": ["fire-fn"],
127+
":firebase-inappmessaging": ["fire-fiam"],
128+
":firebase-inappmessaging-display": ["fire-fiamd"],
129+
":firebase-installations": ["fire-installations"],
130+
":firebase-installations-interop": ["fire-installations"],
131+
":firebase-messaging": ["fire-fcm"],
132+
":firebase-messaging-directboot": ["fire-fcm"],
133+
":firebase-ml-modeldownloader": ["firebase-ml-modeldownloader"],
134+
":firebase-perf": ["fire-perf"],
135+
":firebase-storage": ["fire-gcs"],
136+
":transport": ["fire-transport"],
137+
}
138+
139+
results: Set[str] = set()
114140
if path:
115141
with open(path) as changed_modules_file:
116142
changed_modules = json.load(changed_modules_file)
117143
for module in changed_modules:
118-
names = module.split(':')
119-
for name in names:
120-
if name.startswith('firebase-'):
121-
results.append(f'com.google.firebase:{name}')
122-
logger.info(f"Extracted changed modules {results} from {path}")
123-
return results
144+
for product in trace_names:
145+
if module.startswith(product):
146+
results.update(trace_names[product])
147+
logger.info(f"Extracted changed traces {results} from {path}")
148+
return list(results)

ci/fireci/fireciplugins/macrobenchmark/run/test_project_builder.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ def __init__(
3434
test_dir: Path,
3535
template_project_dir: Path,
3636
product_versions: Dict[str, str],
37-
changed_modules: List[str],
37+
changed_traces: List[str],
3838
):
3939
self.test_config = test_config
4040
self.template_project_dir = template_project_dir
4141
self.product_versions = product_versions
42-
self.changed_modules = changed_modules
42+
self.changed_traces = changed_traces
4343

44-
self.name = 'test-changed' if changed_modules else 'test-all'
44+
self.name = 'test-changed' if changed_traces else 'test-all'
4545
self.logger = LogDecorator(logger, self.name)
4646
self.project_dir = test_dir.joinpath(self.name)
4747

@@ -68,7 +68,7 @@ def _flesh_out_mustache_template_files(self):
6868
mustache_context = {
6969
'm2repository': os.path.abspath('build/m2repository'),
7070
'plugins': self.test_config.get('plugins', []),
71-
'traces': self.test_config.get('traces', []),
71+
'traces': [],
7272
'dependencies': [],
7373
}
7474

@@ -79,8 +79,12 @@ def _flesh_out_mustache_template_files(self):
7979
dependency = {'key': key, 'version': version}
8080
else:
8181
dependency = {'key': dep, 'version': self.product_versions[dep]}
82-
if not self.changed_modules or dep in self.changed_modules:
83-
mustache_context['dependencies'].append(dependency)
82+
mustache_context['dependencies'].append(dependency)
83+
84+
if 'traces' in self.test_config:
85+
for trace in self.test_config['traces']:
86+
if not self.changed_traces or trace in self.changed_traces:
87+
mustache_context['traces'].append(trace)
8488

8589
renderer = pystache.Renderer()
8690
mustaches = self.project_dir.rglob('**/*.mustache')

0 commit comments

Comments
 (0)