Skip to content

Merge 5.8 into 5.x #4130

Merge 5.8 into 5.x

Merge 5.8 into 5.x #4130

Workflow file for this run

name: CI
on:
push:
branches:
- '[0-9]+.[0-9x]+'
pull_request:
branches:
- '[0-9]+.[0-9x]+'
- feature/*
env:
MONGODB_EXT_V1: mongodb-1.21.0
MONGODB_EXT_V2: stable
jobs:
build:
runs-on: ubuntu-latest
name: PHP/${{ matrix.php }} Laravel/${{ matrix.laravel }} Driver/${{ matrix.driver }} Server/${{ matrix.mongodb }} ${{ matrix.mode }}
strategy:
matrix:
mongodb: ['8.0']
php: ['8.2', '8.3', '8.4', '8.5']
laravel: ['12.*', '13.*']
driver: [2]
include:
- php: '8.1'
laravel: 10.*
mongodb: '5.0'
mode: low-deps
driver: 1
- php: '8.3'
laravel: 10.*
mongodb: '4.4'
driver: 1
- php: '8.4'
laravel: 12.*
mongodb: '8.0'
driver: 1
- php: '8.5'
laravel: 10.*
mongodb: '8.0'
- php: '8.5'
laravel: 11.*
mongodb: '8.0'
- php: '8.2'
laravel: 12.*
mongodb: '4.4'
- php: '8.2'
laravel: 12.*
mongodb: '5.0'
- php: '8.2'
laravel: 12.*
mongodb: '6.0'
- php: '8.2'
laravel: 12.*
mongodb: '7.0'
- php: '8.2'
laravel: 12.*
mongodb: '8.0'
exclude:
- laravel: 13.*
php: '8.2'
steps:
- uses: actions/checkout@v6
- name: Create MongoDB Replica Set
run: |
docker run --name mongodb -p 27017:27017 -e MONGO_INITDB_DATABASE=unittest --detach mongo:${{ matrix.mongodb }} mongod --replSet rs --setParameter transactionLifetimeLimitSeconds=5
if [ "${{ matrix.mongodb }}" = "4.4" ]; then MONGOSH_BIN="mongo"; else MONGOSH_BIN="mongosh"; fi
until docker exec --tty mongodb $MONGOSH_BIN --eval "db.runCommand({ ping: 1 })"; do
sleep 1
done
sudo docker exec --tty mongodb $MONGOSH_BIN --eval "rs.initiate({\"_id\":\"rs\",\"members\":[{\"_id\":0,\"host\":\"127.0.0.1:27017\" }]})"
- name: Show MongoDB server status
run: |
if [ "${{ matrix.mongodb }}" = "4.4" ]; then MONGOSH_BIN="mongo"; else MONGOSH_BIN="mongosh"; fi
docker exec --tty mongodb $MONGOSH_BIN --eval "db.runCommand({ serverStatus: 1 })"
- name: Setup cache environment
id: extcache
uses: shivammathur/cache-extensions@v1
with:
php-version: ${{ matrix.php }}
extensions: ${{ matrix.driver == 1 && env.MONGODB_EXT_V1 || env.MONGODB_EXT_V2 }}
key: extcache-v1
- name: Installing php
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl,mbstring,xdebug,${{ matrix.driver == 1 && env.MONGODB_EXT_V1 || env.MONGODB_EXT_V2 }}
coverage: xdebug
tools: composer
- name: Show Docker version
if: ${{ runner.debug }}
run: docker version && env
- name: Restrict Laravel version
run: composer require --dev --no-update 'laravel/framework:${{ matrix.laravel }}'
- name: Download Composer cache dependencies from cache
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer dependencies
uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ matrix.os }}-composer-
- name: Install dependencies
run: |
composer update --no-interaction \
$([[ "${{ matrix.mode }}" == low-deps ]] && echo ' --prefer-lowest') \
$([[ "${{ matrix.mode }}" == ignore-php-req ]] && echo ' --ignore-platform-req=php+')
- name: Run tests
run: |
export MONGODB_URI="mongodb://127.0.0.1:27017/?replicaSet=rs"
php -d zend.assertions=1 ./vendor/bin/phpunit --coverage-clover coverage.xml --exclude-group atlas-search --testdox