Try to fix windows build github workflow #31
This file contains hidden or 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: build-windows-php | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| tags: | |
| - "*" | |
| jobs: | |
| build-windows-php: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [windows-latest] | |
| php-version: ["8.2", "8.3"] | |
| arch: [x86_64] | |
| include: | |
| - arch: x86_64 | |
| arch-short: x64 | |
| name: PHP ${{ matrix.php-version }} build on ${{ matrix.os }} for arch ${{ matrix.arch }} | |
| steps: | |
| - uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - name: Install dependencies | |
| run: | | |
| pip install protobuf grpcio-tools | |
| python --version | |
| - name: Configure toolchain | |
| run: | | |
| cmake --version | |
| python --version | |
| - name: Install MSVC Dev Cmd | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: ${{ matrix.arch }} | |
| - name: Install PHP ${{ matrix.php-version }} | |
| id: setup-php | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-version }} | |
| env: | |
| phpts: ts | |
| - name: Check PHP Version | |
| run: php -v | |
| - name: Download PHP development pack | |
| run: | | |
| $php_devel_url = "https://windows.php.net/downloads/releases/php-devel-pack-${{ steps.setup-php.outputs.php-version }}-Win32-vs16-${{ matrix.arch-short }}.zip" | |
| $php_devel_zip = "php-devel.zip" | |
| Invoke-WebRequest -Uri $php_devel_url -OutFile $php_devel_zip | |
| Expand-Archive -Path $php_devel_zip -DestinationPath "c:\\tools" | |
| Remove-Item -Path $php_devel_zip | |
| - name: Checkout project | |
| uses: actions/checkout@v4 | |
| - name: Configure project | |
| run: > | |
| cmake -G"NMake Makefiles" | |
| -C"configs\\php-config.cmake" | |
| -DPHP_DEVEL_HOME="C:\\tools\\php-${{ steps.setup-php.outputs.php-version }}-devel-vs16-${{ matrix.arch-short }}" | |
| -DVIRGIL_LIB_PYTHIA=OFF | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DVIRGIL_PACKAGE_PLATFORM_ARCH="${{ matrix.arch }}" | |
| -DVIRGIL_PACKAGE_LANGUAGE_VERSION="${{ matrix.php-version }}" | |
| -DCPACK_OUTPUT_FILE_PREFIX=php | |
| -DENABLE_CLANGFORMAT=OFF | |
| -Bbuild -S. | |
| - name: Build project | |
| run: cmake --build build --parallel $NUMBER_OF_PROCESSORS | |
| - name: Test project | |
| if: False | |
| working-directory: build | |
| run: ctest --verbose | |
| - name: Package project | |
| working-directory: build | |
| run: cpack | |
| - name: Attach artifacts to the release | |
| uses: softprops/action-gh-release@v2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| files: build/php/*.zip |