name: Build Horizon OC Zeus on: push: branches: [ develop, main, master ] pull_request: workflow_dispatch: jobs: build: runs-on: ubuntu-latest container: image: devkitpro/devkita64:latest steps: # ------------------------------------------------- # Verify toolchain (no pacman!) # ------------------------------------------------- - name: Verify environment run: | echo "DEVKITPRO = $DEVKITPRO" aarch64-none-elf-gcc --version make --version python3 --version hactool --help >/dev/null zip --version >/dev/null # ------------------------------------------------- # Clone Atmosphere # ------------------------------------------------- - name: Clone Atmosphere run: | git clone https://github.com/Atmosphere-NX/Atmosphere.git atmosphere # ------------------------------------------------- # Clone Horizon OC (develop) # ------------------------------------------------- - name: Clone Horizon OC run: | git clone -b develop --single-branch \ https://github.com/Horizon-OC/Horizon-OC.git horizon-oc # ------------------------------------------------- # Prepare build directory # ------------------------------------------------- - name: Prepare build folder working-directory: horizon-oc run: | mkdir -p build cp -r ../atmosphere/. build/ # ------------------------------------------------- # Override Atmosphere loader source # ------------------------------------------------- - name: Override ldr_process_creation.cpp working-directory: horizon-oc run: | cp -f \ Source/Atmosphere/stratosphere/loader/source/ldr_process_creation.cpp \ build/stratosphere/loader/source/ldr_process_creation.cpp # ------------------------------------------------- # Build Horizon OC Zeus # ------------------------------------------------- - name: Build Horizon OC Zeus working-directory: horizon-oc run: | chmod +x build.sh ./build.sh # ------------------------------------------------- # Zip dist folder # ------------------------------------------------- - name: Package dist working-directory: horizon-oc run: | zip -r horizon-oc-zeus-dist.zip dist # ------------------------------------------------- # Upload artifact # ------------------------------------------------- - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: horizon-oc-zeus-dist path: horizon-oc/horizon-oc-zeus-dist.zip