update:match xengine v9.20 #93
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: | |
- 'develop' | |
paths: | |
- 'XEngine_Source/**' | |
- 'XEngine_Release/**' | |
- '.github/**' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
configuration: [Debug ,Release] | |
platform: [x86 ,x64, ARM64] | |
runs-on: windows-latest # 最新的 Windows 环境 | |
steps: | |
# 检出您的主仓库代码 | |
- name: Checkout main repository code | |
uses: actions/checkout@v4 | |
with: | |
ref: 'develop' | |
# 检出依赖的xengine仓库到指定的xengine目录 | |
- name: Checkout dependency repository (xengine) | |
uses: actions/checkout@v4 | |
with: | |
repository: libxengine/libxengine | |
path: libxengine | |
- 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 }}/libxengine" | Out-File -FilePath $env:GITHUB_ENV -Append | |
echo "XENGINE_LIB64=${{ github.workspace }}/libxengine/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 | |
Write-Host "Latest Tag: $latest_tag" | |
$url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_x86-32.zip" | |
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_ServiceApp.exe -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 | |
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 | |
- name: Upload folder as artifact with x86 | |
if: matrix.configuration == 'Release' && matrix.platform == 'x64' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: XEngine_ProxyServiceApp-Windows_x86_32 | |
path: XEngine_Release/ | |
retention-days: 1 | |
- name: Upload folder as artifact with x64 | |
if: matrix.configuration == 'Release' && matrix.platform == 'x64' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: XEngine_ProxyServiceApp-Windows_x86_64 | |
path: XEngine_Release/ | |
retention-days: 1 | |
- name: Upload folder as artifact with ARM64 | |
if: matrix.configuration == 'Release' && matrix.platform == 'ARM64' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: XEngine_ProxyServiceApp-Windows_ARM64 | |
path: XEngine_Release/ | |
retention-days: 1 |