Skip to content

Merge v1.20 into v1.x (#1733) #1810

Merge v1.20 into v1.x (#1733)

Merge v1.20 into v1.x (#1733) #1810

Workflow file for this run

name: "Tests"
on:
pull_request:
branches:
- "v*.*"
- "feature/*"
push:
branches:
- "v*.*"
- "feature/*"
jobs:
tests:
name: "Tests"
runs-on: "${{ matrix.os }}"
strategy:
fail-fast: true
matrix:
os:
- "ubuntu-20.04"
php-version:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
mongodb-version:
- "4.4"
topology:
- "server"
include:
- os: "ubuntu-20.04"
php-version: "8.1"
mongodb-version: "6.0"
topology: "replica_set"
- os: "ubuntu-20.04"
php-version: "8.1"
mongodb-version: "6.0"
topology: "sharded_cluster"
- os: "ubuntu-20.04"
php-version: "8.1"
mongodb-version: "4.4"
topology: "replica_set"
- os: "ubuntu-20.04"
php-version: "8.1"
mongodb-version: "4.4"
topology: "sharded_cluster"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
submodules: true
- id: setup-mongodb
uses: mongodb-labs/drivers-evergreen-tools@master
with:
version: ${{ matrix.mongodb-version }}
topology: ${{ matrix.topology }}
- name: "Build Driver"
id: build-driver
uses: ./.github/actions/linux/build
with:
version: ${{ matrix.php-version }}
- name: "Run Tests"
run: TEST_PHP_ARGS="-q -x --show-diff -g FAIL,XFAIL,BORK,WARN,LEAK,SKIP" make test
env:
MONGODB_URI: ${{ steps.setup-mongodb.outputs.cluster-uri }}
pecl-test:
name: "Test PECL package"
runs-on: "ubuntu-latest"
env:
PHP_VERSION: "8.3"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
submodules: true
- name: "Build Driver"
id: build-driver
uses: ./.github/actions/linux/build
with:
version: ${{ env.PHP_VERSION }}
- name: "Write changelog file for packaging"
run: echo "Testing" > changelog
- name: "Build package.xml"
run: "make package.xml RELEASE_NOTES_FILE=$(pwd)/changelog"
- name: "Build PECL package"
run: "make package"
# PECL always uses the version for the package name.
# Read it from the version file and store in env to use when uploading artifacts
- name: "Read current package version"
run: |
PACKAGE_VERSION=$(./bin/update-release-version.php get-version)
echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> "$GITHUB_ENV"
echo "PACKAGE_FILE=mongodb-${PACKAGE_VERSION}.tgz" >> "$GITHUB_ENV"
- name: "Install release archive to verify correctness"
run: sudo pecl install ${{ env.PACKAGE_FILE }}
test-windows:
name: "Windows Tests"
uses: ./.github/workflows/windows-tests.yml
with:
php: ${{ matrix.php }}
arch: ${{ matrix.arch }}
ts: ${{ matrix.ts }}
secrets: inherit
strategy:
fail-fast: false
matrix:
# Note: keep this in sync with the Windows matrix in package-release.yml
php: [ "8.1", "8.2", "8.3", "8.4" ]
arch: [ x64, x86 ]
ts: [ ts, nts ]