Skip to content

Commit 809223b

Browse files
authored
PHPLIB-858: Test against MongoDB 6.0 in Evergreen and revise matrices (#944)
Update axes definitions: * Add "mongodb" to version and edge-version axes names * Add MongoDB 6.0 to mongodb-versions matrix * Add PHP 8.1 to php-versions matrix * Bump latest-stable in php-edge-versions to PHP 8.1 * Add Debian 11 and 10 to OS matrix * Make alt arch operating systems consistent with PHPC Revise test matrices to prefer Debian 11 when possible.
1 parent af419eb commit 809223b

File tree

1 file changed

+71
-62
lines changed

1 file changed

+71
-62
lines changed

.evergreen/config.yml

Lines changed: 71 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -516,72 +516,80 @@ axes:
516516
- id: php-versions
517517
display_name: PHP Version
518518
values:
519+
- id: "8.1"
520+
display_name: "PHP 8.1"
521+
variables:
522+
PHP_VERSION: "8.1"
519523
- id: "8.0"
520-
display_name: "8.0"
524+
display_name: "PHP 8.0"
521525
variables:
522526
PHP_VERSION: "8.0"
523527
- id: "7.4"
524-
display_name: "7.4"
528+
display_name: "PHP 7.4"
525529
variables:
526530
PHP_VERSION: "7.4"
527531
- id: "7.3"
528-
display_name: "7.3"
532+
display_name: "PHP 7.3"
529533
variables:
530534
PHP_VERSION: "7.3"
531535
- id: "7.2"
532-
display_name: "7.2"
536+
display_name: "PHP 7.2"
533537
variables:
534538
PHP_VERSION: "7.2"
535539

536540
- id: php-edge-versions
537541
display_name: PHP Version
538542
values:
539543
- id: "latest-stable"
540-
display_name: "8.0"
544+
display_name: "PHP 8.1"
541545
variables:
542-
PHP_VERSION: "8.0"
546+
PHP_VERSION: "8.1"
543547
- id: "oldest-supported"
544-
display_name: "7.2"
548+
display_name: "PHP 7.2"
545549
variables:
546550
PHP_VERSION: "7.2"
547551

548-
- id: versions
552+
- id: mongodb-versions
549553
display_name: MongoDB Version
550554
values:
551555
- id: "latest"
552-
display_name: "latest"
556+
display_name: "MongoDB latest"
553557
variables:
554558
VERSION: "latest"
559+
- id: "6.0"
560+
display_name: "MongoDB 6.0"
561+
variables:
562+
VERSION: "6.0"
555563
- id: "5.0"
556-
display_name: "5.0"
564+
display_name: "MongoDB 5.0"
557565
variables:
558566
VERSION: "5.0"
559567
- id: "4.4"
560-
display_name: "4.4"
568+
display_name: "MongoDB 4.4"
561569
variables:
562570
VERSION: "4.4"
563571
- id: "4.2"
564-
display_name: "4.2"
572+
display_name: "MongoDB 4.2"
565573
variables:
566574
VERSION: "4.2"
567575
- id: "4.0"
568-
display_name: "4.0"
576+
display_name: "MongoDB 4.0"
569577
variables:
570578
VERSION: "4.0"
571579
- id: "3.6"
572-
display_name: "3.6"
580+
display_name: "MongoDB 3.6"
573581
variables:
574582
VERSION: "3.6"
575583

576-
- id: edge-versions
584+
- id: mongodb-edge-versions
577585
display_name: MongoDB Version
578586
values:
579587
- id: "latest-stable"
580-
display_name: "5.0"
588+
display_name: "MongoDB 5.0"
581589
variables:
582590
VERSION: "5.0"
583591
- id: "oldest-supported"
584-
display_name: "3.6"
592+
display_name: "MongoDB 3.6"
585593
variables:
586594
VERSION: "3.6"
587595

@@ -591,39 +599,45 @@ axes:
591599
# TODO: Update to "1.14.0" once PHPC 1.14.0 is released
592600
- id: "oldest-supported"
593601
# display_name: "1.14.0"
594-
display_name: "1.14-dev (master)"
602+
display_name: "PHPC 1.14-dev (master)"
595603
variables:
596604
# EXTENSION_VERSION: "1.14.0"
597605
EXTENSION_BRANCH: "master"
598606
# TODO: Update to "1.14.x"/"stable" once PHPC 1.14.0 is released
599607
- id: "latest-stable"
600608
# display_name: "1.14.x"
601-
display_name: "1.14-dev (master)"
609+
display_name: "PHPC 1.14-dev (master)"
602610
variables:
603611
# EXTENSION_VERSION: "stable"
604612
EXTENSION_BRANCH: "master"
605613
- id: "latest-dev"
606-
display_name: "1.14-dev (master)"
614+
display_name: "PHPC 1.14-dev (master)"
607615
variables:
608616
EXTENSION_BRANCH: "master"
609617

610618
- id: os
611619
display_name: OS
612620
values:
613-
- id: debian92-test
614-
display_name: "Debian 9.2"
615-
run_on: debian92-test
616-
- id: rhel70-test
617-
display_name: "RHEL 7.0"
621+
- id: debian11
622+
display_name: "Debian 11"
623+
run_on: debian11
624+
- id: debian10
625+
display_name: "Debian 10"
626+
run_on: debian10
627+
- id: debian92
628+
display_name: "Debian 9.2"
629+
run_on: debian92
630+
- id: rhel70
631+
display_name: "RHEL 7.0"
618632
run_on: rhel70
619633
- id: rhel71-power8
620-
display_name: "RHEL 7.1 Power 8"
621-
run_on: rhel71-power8-test
622-
- id: rhel74-zseries
623-
display_name: "RHEL 7.4 zSeries"
624-
run_on: rhel74-zseries-test
625-
- id: ubuntu1804-arm64-test
626-
display_name: "Ubuntu 18.04 ARM64"
634+
display_name: "RHEL 7.1 Power 8"
635+
run_on: rhel71-power8-build
636+
- id: rhel72-zseries
637+
display_name: "RHEL 7.2 zSeries"
638+
run_on: rhel72-zseries-build
639+
- id: ubuntu1804-arm64
640+
display_name: "Ubuntu 18.04 ARM64"
627641
run_on: ubuntu1804-arm64-test
628642

629643
- id: topology
@@ -691,40 +705,35 @@ axes:
691705
DEPENDENCIES: "lowest"
692706

693707
buildvariants:
694-
695-
# Tests all PHP versions on all operating systems and latest MongoDB and ext-mongodb versions
708+
# Test all PHP versions with latest-stable MongoDB and PHPC on Debian
696709
- matrix_name: "test-php-versions"
697-
matrix_spec: { "os": "*", "edge-versions": "latest-stable", "php-versions": "*", "driver-versions": "latest-stable" }
710+
matrix_spec: { "os": "debian11", "mongodb-edge-versions": "latest-stable", "php-versions": "*", "driver-versions": "latest-stable" }
711+
display_name: "${os}, ${mongodb-edge-versions}, ${php-versions}, ${driver-versions}"
698712
exclude_spec:
699-
# rhel71-power8 fails due to not reaching pecl
700-
- { "os": "rhel71-power8", "edge-versions": "*", "php-versions": "*", "driver-versions": "*" }
701-
# rhel74-zseries doesn't start in a timely fashion - most likely missing executors
702-
- { "os": "rhel74-zseries", "edge-versions": "*", "php-versions": "*", "driver-versions": "*" }
703-
# rhel70 does not have PHP 8.0
704-
- { "os": "rhel70-test", "edge-versions": "*", "php-versions": "8.0", "driver-versions": "*" }
705-
display_name: "${os}, MongoDB ${edge-versions}, PHP ${php-versions}, ext-mongodb ${driver-versions}"
713+
# Exclude "latest-stable" PHP version for Debian 11 (see: test-mongodb-versions matrix)
714+
- { "os": "debian11", "mongodb-edge-versions": "latest-stable", "php-versions": "8.1", "driver-versions": "latest-stable" }
706715
tasks:
707716
- name: "test-standalone"
708717
- name: "test-replica_set"
709718
- name: "test-sharded_cluster"
710719

711-
# Tests all MongoDB versions with latest stable PHP and driver versions
720+
# Test all topologies and MongoDB versions with latest-stable PHP and PHPC on Debian
712721
- matrix_name: "test-mongodb-versions"
713-
matrix_spec: { "os": "debian92-test", "versions": "*", "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
722+
matrix_spec: { "os": ["debian92", "debian11"], "mongodb-versions": "*", "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
723+
display_name: "${os}, ${mongodb-versions}, ${php-edge-versions}, ${driver-versions}"
714724
exclude_spec:
715-
# Avoid duplicate build variants from test-php-versions (assumes edge-versions:latest-stable is 5.0)
716-
- { "os": "debian92-test", "versions": "5.0", "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
717-
display_name: "${os}, MongoDB ${versions}, PHP ${php-edge-versions}, ext-mongodb ${driver-versions}"
725+
# Debian 9.2 only supports up to MongoDB 5.0
726+
- { "os": "debian92", "mongodb-versions": ["6.0", "latest"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
727+
- { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4", "5.0"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
718728
tasks:
719729
- name: "test-standalone"
720730
- name: "test-replica_set"
721731
- name: "test-sharded_cluster"
722732

723-
# Tests all MongoDB versions with oldest supported PHP and driver versions
724-
# Enables --prefer-lowest for composer to test oldest dependencies against all server versions
725-
- matrix_name: "test-dependencies"
726-
matrix_spec: { "os": "debian92-test", "versions": "*", "php-edge-versions": "oldest-supported", "driver-versions": "oldest-supported", "dependencies": "lowest" }
727-
display_name: "Lowest Dependencies: ${os}, MongoDB ${versions}, PHP ${php-edge-versions}, ext-mongodb ${driver-versions}"
733+
# Test oldest-supported PHP, MongoDB, and driver versions with lowest dependencies on Debian
734+
- matrix_name: "test-oldest-supported"
735+
matrix_spec: { "os": "debian92", "mongodb-edge-versions": "oldest-supported", "php-edge-versions": "oldest-supported", "driver-versions": "oldest-supported", "dependencies": "lowest" }
736+
display_name: "Lowest Dependencies: ${os}, ${mongodb-edge-versions}, ${php-edge-versions}, ${driver-versions}"
728737
tasks:
729738
- name: "test-standalone"
730739
- name: "test-replica_set"
@@ -733,27 +742,27 @@ buildvariants:
733742
- matrix_name: "atlas-data-lake-test"
734743
matrix_spec: { "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
735744
display_name: "Atlas Data Lake"
736-
run_on: debian92-test
745+
run_on: debian11
737746
tasks:
738747
- name: "test-atlas-data-lake"
739748

740-
- matrix_name: "test-versioned-api"
741-
matrix_spec: { "versions": ["5.0", "latest"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
742-
display_name: "Versioned API - ${versions}"
743-
run_on: debian92-test
749+
# Stable API is available from MongoDB 5.0+
750+
- matrix_name: "test-requireApiVersion"
751+
matrix_spec: { "os": "debian11", "mongodb-versions": ["5.0", "6.0"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
752+
display_name: "Versioned API - ${mongodb-versions}"
744753
tasks:
745754
- .versioned-api
746755

747756
- matrix_name: "serverless"
748-
matrix_spec: { "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
757+
matrix_spec: { "os": "debian11", "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
749758
display_name: "Serverless"
750-
run_on: debian92-test
751759
tasks:
752760
- .serverless
753761

762+
# Load balancer is available from MongoDB 5.0+
754763
- matrix_name: "test-loadBalanced"
755-
matrix_spec: { "versions": ["5.0", "latest"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
756-
display_name: "Load balanced - ${versions}"
757-
run_on: debian92-test
764+
# TODO: Add MongoDB 6.0 and use Debian 11 once BUILD-15237 is resolved
765+
matrix_spec: { "os": "debian92", "mongodb-versions": ["5.0"], "php-edge-versions": "latest-stable", "driver-versions": "latest-stable" }
766+
display_name: "Load balanced - ${mongodb-versions}"
758767
tasks:
759768
- name: "test-loadBalanced"

0 commit comments

Comments
 (0)