Merge v1.20 into v1.x (#1733) #1810
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 ] |