diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..ee07f74f --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,76 @@ +name: Build binaries + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-20.04 + timeout-minutes: 20 + steps: + - uses: actions/checkout@v2 + + - name: Cache + id: cache-1 + uses: actions/cache@v2 + with: + path: cache + key: ${{ runner.os }}-cache-1 + + - name: Download devkitPPC r38, libogc 2.1.0, bin2s and elf2dol + if: steps.cache-1.outputs.cache-hit != 'true' + # general-tools is needed for bin2s and gamecube-tools is needed for elf2dol + run: | + mkdir cache && cd cache + wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r38-1-linux_x86_64.pkg.tar.xz" + wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.0-1-any.pkg.tar.xz" + wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.1.0-1-any.pkg.tar.xz" + wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-1-linux.pkg.tar.xz" + wget "https://wii.leseratte10.de/devkitPro/file.php/gamecube-tools-1.0.2-1-linux.pkg.tar.xz" + cd .. + + - name: Verify checksums for the downloaded files + run: | + sha256sum -c < /dev/null; PATH=$(pwd)/devkitpro/devkitPPC/bin:$PATH DEVKITPPC=$(pwd)/devkitpro/devkitPPC DEVKITPRO=$(pwd)/devkitpro make + + - name: Package + id: pack + run: | + mkdir -p upload/apps/usbloader_gx/ + cp boot.dol upload/apps/usbloader_gx/ + cp HBC/icon.png upload/apps/usbloader_gx/ + cp HBC/meta.xml upload/apps/usbloader_gx/ + echo "::set-output name=sha::$(echo ${GITHUB_SHA} | head -c 7)" + + - name: Upload binary + uses: actions/upload-artifact@v2 + with: + name: usbloadergx_${{ steps.pack.outputs.sha }} + path: upload + + - name: Upload debug binary + uses: actions/upload-artifact@v2 + with: + name: usbloadergx_${{ steps.pack.outputs.sha }}_debug + path: boot.elf