@@ -123,6 +123,30 @@ aliases:
123
123
name : Build and install extension
124
124
command : make sudo install install_ini BUILD_DIR=$(pwd)/tmp/build_extension
125
125
126
+ - &STEP_CODE_COVERAGE
127
+ when :
128
+ # codecov uploader only on amd64
129
+ condition :
130
+ and :
131
+ - equal : [ true, << parameters.coverage >> ]
132
+ - matches :
133
+ pattern : " ^[^.]+$"
134
+ value : << parameters.resource_class >>
135
+ steps :
136
+ - run :
137
+ name : Merge coverage reports
138
+ command : |
139
+ make merge_coverage_reports
140
+ - run :
141
+ name : Install CodeCov Uploader Dependencies
142
+ command : |
143
+ sudo apt update
144
+ sudo apt install -y gpg
145
+ - codecov/upload :
146
+ file : reports/coverage.xml
147
+ upload_name : " PHP<< parameters.php_major_minor >>.<< parameters.make_target >>.dd-trace-php"
148
+ flags : << parameters.codecov_flags >>
149
+
126
150
- &STEP_COMPOSER_CACHE_RESTORE
127
151
restore_cache :
128
152
<< : *CACHE_COMPOSER_KEY
@@ -775,6 +799,12 @@ jobs:
775
799
resource_class :
776
800
type : string
777
801
default : medium
802
+ coverage :
803
+ type : boolean
804
+ default : false
805
+ codecov_flags :
806
+ type : string
807
+ default : " "
778
808
working_directory : ~/datadog
779
809
<< : *BARE_DOCKER_MACHINE
780
810
steps :
@@ -803,8 +833,10 @@ jobs:
803
833
name : Run tests
804
834
command : |
805
835
set -euo pipefail
836
+ <<# parameters.coverage >>unset CI && unset CIRCLECI && export DD_AUTOLOAD_NO_COMPILE=true<</ parameters.coverage >>
806
837
make << parameters.make_target >> RUST_DEBUG_BUILD=1 PHPUNIT_OPTS="--log-junit test-results/php-unit/results.xml" 2>&1 | tee /dev/stderr | { ! grep -qe "=== Total [0-9]+ memory leaks detected ==="; }
807
838
rm -rf tmp/build_extension/tests/opcache/file_cache/* || true
839
+ - << : *STEP_CODE_COVERAGE
808
840
- << : *STEP_STORE_TEST_RESULTS
809
841
- run :
810
842
command : |
@@ -1490,6 +1522,9 @@ jobs:
1490
1522
coverage :
1491
1523
type : boolean
1492
1524
default : false
1525
+ codecov_flags :
1526
+ type : string
1527
+ default : " "
1493
1528
<< : *BARE_DOCKER_MACHINE
1494
1529
environment :
1495
1530
COMPOSER_PROCESS_TIMEOUT : 0
@@ -1522,35 +1557,21 @@ jobs:
1522
1557
- << : *STEP_COMPOSER_TESTS_UPDATE
1523
1558
- << : *STEP_PREPARE_TEST_RESULTS_DIR
1524
1559
- << : *STEP_EXPORT_CI_ENV
1525
- - << : *STEP_DISABLE_XDEBUG
1560
+ - when :
1561
+ condition :
1562
+ equal : [ false, << parameters.coverage >> ]
1563
+ steps :
1564
+ - << : *STEP_DISABLE_XDEBUG
1526
1565
- << : *STEP_WAIT_MYSQL
1527
1566
- << : *STEP_WAIT_REQUEST_REPLAYER
1528
1567
- << : *STEP_WAIT_TEST_AGENT
1529
1568
- run :
1530
1569
name : Run tests
1531
- command : DD_TRACE_AGENT_TIMEOUT=1000 <<# parameters.disable_runner_distributed_tracing >> DD_DISTRIBUTED_TRACING=false <</ parameters.disable_runner_distributed_tracing >> DD_TRACE_TEST_SAPI=<< parameters.sapi >> make << parameters.make_target >> PHPUNIT_OPTS="--log-junit test-results/php-composer/results.xml"
1532
- - when :
1533
- # codecov uploader only on amd64
1534
- condition :
1535
- and :
1536
- - equal : [ true, << parameters.coverage >> ]
1537
- - matches :
1538
- pattern : " ^[^.]+$"
1539
- value : << parameters.resource_class >>
1540
- steps :
1541
- - run :
1542
- name : Merge coverage reports
1543
- command : |
1544
- make merge_coverage_reports
1545
- - run :
1546
- name : Install CodeCov Uploader Dependencies
1547
- command : |
1548
- sudo apt update
1549
- sudo apt install -y gpg
1550
- - codecov/upload :
1551
- file : reports/coverage.xml
1552
- upload_name : " PHP<< parameters.php_major_minor >>.<< parameters.make_target >>.dd-trace-php"
1553
- flags : tracer-integrations
1570
+ command : |
1571
+ set -euo pipefail
1572
+ <<# parameters.coverage >>unset CI && unset CIRCLECI && export DD_AUTOLOAD_NO_COMPILE=true<</ parameters.coverage >>
1573
+ DD_TRACE_AGENT_TIMEOUT=1000 <<# parameters.disable_runner_distributed_tracing >> DD_DISTRIBUTED_TRACING=false <</ parameters.disable_runner_distributed_tracing >> DD_TRACE_TEST_SAPI=<< parameters.sapi >> make << parameters.make_target >> PHPUNIT_OPTS="--log-junit test-results/php-composer/results.xml"
1574
+ - << : *STEP_CODE_COVERAGE
1554
1575
- run :
1555
1576
command : |
1556
1577
mkdir -p /tmp/artifacts
@@ -1585,6 +1606,9 @@ jobs:
1585
1606
coverage :
1586
1607
type : boolean
1587
1608
default : false
1609
+ codecov_flags :
1610
+ type : string
1611
+ default : " "
1588
1612
with_executor :
1589
1613
type : string
1590
1614
default : ' with_integrations'
@@ -1620,39 +1644,25 @@ jobs:
1620
1644
- << : *STEP_COMPOSER_TESTS_UPDATE
1621
1645
- << : *STEP_PREPARE_TEST_RESULTS_DIR
1622
1646
- << : *STEP_EXPORT_CI_ENV
1623
- - << : *STEP_DISABLE_XDEBUG
1624
1647
- when :
1625
- condition :
1626
- equal : [ "with_integrations", << parameters.with_executor >> ]
1627
- steps :
1628
- - << : *STEP_WAIT_MYSQL
1648
+ condition :
1649
+ equal : [ false, << parameters.coverage >> ]
1650
+ steps :
1651
+ - << : *STEP_DISABLE_XDEBUG
1652
+ - when :
1653
+ condition :
1654
+ equal : [ "with_integrations", << parameters.with_executor >> ]
1655
+ steps :
1656
+ - << : *STEP_WAIT_MYSQL
1629
1657
- << : *STEP_WAIT_REQUEST_REPLAYER
1630
1658
- << : *STEP_WAIT_TEST_AGENT
1631
1659
- run :
1632
1660
name : Run tests
1633
- command : DD_TRACE_AGENT_TIMEOUT=1000 <<# parameters.disable_runner_distributed_tracing >> DD_DISTRIBUTED_TRACING=false <</ parameters.disable_runner_distributed_tracing >> DD_TRACE_TEST_SAPI=<< parameters.sapi >> make << parameters.make_target >> RUST_DEBUG_BUILD=1 PHPUNIT_OPTS="--log-junit test-results/php-composer/results.xml"
1634
- - when :
1635
- # codecov uploader only on amd64
1636
- condition :
1637
- and :
1638
- - equal : [ true, << parameters.coverage >> ]
1639
- - matches :
1640
- pattern : " ^[^.]+$"
1641
- value : << parameters.resource_class >>
1642
- steps :
1643
- - run :
1644
- name : Merge coverage reports
1645
- command : |
1646
- make merge_coverage_reports
1647
- - run :
1648
- name : Install CodeCov Uploader Dependencies
1649
- command : |
1650
- sudo apt update
1651
- sudo apt install -y gpg
1652
- - codecov/upload :
1653
- file : reports/coverage.xml
1654
- upload_name : " PHP<< parameters.php_major_minor >>.<< parameters.make_target >>.dd-trace-php"
1655
- flags : tracer-integrations
1661
+ command : |
1662
+ set -euo pipefail
1663
+ <<# parameters.coverage >>unset CI && unset CIRCLECI && export DD_AUTOLOAD_NO_COMPILE=true<</ parameters.coverage >>
1664
+ DD_TRACE_AGENT_TIMEOUT=1000 <<# parameters.disable_runner_distributed_tracing >> DD_DISTRIBUTED_TRACING=false <</ parameters.disable_runner_distributed_tracing >> DD_TRACE_TEST_SAPI=<< parameters.sapi >> make << parameters.make_target >> RUST_DEBUG_BUILD=1 PHPUNIT_OPTS="--log-junit test-results/php-composer/results.xml"
1665
+ - << : *STEP_CODE_COVERAGE
1656
1666
- run :
1657
1667
command : |
1658
1668
mkdir -p /tmp/artifacts
@@ -4418,6 +4428,18 @@ workflows:
4418
4428
- test_internal_api_randomized
4419
4429
- test_opcache
4420
4430
4431
+ - test :
4432
+ requires : [ 'Prepare Code' ]
4433
+ coverage : true
4434
+ codecov_flags : tracer-php
4435
+ matrix :
4436
+ parameters :
4437
+ php_major_minor :
4438
+ - " 7.4"
4439
+ - " 8.2"
4440
+ make_target :
4441
+ - test_unit_coverage
4442
+
4421
4443
- test :
4422
4444
requires : [ 'Prepare Code' ]
4423
4445
matrix :
@@ -4530,29 +4552,30 @@ workflows:
4530
4552
- ' 7.1'
4531
4553
- ' 7.2'
4532
4554
- ' 7.3'
4555
+ - ' 7.4'
4556
+ - ' 8.0'
4557
+ - ' 8.1'
4558
+ - ' 8.2'
4559
+ - ' 8.3'
4533
4560
make_target :
4561
+ - test_auto_instrumentation
4534
4562
- test_composer
4535
- - test_integration
4536
4563
- test_distributed_tracing
4537
- - test_auto_instrumentation
4564
+ - test_integration
4538
4565
4539
4566
- integration :
4540
4567
requires : [ 'Prepare Code' ]
4541
4568
resource_class : medium+
4542
4569
coverage : true
4570
+ codecov_flags : tracer-php
4543
4571
matrix :
4544
4572
parameters :
4545
4573
php_major_minor :
4546
4574
- ' 7.4'
4547
- - ' 8.0'
4548
- - ' 8.1'
4549
4575
- ' 8.2'
4550
- - ' 8.3'
4551
4576
make_target :
4552
- - test_composer_coverage
4553
4577
- test_integration_coverage
4554
4578
- test_distributed_tracing_coverage
4555
- - test_auto_instrumentation_coverage
4556
4579
4557
4580
- integration_snapshots :
4558
4581
requires : [ 'Prepare Code' ]
@@ -4565,6 +4588,11 @@ workflows:
4565
4588
- ' 7.1'
4566
4589
- ' 7.2'
4567
4590
- ' 7.3'
4591
+ - ' 7.4'
4592
+ - ' 8.0'
4593
+ - ' 8.1'
4594
+ - ' 8.2'
4595
+ - ' 8.3'
4568
4596
make_target :
4569
4597
- test_web
4570
4598
- test_integrations
@@ -4574,14 +4602,12 @@ workflows:
4574
4602
# Due to Symfony OOM during composer update
4575
4603
resource_class : xlarge
4576
4604
coverage : true
4605
+ codecov_flags : tracer-php
4577
4606
matrix :
4578
4607
parameters :
4579
4608
php_major_minor :
4580
4609
- ' 7.4'
4581
- - ' 8.0'
4582
- - ' 8.1'
4583
4610
- ' 8.2'
4584
- - ' 8.3'
4585
4611
make_target :
4586
4612
- test_web_coverage
4587
4613
- test_integrations_coverage
@@ -4599,6 +4625,11 @@ workflows:
4599
4625
- ' 7.1'
4600
4626
- ' 7.2'
4601
4627
- ' 7.3'
4628
+ - ' 7.4'
4629
+ - ' 8.0'
4630
+ - ' 8.1'
4631
+ - ' 8.2'
4632
+ - ' 8.3'
4602
4633
make_target :
4603
4634
- test_distributed_tracing
4604
4635
@@ -4629,15 +4660,13 @@ workflows:
4629
4660
sapi : fpm-fcgi
4630
4661
disable_runner_distributed_tracing : true
4631
4662
coverage : true
4663
+ codecov_flags : tracer-php
4632
4664
with_executor : ' with_httpbin_and_request_replayer'
4633
4665
matrix :
4634
4666
parameters :
4635
4667
php_major_minor :
4636
4668
- ' 7.4'
4637
- - ' 8.0'
4638
- - ' 8.1'
4639
4669
- ' 8.2'
4640
- - ' 8.3'
4641
4670
make_target :
4642
4671
- test_distributed_tracing_coverage
4643
4672
0 commit comments