11name : GenerateBuilds
2+
23on :
34 push :
45
5556 - uses : actions/checkout@v4
5657 with :
5758 submodules : recursive
59+ - name : Setup MSVC
60+ uses : ilammy/msvc-dev-cmd@v1
61+ - name : Setup Python
62+ uses : actions/setup-python@v5
63+ with :
64+ python-version : ' 3.12'
65+ - name : Install Python dependencies
66+ run : pip install -r libultraship/requirements.txt
67+ - name : Cache vcpkg
68+ uses : actions/cache@v4
69+ with :
70+ key : ${{ runner.os }}-vcpkg-x64-static-${{ hashFiles('CMakeLists.txt', 'cmake/automate-vcpkg.cmake') }}
71+ restore-keys : |
72+ ${{ runner.os }}-vcpkg-x64-static-
73+ path : |
74+ build/x64/vcpkg
75+ build/x64/vcpkg_installed
76+ build/x64/vcpkg/downloads
5877 - name : Build
5978 run : |
60- cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
79+ $env:VCPKG_ROOT=""
80+ cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
6181 cmake --build ./build/x64 --config Release --parallel 10
6282 - name : Download ghostship.o2r
6383 uses : actions/download-artifact@v4
@@ -66,20 +86,30 @@ jobs:
6686 path : ./build/x64/Release
6787 - name : Create Package
6888 run : |
69- mkdir ghostship-release
70- mkdir ghostship-release/debug
71- mv build/x64/Release/Ghostship.exe ghostship-release/
72- mv build/x64/Release/ghostship.o2r ghostship-release/
73- mv build/x64/Release/*.pdb ghostship-release/debug/
74- mv README.md ghostship-release/readme.txt
75- mv config.yml ghostship-release /
76- mv assets ghostship-release/
77- Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "ghostship-release/ gamecontrollerdb.txt"
89+ mkdir debug
90+ if (-Not (Test-Path "build/x64/Release/.tcc")) { Write-Error "ERROR: .tcc not found in build/x64/Release/"; exit 1 }
91+ mv build/x64/Release/.tcc .tcc
92+ mv build/x64/Release/Ghostship.exe .
93+ mv build/x64/Release/tcc.dll .
94+ mv build/x64/Release/ghostship.o2r .
95+ mv build/x64/Release/*.pdb debug /
96+ mv README.md readme.txt
97+ Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "gamecontrollerdb.txt"
7898 - name : Upload build
7999 uses : actions/upload-artifact@v4
80100 with :
81101 name : Ghostship-windows
82- path : ghostship-release
102+ include-hidden-files : true
103+ path : |
104+ .tcc
105+ Ghostship.exe
106+ tcc.dll
107+ ghostship.o2r
108+ debug
109+ readme.txt
110+ config.yml
111+ assets
112+ gamecontrollerdb.txt
83113
84114 build-macos :
85115 needs : generate-port-o2r
@@ -122,6 +152,8 @@ jobs:
122152 sudo installer -pkg ./MacPorts-2.11.5-14-Sonoma.pkg -target /
123153 fi
124154 echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
155+ - name : Install Python dependencies
156+ run : python3 -m pip install -r libultraship/requirements.txt --break-system-packages || python3 -m pip install -r libultraship/requirements.txt
125157 - name : Install dependencies
126158 run : |
127159 brew uninstall --ignore-dependencies libpng
@@ -130,7 +162,7 @@ jobs:
130162 - name : Build (Universal)
131163 run : |
132164 export PATH="/usr/lib/ccache:/opt/homebrew/opt/ccache/libexec:/usr/local/opt/ccache/libexec:$PATH"
133- cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
165+ cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DPython3_EXECUTABLE=$(which python3)
134166 cmake --build build-cmake --config Release --parallel 10
135167 - name : Download ghostship.o2r
136168 uses : actions/download-artifact@v4
@@ -141,12 +173,16 @@ jobs:
141173 run : |
142174 (cd build-cmake && cpack)
143175 mv _packages/*.dmg Ghostship.dmg
176+ ls -la build-cmake/.tcc || (echo "ERROR: .tcc not found in build-cmake/" && exit 1)
177+ cp -r build-cmake/.tcc .tcc
144178 mv README.md readme.txt
145179 - name : Publish packaged artifacts
146180 uses : actions/upload-artifact@v4
147181 with :
148182 name : Ghostship-mac
183+ include-hidden-files : true
149184 path : |
185+ .tcc
150186 Ghostship.dmg
151187 readme.txt
152188 - name : Save Cache MacPorts
@@ -222,33 +258,46 @@ jobs:
222258 make
223259 sudo make install
224260 sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
261+ - name : Setup Python
262+ uses : actions/setup-python@v5
263+ with :
264+ python-version : ' 3.12'
265+ - name : Install Python dependencies
266+ run : pip install -r libultraship/requirements.txt
225267 - name : Download ghostship.o2r
226268 uses : actions/download-artifact@v4
227269 with :
228270 name : ghostship.o2r
229271 path : ./build-cmake
230272 - name : Build
231273 run : |
232- cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
274+ cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE=$(which python3)
233275 cmake --build build-cmake --config Release -j3
234276 (cd build-cmake && cpack -G External)
235- wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/ master/gamecontrollerdb.txt
277+ wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt
236278 mv README.md readme.txt
237279 mv build-cmake/*.appimage ghostship.appimage
280+ ls -la build-cmake/.tcc || (echo "ERROR: .tcc not found in build-cmake/" && exit 1)
281+ cp -r build-cmake/.tcc .tcc
238282 - name : Upload build
239283 uses : actions/upload-artifact@v4
240284 with :
241285 name : Ghostship-linux
286+ include-hidden-files : true
242287 path : |
288+ .tcc
243289 ghostship.appimage
290+ config.yml
291+ readme.txt
292+ assets
244293 gamecontrollerdb.txt
245294
246295 build-switch :
247296 if : false
248297 needs : generate-port-o2r
249298 runs-on : ubuntu-latest
250299 container :
251- image : devkitpro/devkita64:20241023
300+ image : devkitpro/devkita64:20260219
252301 steps :
253302 - uses : actions/checkout@v4
254303 with :
@@ -258,9 +307,9 @@ jobs:
258307 sudo apt-get update
259308 sudo apt-get install -y ninja-build
260309 sudo apt-get remove -y cmake
261- git -C libultraship remote add nx https://github.com/YoshiCrystal9 /libultraship.git
310+ git -C libultraship remote add nx https://github.com/Net64DD /libultraship.git
262311 git -C libultraship fetch nx
263- git -C libultraship checkout nx/main-nx
312+ git -C libultraship checkout nx/main-nx-nightly
264313 wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh
265314 sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
266315 cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake
0 commit comments