From 770c25dbcbf321d4110f483373dd7ffe6c08f358 Mon Sep 17 00:00:00 2001 From: 2fort sink <87287937+OEMunlag@users.noreply.github.com> Date: Sun, 1 Feb 2026 17:44:20 -0300 Subject: [PATCH] build hoc-clk and shallow clone ams Updated the build process to use shallow clones and added a new build step for the hoc-clk sysmodule and overlay. --- .github/workflows/build.yml | 66 ++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index abd9664d..f2378c83 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: # Clone Atmosphère # ------------------------------------------------- - name: Clone Atmosphere - run: git clone https://github.com/Atmosphere-NX/Atmosphere.git atmosphere -b $(cat ams_ver.txt) + run: git clone --depth=1 --single-branch https://github.com/Atmosphere-NX/Atmosphere.git atmosphere -b $(cat ams_ver.txt) # ------------------------------------------------- # Clone Horizon OC (develop branch) kinda suspicious for now, shouldn't it just already be cloned on the actions runner? @@ -101,16 +101,74 @@ jobs: ccache --set-config=max_size=10G ccache --set-config=compiler_check=content ccache --zero-stats + + - name: Build hoc-clk sysmodule and overlay + shell: bash + run: | + export CC="ccache aarch64-none-elf-gcc" + export CXX="ccache aarch64-none-elf-g++" - - name: Build (try) + ROOT_DIR="$GITHUB_WORKSPACE" + DIST_DIR="$ROOT_DIR/dist" + + mkdir -p "$DIST_DIR" + + echo "*** sysmodule ***" + + TITLE_ID="$(grep -oP '"title_id":\s*"0x\K(\w+)' \ + "$ROOT_DIR/sysmodule/perms.json")" + + echo "TITLE_ID: $TITLE_ID" + + pushd "$ROOT_DIR/sysmodule" + make -j$(($(nproc) * 2)) CXX="ccache aarch64-none-elf-g++" CC="ccache aarch64-none-elf-gcc" + popd + + mkdir -p "$DIST_DIR/atmosphere/contents/$TITLE_ID/flags" + + cp -vf \ + "$ROOT_DIR/sysmodule/out/horizon-oc.nsp" \ + "$DIST_DIR/atmosphere/contents/$TITLE_ID/exefs.nsp" + + : >"$DIST_DIR/atmosphere/contents/$TITLE_ID/flags/boot2.flag" + + cp -vf \ + "$ROOT_DIR/sysmodule/toolbox.json" \ + "$DIST_DIR/atmosphere/contents/$TITLE_ID/toolbox.json" + + echo "*** overlay ***" + + pushd "$ROOT_DIR/overlay" + make -j$(($(nproc) * 2)) CXX="ccache aarch64-none-elf-g++" CC="ccache aarch64-none-elf-gcc" + popd + + mkdir -p "$DIST_DIR/switch/.overlays" + + cp -vf \ + "$ROOT_DIR/overlay/out/horizon-oc-overlay.ovl" \ + "$DIST_DIR/switch/.overlays/horizon-oc-overlay.ovl" + + echo "*** assets ***" + + mkdir -p "$DIST_DIR/config/horizon-oc" + + cp -vf \ + "$ROOT_DIR/config.ini.template" \ + "$DIST_DIR/config/horizon-oc/config.ini.template" + + cp -vf \ + "$ROOT_DIR/README.md" \ + "$DIST_DIR/README.md" + + - name: Build kip working-directory: build/stratosphere/loader - run: | # I forgot what dkp uses + run: | export CC="ccache aarch64-none-elf-gcc" export CXX="ccache aarch64-none-elf-g++" make -j$(($(nproc) * 4)) CXX="ccache aarch64-none-elf-g++" CC="ccache aarch64-none-elf-gcc" hactool -t kip1 out/nintendo_nx_arm64_armv8a/release/loader.kip --uncompress=hoc.kip cp hoc.kip ../../../dist/atmosphere/kips/hoc.kip - + - name: ccache stats run: ccache --show-stats