Skip to content

Bump doctrine/.github from 12.1.0 to 12.2.0 (#2887) #2234

Bump doctrine/.github from 12.1.0 to 12.2.0 (#2887)

Bump doctrine/.github from 12.1.0 to 12.2.0 (#2887) #2234

name: "Continuous Integration"
on:
pull_request:
branches:
- "*.x"
- "feature/*"
push:
env:
fail-fast: true
jobs:
phpunit:
name: "PHPUnit"
runs-on: "ubuntu-22.04"
strategy:
fail-fast: false
matrix:
php-version:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
mongodb-version:
- "8.0"
- "7.0"
- "6.0"
driver-version:
- "stable"
topology:
- "server"
dependencies:
- "highest"
symfony-version:
- "locked"
proxy:
- "lazy-ghost"
include:
# Test against lowest dependencies
- dependencies: "lowest"
php-version: "8.1"
mongodb-version: "6.0"
driver-version: "1.21.0"
topology: "server"
symfony-version: "locked"
proxy: "lazy-ghost"
# Test with Symfony 6.4
- topology: "server"
php-version: "8.1"
mongodb-version: "6.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "6.4"
proxy: "lazy-ghost"
# Test with a 6.0 replica set
- topology: "replica_set"
php-version: "8.2"
mongodb-version: "6.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "locked"
proxy: "lazy-ghost"
# Test with a 8.0 replica set
- topology: "replica_set"
php-version: "8.2"
mongodb-version: "8.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "locked"
proxy: "lazy-ghost"
# Test with ProxyManager
- php-version: "8.2"
mongodb-version: "6.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "locked"
proxy: "proxy-manager"
# Test with Native Lazy Objects
- php-version: "8.4"
mongodb-version: "8.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "locked"
proxy: "native"
# Test with extension 1.21
- topology: "server"
php-version: "8.2"
mongodb-version: "8.0"
driver-version: "1.21.0"
dependencies: "highest"
symfony-version: "locked"
proxy: "lazy-ghost"
# Test with Symfony 7.4 LTS
- topology: "server"
php-version: "8.2"
mongodb-version: "8.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: "7.4"
proxy: "lazy-ghost"
# Test with Symfony 8
- topology: "server"
php-version: "8.4"
mongodb-version: "8.0"
driver-version: "stable"
dependencies: "highest"
symfony-version: false
proxy: "native"
# Test with a sharded cluster
# Currently disabled due to a bug where MongoDB reports "sharding status unknown"
# - topology: "sharded_cluster"
# php-version: "8.2"
# mongodb-version: "6.0"
# driver-version: "stable"
# dependencies: "highest"
# symfony-version: "locked"
# proxy: "lazy-ghost"
steps:
- name: "Checkout"
uses: "actions/checkout@v5"
with:
fetch-depth: 2
- name: Setup cache environment
id: extcache
uses: shivammathur/cache-extensions@v1
with:
php-version: ${{ matrix.php-version }}
extensions: "mongodb-${{ matrix.driver-version }}, bcmath"
key: "extcache-v1"
- name: Cache extensions
uses: actions/cache@v4
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
restore-keys: ${{ steps.extcache.outputs.key }}
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php-version }}"
extensions: "mongodb-${{ matrix.driver-version }}, bcmath"
coverage: "none"
ini-values: "zend.assertions=1"
- name: "Show driver information"
run: "php --ri mongodb"
# Not used for tests, skip transient dependencies
- name: "Remove phpbench/phpbench"
run: composer remove --no-update --dev phpbench/phpbench
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "--prefer-dist"
env:
SYMFONY_REQUIRE: ${{ matrix.symfony-version }}
- name: "Install latest Python version"
uses: actions/setup-python@v6
with:
python-version: '3.13'
- id: setup-mongodb
uses: mongodb-labs/drivers-evergreen-tools@master
with:
version: ${{ matrix.mongodb-version }}
topology: ${{ matrix.topology }}
- name: "Run PHPUnit"
run: "vendor/bin/phpunit --exclude-group=atlas ${{ matrix.dependencies == 'lowest' && '--do-not-fail-on-deprecation --do-not-fail-on-warning --do-not-fail-on-notice' || '' }}"
env:
DOCTRINE_MONGODB_SERVER: ${{ steps.setup-mongodb.outputs.cluster-uri }}
USE_LAZY_GHOST_OBJECT: ${{ matrix.proxy == 'lazy-ghost' && '1' || '0' }}
USE_NATIVE_LAZY_OBJECT: ${{ matrix.proxy == 'native' && '1' || '0' }}
CRYPT_SHARED_LIB_PATH: ${{ steps.setup-mongodb.outputs.crypt-shared-lib-path }}