From dc177a46fd8d98d45e539b504ee69fe128ac553b Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Thu, 15 Jan 2026 15:24:24 +0100 Subject: [PATCH 1/6] PHPC-2661: Use php-windows-builder to build Windows DLLs --- .github/actions/windows/build/action.yml | 27 +++-- .../actions/windows/prepare-build/action.yml | 57 ----------- .github/workflows/tests.yml | 49 ++++++++-- .github/workflows/wait-for-mongodb.bat | 4 - .github/workflows/windows-tests.yml | 98 ------------------- 5 files changed, 51 insertions(+), 184 deletions(-) delete mode 100644 .github/actions/windows/prepare-build/action.yml delete mode 100644 .github/workflows/wait-for-mongodb.bat delete mode 100644 .github/workflows/windows-tests.yml diff --git a/.github/actions/windows/build/action.yml b/.github/actions/windows/build/action.yml index 1075eb1b9..b8eb28a6c 100644 --- a/.github/actions/windows/build/action.yml +++ b/.github/actions/windows/build/action.yml @@ -10,24 +10,21 @@ inputs: ts: description: "Thread-safety (nts or ts)" required: true -outputs: - vs: - description: "The Visual Studio version" - value: ${{ steps.prepare-build-env.outputs.vs }} - build-dir: - description: "The build directory to be used" - value: ${{ steps.prepare-build-env.outputs.build-dir }} + run-tests: + description: "Whether to run tests after building" + required: false + default: "false" runs: using: composite steps: - - name: Prepare build environment - id: prepare-build-env - uses: ./.github/actions/windows/prepare-build + - name: Build extension + uses: php/php-windows-builder/extension@1.6.0 with: - version: ${{ inputs.version }} + php-version: ${{ inputs.version }} arch: ${{ inputs.arch }} ts: ${{ inputs.ts }} - - - name: Build driver - shell: cmd - run: nmake /nologo + run-tests: ${{ inputs.run-tests == 'true' && true || false }} + test-runner-args: "--show-diff" + args: "--enable-mongodb --with-mongodb-sasl=yes --with-mongodb-client-side-encryption=yes" + libs: "openssl" + test-workers: 1 diff --git a/.github/actions/windows/prepare-build/action.yml b/.github/actions/windows/prepare-build/action.yml deleted file mode 100644 index fe9236fbd..000000000 --- a/.github/actions/windows/prepare-build/action.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: "Setup PHP driver build environment" -description: "Prepares the PHP build environment for the MongoDB driver" -inputs: - version: - description: "PHP version to build for" - required: true - arch: - description: "The architecture to build for (x64 or x86)" - required: true - ts: - description: "Thread-safety (nts or ts)" - required: true -outputs: - vs: - description: "The Visual Studio version" - value: ${{steps.setup-php.outputs.vs}} - build-dir: - description: "The build directory to be used" - value: ${{steps.get-build-dir.outputs.build_dir}} -runs: - using: composite - steps: - - name: Setup PHP SDK - id: setup-php - uses: php/setup-php-sdk@v0.10 - with: - version: ${{ inputs.version }} - arch: ${{ inputs.arch }} - ts: ${{ inputs.ts }} - deps: openssl - cache: true - - - name: Enable Developer Command Prompt - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ inputs.arch }} - toolset: ${{ steps.setup-php.outputs.toolset }} - - - name: phpize - run: phpize - shell: cmd - - - name: configure - run: configure --enable-mongodb --with-mongodb-sasl=yes --with-mongodb-client-side-encryption=yes --enable-debug-pack --with-prefix=${{ steps.setup-php.outputs.prefix }} - shell: cmd - - - name: Get build directory - id: get-build-dir - shell: cmd - # The last echo command to set the output variable intentionally omits a space between the environment variable - # and the output redirector to avoid a trailing space in the generated output variable. Do not add a space. - run: | - cp .github/workflows/get-build-dir.bat . - for /F "usebackq tokens=*" %%i in (`get-build-dir.bat`) do set BUILD_DIR=%%i - echo BUILD_DIR=%BUILD_DIR% - @chcp 65001>nul - echo build_dir=%BUILD_DIR%>> %GITHUB_OUTPUT% diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 462a3898b..fce6ee04f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,8 +11,8 @@ on: - "feature/*" jobs: - tests: - name: "Tests" + linux-test: + name: "Linux Tests" runs-on: "${{ matrix.os }}" strategy: @@ -112,18 +112,47 @@ jobs: - name: "Install release archive to verify correctness" run: sudo pecl install ${{ env.PACKAGE_FILE }} - test-windows: + windows-test: name: "Windows Tests" - uses: ./.github/workflows/windows-tests.yml - with: - php: ${{ matrix.php }} - arch: ${{ matrix.arch }} - ts: ${{ matrix.ts }} - secrets: inherit + runs-on: "${{ matrix.os }}" + defaults: + run: + shell: cmd + strategy: fail-fast: false matrix: + os: [ "windows-2022" ] # Note: keep this in sync with the Windows matrix in package-release.yml - php: [ "8.1", "8.2", "8.3", "8.4" ] + php-version: + - "8.1" + - "8.2" + - "8.3" + - "8.4" arch: [ x64, x86 ] ts: [ ts, nts ] + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - id: setup-mongodb + uses: mongodb-labs/drivers-evergreen-tools@master + with: + version: "7.0" + topology: "server" + + - name: "Build and Test" + id: build-driver + uses: ./.github/actions/windows/build + with: + version: ${{ matrix.php-version }} + arch: ${{ matrix.arch }} + ts: ${{ matrix.ts }} + run-tests: true + env: + NO_INTERACTION: 1 + REPORT_EXIT_STATUS: 1 + MONGODB_URI: ${{ steps.setup-mongodb.outputs.cluster-uri }} + CRYPT_SHARED_LIB_PATH: ${{ steps.setup-mongodb.outputs.crypt-shared-lib-path }} diff --git a/.github/workflows/wait-for-mongodb.bat b/.github/workflows/wait-for-mongodb.bat deleted file mode 100644 index d397e3815..000000000 --- a/.github/workflows/wait-for-mongodb.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -:repeat -powershell -nop -c "& {sleep 1}" -mongo --quiet --eval 'db.runCommand({ping:1})' || goto :repeat diff --git a/.github/workflows/windows-tests.yml b/.github/workflows/windows-tests.yml deleted file mode 100644 index b1e6dd544..000000000 --- a/.github/workflows/windows-tests.yml +++ /dev/null @@ -1,98 +0,0 @@ -name: "Windows Tests" -run-name: "Windows Tests (PHP ${{ inputs.php }} ${{ inputs.arch }} ${{ inputs.ts }})" - -on: - workflow_call: - inputs: - php: - description: "The PHP version to build for" - type: string - required: true - arch: - description: "The architecture to build for (x64 or x86)" - type: string - required: true - ts: - description: "Thread safety (ts or nts)" - type: string - required: true - upload_release_asset: - description: "Whether to upload a release asset" - type: boolean - default: false - -jobs: - build: - name: "Build Driver" - runs-on: windows-2022 - defaults: - run: - shell: cmd - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: "Build Driver" - id: build-driver - uses: ./.github/actions/windows/build - with: - version: ${{ inputs.php }} - arch: ${{ inputs.arch }} - ts: ${{ inputs.ts }} - - - name: Cache build artifacts for subsequent builds - id: cache-build-artifacts - uses: actions/cache/save@v4 - with: - key: ${{ github.sha }}-${{ inputs.php }}-${{ inputs.ts }}-${{ inputs.arch }} - path: | - ${{ steps.build-driver.outputs.build-dir }}\php_mongodb.dll - ${{ steps.build-driver.outputs.build-dir }}\php_mongodb.pdb - - test: - name: "Run Tests" - runs-on: windows-2022 - needs: build - defaults: - run: - shell: cmd - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - id: setup-mongodb - uses: mongodb-labs/drivers-evergreen-tools@master - with: - version: "7.0" - topology: "server" - - - name: Prepare build environment - id: prepare-build - uses: ./.github/actions/windows/prepare-build - with: - version: ${{ inputs.php }} - arch: ${{ inputs.arch }} - ts: ${{ inputs.ts }} - - - name: Restore cached build artifacts - id: cache-build-artifacts - uses: actions/cache/restore@v4 - with: - fail-on-cache-miss: true - key: ${{ github.sha }}-${{ inputs.php }}-${{ inputs.ts }}-${{ inputs.arch }} - path: | - ${{ steps.prepare-build.outputs.build-dir }}\php_mongodb.dll - ${{ steps.prepare-build.outputs.build-dir }}\php_mongodb.pdb - - - name: Run Tests - run: nmake /nologo test - env: - NO_INTERACTION: 1 - REPORT_EXIT_STATUS: 1 - TESTS: --show-diff - MONGODB_URI: ${{ steps.setup-mongodb.outputs.cluster-uri }} - CRYPT_SHARED_LIB_PATH: ${{ steps.setup-mongodb.outputs.crypt-shared-lib-path }} From 7031a52b8bb49aeb73d4cf4c10d651a48c9fc0d9 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Fri, 16 Jan 2026 11:08:44 +0100 Subject: [PATCH 2/6] Use php-windows-builder for releases --- .github/workflows/build-windows-package.yml | 134 ------------------- .github/workflows/build-windows-packages.yml | 98 ++++++++++++++ .github/workflows/package-release.yml | 14 +- .github/workflows/tests.yml | 2 +- 4 files changed, 101 insertions(+), 147 deletions(-) delete mode 100644 .github/workflows/build-windows-package.yml create mode 100644 .github/workflows/build-windows-packages.yml diff --git a/.github/workflows/build-windows-package.yml b/.github/workflows/build-windows-package.yml deleted file mode 100644 index 3c672f3a7..000000000 --- a/.github/workflows/build-windows-package.yml +++ /dev/null @@ -1,134 +0,0 @@ -name: "Build Windows Package" -run-name: "Build Windows Package for ${{ inputs.ref }} (PHP ${{ inputs.php }} ${{ inputs.arch }} ${{ inputs.ts }})" - -on: - workflow_call: - inputs: - version: - description: "The version being built" - type: string - required: true - ref: - description: "The git reference to build" - type: string - required: true - php: - description: "The PHP version to build for" - type: string - required: true - arch: - description: "The architecture to build for (x64 or x86)" - type: string - required: true - ts: - description: "Thread safety (ts or nts)" - type: string - required: true - upload_release_asset: - description: "Whether to upload a release asset" - type: boolean - default: false - -jobs: - build: - name: "Build DLL" - # windows-latest is required to use enableCrossOsArchive with Ubuntu in the - # next step. See https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cross-os-cache - runs-on: windows-latest - defaults: - run: - shell: cmd - outputs: - vs: ${{ steps.build-driver.outputs.vs }} - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - ref: ${{ inputs.ref }} - - - name: "Build Driver" - id: build-driver - uses: ./.github/actions/windows/build - with: - version: ${{ inputs.php }} - arch: ${{ inputs.arch }} - ts: ${{ inputs.ts }} - - - name: "Copy DLL and PDB files to CWD" - run: | - cp %BUILD_DIR%\php_mongodb.dll . - cp %BUILD_DIR%\php_mongodb.pdb . - env: - BUILD_DIR: ${{ steps.build-driver.outputs.build-dir }} - - - name: "Cache build artifacts for subsequent builds" - uses: actions/cache/save@v4 - with: - key: ${{ github.sha }}-${{ inputs.php }}-${{ inputs.ts }}-${{ inputs.arch }} - enableCrossOsArchive: true - path: | - php_mongodb.dll - php_mongodb.pdb - - sign-and-package: - environment: release - name: "Sign and create package" - needs: build - # ubuntu-latest is required to use enableCrossOsArchive - # See https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cross-os-cache - runs-on: "ubuntu-latest" - permissions: - id-token: write - - steps: - - name: "Generate token and checkout repository" - uses: mongodb-labs/drivers-github-tools/secure-checkout@v2 - with: - app_id: ${{ vars.APP_ID }} - private_key: ${{ secrets.APP_PRIVATE_KEY }} - ref: ${{ inputs.ref }} - - - name: "Set up drivers-github-tools" - uses: mongodb-labs/drivers-github-tools/setup@v2 - with: - aws_role_arn: ${{ secrets.AWS_ROLE_ARN }} - aws_region_name: ${{ vars.AWS_REGION_NAME }} - aws_secret_id: ${{ secrets.AWS_SECRET_ID }} - - - name: Restore cached build artifacts - id: cache-build-artifacts - uses: actions/cache/restore@v4 - with: - fail-on-cache-miss: true - key: ${{ github.sha }}-${{ inputs.php }}-${{ inputs.ts }}-${{ inputs.arch }} - enableCrossOsArchive: true - path: | - php_mongodb.dll - php_mongodb.pdb - - - name: "Create detached DLL signature" - uses: mongodb-labs/drivers-github-tools/gpg-sign@v2 - with: - filenames: php_mongodb.dll - - - name: "Generate file name for DLL and archive" - run: - echo FILENAME="php_mongodb-${{ inputs.version }}-${{ inputs.php }}-${{ inputs.ts }}-${{ needs.build.outputs.vs }}-${{ inputs.arch == 'x64' && 'x86_64' || inputs.arch }}" >> "$GITHUB_ENV" - - # In this step, we: - # - update the extension DLL and PDB file names to match the expectation of pie - # - copy the signature file from the release asset directory to avoid directory issues in the archive - # - rename the signature file to match the extension DLL file - - name: "Copy signature file and use correct file names" - run: | - mv php_mongodb.dll ${{ env.FILENAME }}.dll - mv php_mongodb.pdb ${{ env.FILENAME }}.pdb - cp ${RELEASE_ASSETS}/php_mongodb.dll.sig ${{ env.FILENAME }}.dll.sig - - - name: "Create and upload release asset" - if: ${{ inputs.upload_release_asset }} - run: | - ARCHIVE=${{ env.FILENAME }}.zip - zip ${ARCHIVE} ${{ env.FILENAME }}.dll ${{ env.FILENAME }}.dll.sig ${{ env.FILENAME }}.pdb CREDITS CONTRIBUTING.md LICENSE README.md THIRD_PARTY_NOTICES - gh release upload ${{ inputs.version }} ${ARCHIVE} diff --git a/.github/workflows/build-windows-packages.yml b/.github/workflows/build-windows-packages.yml new file mode 100644 index 000000000..e6c558d17 --- /dev/null +++ b/.github/workflows/build-windows-packages.yml @@ -0,0 +1,98 @@ +name: "Build Windows Package" +run-name: "Build Windows Package for ${{ inputs.ref }} (PHP ${{ inputs.php }} ${{ inputs.arch }} ${{ inputs.ts }})" + +on: + workflow_call: + inputs: + version: + description: "The version being built" + type: string + required: true + ref: + description: "The git reference to build" + type: string + required: true + upload_release_assets: + description: "Whether to upload assets to a GitHub release" + type: boolean + default: false + +jobs: + build: + name: "Build DLL" + runs-on: ${{ matrix.os }} + defaults: + run: + shell: cmd + + strategy: + fail-fast: false + matrix: + os: [ "windows-2022" ] + # Note: keep this in sync with the Windows matrix in tests.yml + php-version: + - "8.1" + - "8.2" + - "8.3" + - "8.4" + arch: [ x64, x86 ] + ts: [ ts, nts ] + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + ref: ${{ inputs.ref }} + + - name: "Build Driver" + id: build-driver + uses: ./.github/actions/windows/build + with: + version: ${{ matrix.php-version }} + arch: ${{ matrix.arch }} + ts: ${{ matrix.ts }} + run-tests: false + + sign-and-upload: + environment: release + name: "Sign and create package" + needs: build + runs-on: "ubuntu-latest" + permissions: + id-token: write + + steps: + - name: "Generate token and checkout repository" + uses: mongodb-labs/drivers-github-tools/secure-checkout@v2 + with: + app_id: ${{ vars.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + ref: ${{ inputs.ref }} + + - name: "Set up drivers-github-tools" + uses: mongodb-labs/drivers-github-tools/setup@v2 + with: + aws_role_arn: ${{ secrets.AWS_ROLE_ARN }} + aws_region_name: ${{ vars.AWS_REGION_NAME }} + aws_secret_id: ${{ secrets.AWS_SECRET_ID }} + + - name: Get artifacts + uses: actions/download-artifact@v5 + with: + path: artifacts + pattern: php_mongodb-*.zip + merge-multiple: true + + - name: "Create detached signatures for packages" + uses: mongodb-labs/drivers-github-tools/gpg-sign@v2 + with: + filenames: php_mongodb.dll + + - name: "Move signatures from release assets folder" + run: | + mv ${RELEASE_ASSETS}/php_mongodb*.sig artifacts/ + + - name: "Upload assets to release" + if: ${{ inputs.upload_release_assets }} + run: | + gh release upload ${{ inputs.version }} artifacts/php_mongodb* --clobber diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index b9e91915c..3b5615c5b 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -85,19 +85,9 @@ jobs: build-windows: name: "Create Windows packages" - uses: ./.github/workflows/build-windows-package.yml + uses: ./.github/workflows/build-windows-packages.yml with: version: ${{ inputs.version }} ref: refs/tags/${{ inputs.version }} - php: ${{ matrix.php }} - arch: ${{ matrix.arch }} - ts: ${{ matrix.ts }} - upload_release_asset: true + upload_release_assets: true secrets: inherit - strategy: - fail-fast: false - matrix: - # Note: keep this in sync with the Windows matrix in tests.yml - php: [ "8.1", "8.2", "8.3", "8.4" ] - arch: [ x64, x86 ] - ts: [ ts, nts ] diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fce6ee04f..7c8647ac1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -123,7 +123,7 @@ jobs: fail-fast: false matrix: os: [ "windows-2022" ] - # Note: keep this in sync with the Windows matrix in package-release.yml + # Note: keep this in sync with the Windows matrix in build-windows-package.yml php-version: - "8.1" - "8.2" From 3267a50f1685132cb87ada6cbd85c8236630bd09 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Fri, 16 Jan 2026 14:03:03 +0100 Subject: [PATCH 3/6] Clarify PHP version argument for build workflow --- .github/actions/windows/build/action.yml | 4 ++-- .github/workflows/build-windows-packages.yml | 2 +- .github/workflows/tests.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/windows/build/action.yml b/.github/actions/windows/build/action.yml index b8eb28a6c..ac131c2aa 100644 --- a/.github/actions/windows/build/action.yml +++ b/.github/actions/windows/build/action.yml @@ -1,7 +1,7 @@ name: "Build DLL files for Windows" description: "Prepares the PHP build environment for the MongoDB driver" inputs: - version: + php-version: description: "PHP version to build for" required: true arch: @@ -20,7 +20,7 @@ runs: - name: Build extension uses: php/php-windows-builder/extension@1.6.0 with: - php-version: ${{ inputs.version }} + php-version: ${{ inputs.php-version }} arch: ${{ inputs.arch }} ts: ${{ inputs.ts }} run-tests: ${{ inputs.run-tests == 'true' && true || false }} diff --git a/.github/workflows/build-windows-packages.yml b/.github/workflows/build-windows-packages.yml index e6c558d17..24fb85942 100644 --- a/.github/workflows/build-windows-packages.yml +++ b/.github/workflows/build-windows-packages.yml @@ -48,7 +48,7 @@ jobs: id: build-driver uses: ./.github/actions/windows/build with: - version: ${{ matrix.php-version }} + php-version: ${{ matrix.php-version }} arch: ${{ matrix.arch }} ts: ${{ matrix.ts }} run-tests: false diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7c8647ac1..2145b93b2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -147,7 +147,7 @@ jobs: id: build-driver uses: ./.github/actions/windows/build with: - version: ${{ matrix.php-version }} + php-version: ${{ matrix.php-version }} arch: ${{ matrix.arch }} ts: ${{ matrix.ts }} run-tests: true From da89f34e6d5a27189586c6be4da621ab37307f7a Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Fri, 16 Jan 2026 14:03:23 +0100 Subject: [PATCH 4/6] Include build ref to harden release workflow --- .github/actions/windows/build/action.yml | 4 ++++ .github/workflows/build-windows-packages.yml | 1 + 2 files changed, 5 insertions(+) diff --git a/.github/actions/windows/build/action.yml b/.github/actions/windows/build/action.yml index ac131c2aa..85cc96593 100644 --- a/.github/actions/windows/build/action.yml +++ b/.github/actions/windows/build/action.yml @@ -1,6 +1,9 @@ name: "Build DLL files for Windows" description: "Prepares the PHP build environment for the MongoDB driver" inputs: + ref: + description: Git reference to build + required: false php-version: description: "PHP version to build for" required: true @@ -20,6 +23,7 @@ runs: - name: Build extension uses: php/php-windows-builder/extension@1.6.0 with: + extension-ref: ${{ inputs.ref }} php-version: ${{ inputs.php-version }} arch: ${{ inputs.arch }} ts: ${{ inputs.ts }} diff --git a/.github/workflows/build-windows-packages.yml b/.github/workflows/build-windows-packages.yml index 24fb85942..9403c61ba 100644 --- a/.github/workflows/build-windows-packages.yml +++ b/.github/workflows/build-windows-packages.yml @@ -48,6 +48,7 @@ jobs: id: build-driver uses: ./.github/actions/windows/build with: + ref: ${{ inputs.ref }} php-version: ${{ matrix.php-version }} arch: ${{ matrix.arch }} ts: ${{ matrix.ts }} From 1f226df67788c15a3b6f0a44a5206bb855e21c35 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Tue, 20 Jan 2026 13:29:43 +0100 Subject: [PATCH 5/6] Fix mistakes in windows package build workflow --- .github/workflows/build-windows-packages.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-windows-packages.yml b/.github/workflows/build-windows-packages.yml index 9403c61ba..d48538c3d 100644 --- a/.github/workflows/build-windows-packages.yml +++ b/.github/workflows/build-windows-packages.yml @@ -1,5 +1,5 @@ -name: "Build Windows Package" -run-name: "Build Windows Package for ${{ inputs.ref }} (PHP ${{ inputs.php }} ${{ inputs.arch }} ${{ inputs.ts }})" +name: "Build Windows Packages" +run-name: "Build Windows Packages for ${{ inputs.ref }}" on: workflow_call: @@ -87,7 +87,7 @@ jobs: - name: "Create detached signatures for packages" uses: mongodb-labs/drivers-github-tools/gpg-sign@v2 with: - filenames: php_mongodb.dll + filenames: php_mongodb*.zip - name: "Move signatures from release assets folder" run: | From 54ad8e085559e2b8f65836ee10234ef34abb0a05 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Wed, 21 Jan 2026 10:28:48 +0100 Subject: [PATCH 6/6] Update verification instructions for Windows packages --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4f17ec236..c6eeb417a 100644 --- a/README.md +++ b/README.md @@ -71,12 +71,12 @@ gpg --verify mongodb-X.Y.Z.tgz.sig mongodb-X.Y.Z.tgz ### Windows -Windows binaries distributed through GitHub releases contain a detached -signature for the `php_mongodb.dll` file named `php_mongodb.dll.sig`. To verify -the integrity of the DLL, run the following command: +Windows binaries are distributed through GitHub releases in the form of a ZIP +package. The GitHub release will also contain a detached signature file for the +PECL package. To verify the integrity of the package, run the following command: ```shell -gpg --verify php_mongodb.dll.sig php_mongodb.dll.tgz +gpg --verify php_mongodb-X.Y.Z.zip.sig php_mongodb-X.Y.Z.zip ``` > [!NOTE]