@@ -88,12 +88,11 @@ jobs:
88
88
TEST_PATH : " tests/unit"
89
89
COVERAGE_ARGS : " -p"
90
90
command : |
91
- PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--junitxml=target/reports/unit-tests.xml -o junit_suite_name=unit-tests" make test-coverage
91
+ COVERAGE_FILE="target/coverage/.coverage.unit.${CIRCLE_NODE_INDEX}" \
92
+ PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--junitxml=target/reports/unit-tests.xml -o junit_suite_name=unit-tests" \
93
+ make test-coverage
92
94
- store_test_results :
93
95
path : target/reports/
94
- - run :
95
- name : Store coverage results
96
- command : mv .coverage.* target/coverage/
97
96
- persist_to_workspace :
98
97
root :
99
98
/tmp/workspace
@@ -115,10 +114,9 @@ jobs:
115
114
TEST_PATH : " tests/aws/services/lambda_/ tests/aws/test_integration.py tests/aws/services/apigateway/test_apigateway_basic.py tests/aws/services/cloudformation/resources/test_lambda.py"
116
115
COVERAGE_ARGS : " -p"
117
116
command : |
118
- PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 2 --junitxml=target/reports/lambda-docker.xml -o junit_suite_name='legacy-lambda-local'" make test-coverage
119
- - run :
120
- name : Store coverage results
121
- command : mv .coverage.* target/coverage/
117
+ COVERAGE_FILE="target/coverage/.coverage.lambdav1.${CIRCLE_NODE_INDEX}" \
118
+ PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 2 --junitxml=target/reports/lambda-docker.xml -o junit_suite_name='legacy-lambda-local'" \
119
+ make test-coverage
122
120
- persist_to_workspace :
123
121
root :
124
122
/tmp/workspace
@@ -141,14 +139,40 @@ jobs:
141
139
TEST_PATH : " tests/aws/services/stepfunctions/v2/"
142
140
COVERAGE_ARGS : " -p"
143
141
command : |
144
- PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 3 --junitxml=target/reports/sfn_v2.xml -o junit_suite_name='sfn_v2'" make test-coverage
142
+ COVERAGE_FILE="target/coverage/.coverage.sfnv2.${CIRCLE_NODE_INDEX}" \
143
+ PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 3 --junitxml=target/reports/sfn_v2.xml -o junit_suite_name='sfn_v2'" \
144
+ make test-coverage
145
+ - persist_to_workspace :
146
+ root :
147
+ /tmp/workspace
148
+ paths :
149
+ - repo/target/coverage/
150
+ - store_test_results :
151
+ path : target/reports/
152
+
153
+ acceptance-tests :
154
+ executor : ubuntu-machine-amd64
155
+ working_directory : /tmp/workspace/repo
156
+ steps :
157
+ - attach_workspace :
158
+ at : /tmp/workspace
159
+ - prepare-pytest-tinybird
145
160
- run :
146
- name : Store coverage results
147
- command : mv .coverage.* target/coverage/
161
+ name : Acceptance tests (EXPERIMENTAL)
162
+ environment :
163
+ TEST_PATH : " tests/aws/"
164
+ COVERAGE_ARGS : " -p"
165
+ LOCALSTACK_INTERNAL_TEST_COLLECT_METRIC : 1
166
+ command : |
167
+ COVERAGE_FILE="target/coverage/.coverage.acceptance.${CIRCLE_NODE_INDEX}" \
168
+ PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 3 -m acceptance_test --junitxml=target/reports/acceptance_test.xml -o junit_suite_name='acceptance_test'" \
169
+ make test-coverage
148
170
- persist_to_workspace :
149
171
root :
150
172
/tmp/workspace
151
173
paths :
174
+ - repo/target/reports/
175
+ - repo/target/metric_reports/
152
176
- repo/target/coverage/
153
177
- store_test_results :
154
178
path : target/reports/
@@ -167,10 +191,9 @@ jobs:
167
191
TEST_PATH : " tests/aws/services/s3/"
168
192
COVERAGE_ARGS : " -p"
169
193
command : |
170
- PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 3 --junitxml=target/reports/s3_stream.xml -o junit_suite_name='s3_stream'" make test-coverage
171
- - run :
172
- name : Store coverage results
173
- command : mv .coverage.* target/coverage/
194
+ COVERAGE_FILE="target/coverage/.coverage.s3stream.${CIRCLE_NODE_INDEX}" \
195
+ PYTEST_ARGS="${TINYBIRD_PYTEST_ARGS}--reruns 3 --junitxml=target/reports/s3_stream.xml -o junit_suite_name='s3_stream'" \
196
+ make test-coverage
174
197
- persist_to_workspace :
175
198
root :
176
199
/tmp/workspace
@@ -346,6 +369,13 @@ jobs:
346
369
steps :
347
370
- attach_workspace :
348
371
at : /tmp/workspace
372
+ # store (uncombined) coverage from acceptance tests
373
+ - run :
374
+ name : fetch isolated acceptance coverage
375
+ command : |
376
+ cp target/coverage/.coverage.acceptance.* .coverage.acceptance
377
+ - store_artifacts :
378
+ path : .coverage.acceptance
349
379
- run :
350
380
name : Collect coverage
351
381
command : |
@@ -372,6 +402,13 @@ jobs:
372
402
python -m scripts.tinybird.upload_raw_test_metrics_and_coverage
373
403
- store_artifacts :
374
404
path : parity_metrics/
405
+ - run :
406
+ name : store acceptance parity metrics
407
+ command : |
408
+ mkdir acceptance_parity_metrics
409
+ mv target/metric_reports/metric-report*acceptance* acceptance_parity_metrics/
410
+ - store_artifacts :
411
+ path : acceptance_parity_metrics/
375
412
- store_artifacts :
376
413
path : scripts/implementation_coverage_aggregated.csv
377
414
destination : community/implementation_coverage_aggregated.csv
@@ -381,6 +418,7 @@ jobs:
381
418
- store_artifacts :
382
419
path : .coverage
383
420
421
+
384
422
push :
385
423
executor : ubuntu-machine-amd64
386
424
working_directory : /tmp/workspace/repo
@@ -438,6 +476,9 @@ workflows:
438
476
- preflight :
439
477
requires :
440
478
- install
479
+ - acceptance-tests :
480
+ requires :
481
+ - preflight
441
482
- itest-lambda-legacy-local :
442
483
requires :
443
484
- preflight
@@ -491,6 +532,7 @@ workflows:
491
532
requires :
492
533
- itest-lambda-legacy-local
493
534
- itest-sfn-v2-provider
535
+ - acceptance-tests
494
536
- docker-test-amd64
495
537
- docker-test-arm64
496
538
- collect-not-implemented
@@ -502,6 +544,7 @@ workflows:
502
544
requires :
503
545
- itest-lambda-legacy-local
504
546
- itest-sfn-v2-provider
547
+ - acceptance-tests
505
548
- docker-test-amd64
506
549
- docker-test-arm64
507
550
- unit-tests
0 commit comments