@@ -14,6 +14,15 @@ COMPOSE_INTEGRATION = ${COMPOSE_PROD} -f docker-compose-integration-test.yml $$(
14
14
COMPOSE_INTEGRATION_RUN = ${COMPOSE_INTEGRATION} run --name experimenter_integration
15
15
DOCKER_BUILD = docker buildx build
16
16
17
+ EPOCH_TIME := $(shell date +"% s")
18
+ TEST_RESULTS_DIR ?= dashboard/test-results
19
+ TEST_FILE_PREFIX := $(if $(CIRCLECI ) ,$(CIRCLE_BUILD_NUM ) __$(EPOCH_TIME ) __$(CIRCLE_PROJECT_REPONAME ) __$(CIRCLE_WORKFLOW_ID ) __)
20
+ UNIT_JUNIT_XML := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) unit__results.xml
21
+ UNIT_COVERAGE_JSON := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) unit__coverage.json
22
+ UI_COVERAGE_JSON := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) ui__coverage.json
23
+ UI_JUNIT_XML := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) ui__results.xml
24
+ INTEGRATION_JUNIT_XML := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) integration__results.xml
25
+
17
26
JOBS = 4
18
27
PARALLEL = parallel --halt now,fail=1 --jobs ${JOBS} {} :::
19
28
NOCOLOR = \033[0m
@@ -50,7 +59,6 @@ LOAD_LANGUAGES = python manage.py loaddata ./experimenter/base/fixtures/language
50
59
LOAD_FEATURES = python manage.py load_feature_configs
51
60
LOAD_DUMMY_EXPERIMENTS = [[ -z $$SKIP_DUMMY ]] && python manage.py load_dummy_experiments || python manage.py load_dummy_projects
52
61
53
-
54
62
JETSTREAM_CONFIG_URL = https://github.com/mozilla/metric-hub/archive/main.zip
55
63
56
64
CLI_DIR = experimenter/experimenter/features/manifests/application-services
@@ -165,6 +173,10 @@ check_and_report: lint
165
173
docker cp experimenter_test:/experimenter/experimenter_tests.xml workspace/test-results
166
174
docker cp experimenter_test:/experimenter/experimenter/nimbus-ui/coverage_report workspace/test-results
167
175
docker cp experimenter_test:/experimenter/experimenter/nimbus-ui/junit.xml workspace/test-results
176
+ cp workspace/test-results/experimenter_coverage.json $(UNIT_COVERAGE_JSON )
177
+ cp workspace/test-results/experimenter_tests.xml $(UNIT_JUNIT_XML )
178
+ cp workspace/test-results/coverage_report/coverage-final.json $(UI_COVERAGE_JSON )
179
+ cp workspace/test-results/junit.xml $(UI_JUNIT_XML )
168
180
docker rm experimenter_test
169
181
170
182
test : build_test # # Run tests
@@ -246,9 +258,11 @@ integration_test_nimbus_sdk: build_integration_test build_prod
246
258
integration_test_nimbus_fenix :
247
259
poetry -C experimenter/tests/integration/ -vvv install --no-root
248
260
poetry -C experimenter/tests/integration/ -vvv run pytest --html=workspace/test-results/report.htm --self-contained-html --reruns-delay 30 --driver Firefox experimenter/tests/integration/nimbus/android --junitxml=workspace/test-results/experimenter_fenix_integration_tests.xml -vvv
261
+ cp experimenter_fenix_integration_tests.xml $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) fenix__integration__results.xml
249
262
250
263
make integration_test_and_report :
251
264
docker cp experimenter_integration:/code/experimenter/tests/integration/test-reports/experimenter_integration_tests.xml workspace/test-results
265
+ cp workspace/test-results/experimenter_integration_tests.xml $(INTEGRATION_JUNIT_XML )
252
266
docker rm experimenter_integration
253
267
254
268
# cirrus
@@ -261,6 +275,8 @@ CIRRUS_PYTEST = pytest . --cov-config=.coveragerc --cov=cirrus --cov-report json
261
275
CIRRUS_PYTHON_TYPECHECK = pyright -p .
262
276
CIRRUS_PYTHON_TYPECHECK_CREATESTUB = pyright -p . --createstub cirrus
263
277
CIRRUS_GENERATE_DOCS = python cirrus/generate_docs.py
278
+ CIRRUS_COVERAGE_JSON := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) cirrus__unit__coverage.json
279
+ CIRRUS_JUNIT_XML := $(TEST_RESULTS_DIR ) /$(TEST_FILE_PREFIX ) cirrus__integration__results.xml
264
280
265
281
cirrus_build : build_megazords
266
282
$(CIRRUS_ENABLE ) $(DOCKER_BUILD ) --target deploy -f cirrus/server/Dockerfile -t cirrus:deploy cirrus/server/
@@ -289,6 +305,8 @@ cirrus_lint: cirrus_build_test
289
305
cirrus_check_and_report : cirrus_lint
290
306
docker cp experimenter_test:/cirrus/cirrus_pytest.xml workspace/test-results
291
307
docker cp experimenter_test:/cirrus/cirrus_coverage.json workspace/test-results
308
+ cp workspace/test-results/cirrus_pytest.xml $(CIRRUS_JUNIT_XML )
309
+ cp workspace/test-results/cirrus_coverage.json $(CIRRUS_COVERAGE_JSON )
292
310
docker rm experimenter_test
293
311
294
312
cirrus_code_format : cirrus_build
0 commit comments