update:depend library #162
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: windows build workflows | |
| on: | |
| push: | |
| branches: | |
| - 'master' | |
| paths: | |
| - 'XEngine_Source/**' | |
| - 'XEngine_Release/**' | |
| - '.github/**' | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| configuration: [Debug ,Release] | |
| platform: [x86 ,x64 ,ARM64] | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout main repository code | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: 'master' | |
| - name: Checkout dependency repository (xengine) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: libxengine/libxengine | |
| path: xengine | |
| - name: sub module checkout (opensource) | |
| run: | | |
| git submodule init | |
| git submodule update | |
| shell: pwsh | |
| - name: Set up Dependency x86_64 Environment | |
| if: matrix.platform == 'x64' | |
| run: | | |
| echo "XENGINE_INCLUDE=${{ github.workspace }}/xengine" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| echo "XENGINE_LIB64=${{ github.workspace }}/xengine/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| shell: pwsh | |
| - name: Set up Dependency x86_32 Environment | |
| if: matrix.platform == 'x86' | |
| run: | | |
| $response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"} | |
| $latest_tag = $response.tag_name | |
| $url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_x86-32.zip" | |
| Write-Host "Latest Tag: $url" | |
| Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_x86-32.zip" | |
| Expand-Archive -Path ./XEngine_Windows_x86-32.zip -DestinationPath ./XEngine_Windows -Force | |
| echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| echo "XENGINE_LIB32=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| shell: pwsh | |
| - name: Set up Dependency ARM64 Environment | |
| if: matrix.platform == 'ARM64' | |
| run: | | |
| $response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"} | |
| $latest_tag = $response.tag_name | |
| Write-Host "Latest Tag: $latest_tag" | |
| $url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_Arm64.zip" | |
| Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_Arm64.zip" | |
| Expand-Archive -Path ./XEngine_Windows_Arm64.zip -DestinationPath ./XEngine_Windows -Force | |
| echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| echo "XENGINE_LibArm64=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| shell: pwsh | |
| - name: Setup MSBuild | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: Build Solution | |
| run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} | |
| - name: Conditional Step for x86 Release | |
| if: matrix.configuration == 'Release' && matrix.platform == 'x86' | |
| run: | | |
| cp -r XEngine_Source/Release/*.dll XEngine_Release/ | |
| cp -r XEngine_Source/Release/*.exe XEngine_Release/ | |
| cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ | |
| cd XEngine_Release | |
| ./VSCopy_x86.bat | |
| ./XEngine_CenterApp -t | |
| ./XEngine_Http2App -t | |
| ./XEngine_HttpApp -t | |
| ./XEngine_SimpleApp -t | |
| ./XEngine_WebSocketApp -t | |
| shell: pwsh | |
| - name: Conditional Step for x64 Release | |
| if: matrix.configuration == 'Release' && matrix.platform == 'x64' | |
| run: | | |
| cp -r XEngine_Source/x64/Release/*.dll XEngine_Release/ | |
| cp -r XEngine_Source/x64/Release/*.exe XEngine_Release/ | |
| cp -r XEngine_Source/VSCopy_x64.bat XEngine_Release/ | |
| cd XEngine_Release | |
| ./VSCopy_x64.bat | |
| ./XEngine_CenterApp -t | |
| ./XEngine_Http2App -t | |
| ./XEngine_HttpApp -t | |
| ./XEngine_SimpleApp -t | |
| ./XEngine_WebSocketApp -t | |
| shell: pwsh | |
| - name: Conditional Step for Arm64 Release | |
| if: matrix.configuration == 'Release' && matrix.platform == 'Arm64' | |
| run: | | |
| cp -r XEngine_Source/ARM64/Release/*.dll XEngine_Release/ | |
| cp -r XEngine_Source/ARM64/Release/*.exe XEngine_Release/ | |
| cp -r XEngine_Source/VSCopy_Arm64.bat XEngine_Release/ | |
| cd XEngine_Release | |
| ./VSCopy_Arm64.bat | |
| shell: pwsh |