name: Build nxdumptool 'rewrite' PoC binaries on: push: branches: [ rewrite ] # Allows you to run this workflow manually from the Actions tab. workflow_dispatch: env: DEVKITPRO: "/opt/devkitpro" DEVKITARM: "/opt/devkitpro/devkitARM" DEVKITPPC: "/opt/devkitpro/devkitPPC" jobs: build: runs-on: ubuntu-latest container: image: devkitpro/devkita64 steps: - name: Update packages run: | sudo -n apt-get update sudo -n apt-get upgrade -y patch autoconf automake tar bzip2 diffutils pkgconf fakeroot p7zip-full git sudo -n dkp-pacman -Syu --needed --noconfirm - name: Checkout latest nxdumptool-rewrite commit uses: actions/checkout@v3 with: submodules: recursive # Workaround: manually use git instead of actions/checkout to overcome a 'missing token' error with act. #- name: Checkout latest libnx commit # run: | # cd "$GITHUB_WORKSPACE/libs" # git clone --recurse-submodules https://github.com/switchbrew/libnx.git - name: Checkout latest libnx commit uses: actions/checkout@v3 with: repository: switchbrew/libnx submodules: recursive path: libs/libnx - name: Set workspace permissions run: chmod 777 -R "$GITHUB_WORKSPACE" - name: Build and install libnx run: | cd "$GITHUB_WORKSPACE/libs/libnx" sudo --preserve-env=DEVKITPRO,DEVKITARM,DEVKITPPC -n make install -j$(nproc) # Workaround for Docker image bug (see https://github.com/actions/checkout/issues/1169). - name: "Workaround: add git safe directory (libusbhsfs)" run: git config --system --add safe.directory "$GITHUB_WORKSPACE/libs/libusbhsfs" - name: Build libusbhsfs dependencies run: | cd "$GITHUB_WORKSPACE/libs/libusbhsfs" sudo --preserve-env=DEVKITPRO,DEVKITARM,DEVKITPPC -n make fs-libs -j$(nproc) - name: Build nxdumptool run: | cd "$GITHUB_WORKSPACE" export COMMIT=$(git rev-parse --short HEAD) ./build.sh - uses: actions/upload-artifact@v3 with: name: nxdumptool rewrite (NRO) - ${{ env.COMMIT }}.7z path: nxdumptool-rewrite_poc_${{ env.COMMIT }}.7z if-no-files-found: error - uses: actions/upload-artifact@v3 with: name: nxdumptool rewrite (Debug ELF) - ${{ env.COMMIT }}.7z path: nxdumptool-rewrite_poc_${{ env.COMMIT }}-Debug_ELFs.7z if-no-files-found: error