1+ name : UWP
2+ ' on ' :
3+ push :
4+ branches :
5+ - master
6+ pull_request :
7+ branches :
8+ - master
9+ schedule :
10+ - cron : ' 0 0 * * 1'
11+ workflow_dispatch :
12+
13+ jobs :
14+ SyncUpstream :
15+ runs-on : ubuntu-latest
16+ permissions :
17+ contents : write
18+ steps :
19+ - name : Checkout master
20+ uses : actions/checkout@v4
21+ with :
22+ ref : master
23+ fetch-depth : 0
24+
25+ - name : Sync with Upstream
26+ if : github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
27+ uses : aormsby/Fork-Sync-With-Upstream-action@v3.4.1
28+ with :
29+ target_sync_branch : master
30+ target_repo_token : ${{ secrets.GITHUB_TOKEN }}
31+ upstream_sync_branch : master
32+ upstream_sync_repo : libretro/RetroArch
33+ test_mode : false
34+ XboxOne :
35+ needs : SyncUpstream
36+ runs-on : windows-latest
37+ steps :
38+ - name : Add msbuild to PATH
39+ uses : microsoft/setup-msbuild@v2
40+ - name : Checkout Repository
41+ uses : actions/checkout@v6.0.1
42+ with :
43+ fetch-depth : 0
44+ submodules : false
45+ - name : Download ANGLE Cores, DLLs and Extract
46+ run : >
47+ curl -L "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/Angle%%20Cores.zip" --output Angle_Cores.zip
48+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.001" --output DLLs.zip.001
49+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.002" --output DLLs.zip.002 &&
50+ 7z x Angle_Cores.zip -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores" *.* -r -y && 7z x DLLs.zip.001 -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64" *.* -r -y &&
51+ del /q /f "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\.empty"
52+ shell : cmd
53+ - name : Compile ANGLE build
54+ run : |
55+ msbuild pkg\msvc-UWP\RetroArch-msvcUWP.sln `
56+ /p:AppxBundle=Always `
57+ /p:UapAppxPackageBuildMode==SideloadOnly `
58+ /p:AppxBundlePlatforms="x64" `
59+ /p:Configuration="ReleaseANGLE" `
60+ /p:Platform="x64"
61+ shell : pwsh
62+ - name : Grab AppX package
63+ shell : cmd
64+ run : >
65+ cd pkg\msvc-uwp\x64\ReleaseANGLE\RetroArch-msvcUWP && copy /B *ReleaseANGLE.appx ..\..\RetroArch-XboxOne.appx
66+ - name : Upload AppX package
67+ uses : actions/upload-artifact@v6
68+ with :
69+ name : " RetroArch-XboxOne"
70+ path : ./pkg/msvc-uwp/x64/RetroArch-XboxOne.appx
71+
72+ SeriesConsoles :
73+ needs : SyncUpstream
74+ runs-on : windows-latest
75+ steps :
76+ - name : Add msbuild to PATH
77+ uses : microsoft/setup-msbuild@v2
78+ - name : Checkout Repository
79+ uses : actions/checkout@v6.0.1
80+ with :
81+ fetch-depth : 0
82+ submodules : false
83+ - name : Download and Extract DLLs
84+ run : >
85+ curl -L "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.001" --output DLLs.zip.001
86+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.002" --output DLLs.zip.002 &&
87+ 7z x DLLs.zip.001 -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64" *.* -r -y &&
88+ del /q /f "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\.empty"
89+ shell : cmd
90+ - name : Compile Mesa build
91+ run : |
92+ msbuild pkg\msvc-UWP\RetroArch-msvcUWP.sln `
93+ /p:AppxBundle=Always `
94+ /p:UapAppxPackageBuildMode==SideloadOnly `
95+ /p:AppxBundlePlatforms="x64" `
96+ /p:Configuration="Release" `
97+ /p:Platform="x64"
98+ shell : pwsh
99+ - name : Grab AppX package
100+ shell : cmd
101+ run : >
102+ cd pkg\msvc-uwp\x64\Release\RetroArch-msvcUWP && copy /B *x64.appx ..\..\RetroArch-SeriesConsoles.appx
103+ - name : Upload AppX package
104+ uses : actions/upload-artifact@v6
105+ with :
106+ name : " RetroArch-SeriesConsoles"
107+ path : ./pkg/msvc-uwp/x64/RetroArch-SeriesConsoles.appx
108+
109+ XboxOneAllCores :
110+ needs : SyncUpstream
111+ runs-on : windows-latest
112+ steps :
113+ - name : Add msbuild to PATH
114+ uses : microsoft/setup-msbuild@v2
115+ - name : Checkout Repository
116+ uses : actions/checkout@v6.0.1
117+ with :
118+ fetch-depth : 0
119+ submodules : false
120+ - name : Download Cores, DLLs and Extract
121+ run : >
122+ curl -L "https://buildbot.libretro.com/nightly/windows/x86_64/RetroArch_cores.7z" --output Cores.7z
123+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/Angle%%20Cores.zip" --output Angle_Cores.zip
124+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.001" --output DLLs.zip.001
125+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.002" --output DLLs.zip.002 &&
126+ 7z e Cores.7z -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\" && 7z x Angle_Cores.zip -aoa -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores" *.* -r -y && 7z x DLLs.zip.001 -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64" *.* -r -y &&
127+ del /q /f "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\citra2018_libretro.dll" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\citra_libretro.dll"
128+ shell : cmd
129+ - name : Compile ANGLE build
130+ run : |
131+ msbuild pkg\msvc-UWP\RetroArch-msvcUWP.sln `
132+ /p:AppxBundle=Always `
133+ /p:UapAppxPackageBuildMode==SideloadOnly `
134+ /p:AppxBundlePlatforms="x64" `
135+ /p:Configuration="ReleaseANGLE" `
136+ /p:Platform="x64"
137+ shell : pwsh
138+ - name : Grab AppX package
139+ shell : cmd
140+ run : >
141+ cd pkg\msvc-uwp\x64\ReleaseANGLE\RetroArch-msvcUWP && copy /B *ReleaseANGLE.appx ..\..\RetroArch-XboxOne-AllCores.appx
142+ - name : Upload AppX package
143+ uses : actions/upload-artifact@v6
144+ with :
145+ name : " RetroArch-XboxOne-AllCores"
146+ path : ./pkg/msvc-uwp/x64/RetroArch-XboxOne-AllCores.appx
147+
148+ SeriesConsolesAllCores :
149+ needs : SyncUpstream
150+ runs-on : windows-latest
151+ steps :
152+ - name : Add msbuild to PATH
153+ uses : microsoft/setup-msbuild@v2
154+ - name : Checkout Repository
155+ uses : actions/checkout@v6.0.1
156+ with :
157+ fetch-depth : 0
158+ submodules : false
159+ - name : Download Cores, DLLs and Extract
160+ run : >
161+ curl -L "https://buildbot.libretro.com/nightly/windows/x86_64/RetroArch_cores.7z" --output Cores.7z
162+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.001" --output DLLs.zip.001
163+ "https://github.com/TheRhysWyrill/RA-Xbox-Files/raw/main/DLLs.zip.002" --output DLLs.zip.002 &&
164+ 7z e Cores.7z -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\" && 7z x DLLs.zip.001 -o"pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64" *.* -r -y &&
165+ del /q /f "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\.empty" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\citra2018_libretro.dll" "pkg\msvc-uwp\RetroArch-msvcUWP\cores\x64\cores\citra_libretro.dll"
166+ shell : cmd
167+ - name : Compile Mesa build
168+ run : |
169+ msbuild pkg\msvc-UWP\RetroArch-msvcUWP.sln `
170+ /p:AppxBundle=Always `
171+ /p:UapAppxPackageBuildMode==SideloadOnly `
172+ /p:AppxBundlePlatforms="x64" `
173+ /p:Configuration="Release" `
174+ /p:Platform="x64"
175+ shell : pwsh
176+ - name : Grab AppX package
177+ shell : cmd
178+ run : >
179+ cd pkg\msvc-uwp\x64\Release\RetroArch-msvcUWP && copy /B *x64.appx ..\..\RetroArch-SeriesConsoles-AllCores.appx
180+ - name : Upload AppX package
181+ uses : actions/upload-artifact@v6
182+ with :
183+ name : " RetroArch-SeriesConsoles-AllCores"
184+ path : ./pkg/msvc-uwp/x64/RetroArch-SeriesConsoles-AllCores.appx
185+
186+ Publish-release :
187+ needs : [XboxOne, SeriesConsoles, XboxOneAllCores, SeriesConsolesAllCores]
188+ name : Publish Release
189+ if : github.ref == 'refs/heads/master'
190+ permissions : write-all
191+ runs-on : ubuntu-slim
192+
193+ steps :
194+ - name : Get current date
195+ id : date
196+ run : echo "::set-output name=date::$(date +'%m-%d-%Y')"
197+
198+ - name : Download Artifacts
199+ uses : actions/download-artifact@v6
200+ with :
201+ path : ./artifacts/
202+
203+ - name : Create a new release
204+ uses : marvinpinto/action-automatic-releases@latest
205+ with :
206+ repo_token : ${{ secrets.GITHUB_TOKEN }}
207+ automatic_release_tag : ${{ steps.date.outputs.date }}
208+ prerelease : false
209+ title : Xbox Builds [${{ steps.date.outputs.date }}]
210+ files : |
211+ ./artifacts/RetroArch-XboxOne/RetroArch-XboxOne.appx
212+ ./artifacts/RetroArch-SeriesConsoles/RetroArch-SeriesConsoles.appx
213+ ./artifacts/RetroArch-XboxOne-AllCores/RetroArch-XboxOne-AllCores.appx
214+ ./artifacts/RetroArch-SeriesConsoles-AllCores/RetroArch-SeriesConsoles-AllCores.appx
0 commit comments