1515 fail-fast : false
1616 matrix :
1717 configuration : [Debug ,Release]
18- platform : [x86 ,x64]
18+ platform : [x86 ,x64 ,ARM64 ]
1919
2020 runs-on : windows-latest
2121
5757 echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
5858 echo "XENGINE_LIB32=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
5959 shell : pwsh
60+ - name : Set up Dependency ARM64 Environment
61+ if : matrix.platform == 'ARM64'
62+ run : |
63+ $response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"}
64+ $latest_tag = $response.tag_name
65+ Write-Host "Latest Tag: $latest_tag"
66+
67+ $url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_Arm64.zip"
68+ Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_Arm64.zip"
69+ Expand-Archive -Path ./XEngine_Windows_Arm64.zip -DestinationPath ./XEngine_Windows -Force
70+
71+ echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
72+ echo "XENGINE_LibArm64=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
73+ shell : pwsh
6074
6175 - name : Setup MSBuild
6276 uses : microsoft/setup-msbuild@v2
@@ -83,17 +97,34 @@ jobs:
8397 cd XEngine_Release
8498 ./VSCopy_x64.bat
8599 shell : pwsh
100+ - name : Conditional Step for Arm64 Release
101+ if : matrix.configuration == 'Release' && matrix.platform == 'Arm64'
102+ run : |
103+ cp -r XEngine_Source/ARM64/Release/*.dll XEngine_Release/
104+ cp -r XEngine_Source/ARM64/Release/*.exe XEngine_Release/
105+ cp -r XEngine_Source/VSCopy_Arm64.bat XEngine_Release/
106+ cd XEngine_Release
107+ ./VSCopy_Arm64.bat
108+ shell : pwsh
86109
87110 - name : Upload folder as artifact with x86
88111 if : matrix.configuration == 'Release' && matrix.platform == 'x86'
89112 uses : actions/upload-artifact@v4
90113 with :
91- name : XEngine_MQServiceApp-x86_32-Windows
114+ name : XEngine_MQServiceApp-Windows_x86_32
92115 path : XEngine_Release/
93-
116+ retention-days : 1
94117 - name : Upload folder as artifact with x64
95118 if : matrix.configuration == 'Release' && matrix.platform == 'x64'
96119 uses : actions/upload-artifact@v4
97120 with :
98- name : XEngine_MQServiceApp-x86_64-Windows
99- path : XEngine_Release/
121+ name : XEngine_MQServiceApp-Windows_x86_64
122+ path : XEngine_Release/
123+ retention-days : 1
124+ - name : Upload folder as artifact with Arm64
125+ if : matrix.configuration == 'Release' && matrix.platform == 'Arm64'
126+ uses : actions/upload-artifact@v4
127+ with :
128+ name : XEngine_MQServiceApp-Windows_Arm64
129+ path : XEngine_Release/
130+ retention-days : 1
0 commit comments