usbloadergx/.github/workflows/main.yml

109 lines
3.8 KiB
YAML
Raw Normal View History

2021-01-01 21:30:01 +01:00
name: Build binaries
2021-02-04 17:53:49 +01:00
on:
push:
2023-01-01 18:00:03 +01:00
branches:
- "**"
2021-02-04 17:53:49 +01:00
paths-ignore:
2023-01-01 18:00:03 +01:00
- '**.md'
- '.devcontainer/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/FUNDING.yml'
- '.github/**/*.md'
- '.vscode/**'
2021-02-04 17:53:49 +01:00
- 'HBC/**'
- 'Languages/**'
pull_request:
paths-ignore:
2023-01-01 18:00:03 +01:00
- '**.md'
- '.devcontainer/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/FUNDING.yml'
- '.github/**/*.md'
- '.vscode/**'
2021-02-04 17:53:49 +01:00
- 'HBC/**'
- 'Languages/**'
2021-01-01 21:30:01 +01:00
jobs:
download-build-tools:
2023-01-01 18:00:03 +01:00
runs-on: ubuntu-latest
2021-01-01 21:30:01 +01:00
timeout-minutes: 20
steps:
- name: Restore cache
2021-01-01 21:30:01 +01:00
id: cache-1
2023-01-01 18:00:03 +01:00
uses: actions/cache@v3
2021-01-01 21:30:01 +01:00
with:
path: cache
key: ${{ runner.os }}-cache-1
2021-08-01 19:00:18 +02:00
- name: Download devkitPPC r39, libogc 2.3.1 and required tools
2021-01-01 21:30:01 +01:00
if: steps.cache-1.outputs.cache-hit != 'true'
# general-tools is needed for bin2s and gamecube-tools is needed for elf2dol & gcdsptool
2021-01-01 21:30:01 +01:00
run: |
mkdir cache && cd cache
2021-08-01 19:00:18 +02:00
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz"
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz"
wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz"
wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz"
wget "https://wii.leseratte10.de/devkitPro/file.php/gamecube-tools-1.0.3-1-linux_x86_64.pkg.tar.xz"
2021-01-01 21:30:01 +01:00
cd ..
- name: Verify checksums
2021-01-01 21:30:01 +01:00
run: |
sha256sum -c <<EOF
2021-08-01 19:00:18 +02:00
76465565a4c5f9bce2849f12876b470f5044b02ce242fd22f57b6b7a2b113ead cache/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz
0118f06fff938c3d4913fdc004d5edd2f72e3a16c544fb5699b0e97552529d29 cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz
b10553cced35ab8d3d0c48ee44cdb345f46be5e8f82496dd308f699db4f8d490 cache/libogc-2.3.1-1-any.pkg.tar.xz
3348e521e48f27912d0bca05eac73b4365c8c7006b637c95850f4feabe5dd2e9 cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz
e7ea6a13ca5a5e9d6a5b8e1616afcc92a81255aa6fee436ed81c812b62e112af cache/gamecube-tools-1.0.3-1-linux_x86_64.pkg.tar.xz
2021-01-01 21:30:01 +01:00
EOF
build:
2023-01-01 18:00:03 +01:00
runs-on: ubuntu-latest
needs: download-build-tools
steps:
2023-01-01 18:00:03 +01:00
- uses: actions/checkout@v3
- name: Restore cache
id: cache-1
2023-01-01 18:00:03 +01:00
uses: actions/cache@v3
with:
path: cache
key: ${{ runner.os }}-cache-1
2021-01-01 21:30:01 +01:00
- name: Check cache
if: steps.cache-1.outputs.cache-hit != 'true'
run: exit 1
2021-01-01 21:30:01 +01:00
- name: Extract downloaded files
run: |
2021-08-01 19:00:18 +02:00
tar -xf cache/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz --strip-components=1
tar -xf cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz --strip-components=1
tar -xf cache/libogc-2.3.1-1-any.pkg.tar.xz --strip-components=1
tar -xf cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz --strip-components=1
tar -xf cache/gamecube-tools-1.0.3-1-linux_x86_64.pkg.tar.xz --strip-components=1
- name: Compile USB Loader GX
run: |
PATH=$(pwd)/devkitpro/devkitPPC/bin:$PATH DEVKITPPC=$(pwd)/devkitpro/devkitPPC DEVKITPRO=$(pwd)/devkitpro make
2021-01-01 21:30:01 +01:00
- name: Package
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
2023-01-01 18:00:03 +01:00
echo "sha=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
2021-01-01 21:30:01 +01:00
- name: Upload binary
2023-01-01 18:00:03 +01:00
uses: actions/upload-artifact@v3
2021-01-01 21:30:01 +01:00
with:
2023-01-01 18:00:03 +01:00
name: usbloadergx_${{ env.sha }}
2021-01-01 21:30:01 +01:00
path: upload
- name: Upload debug binary
2023-01-01 18:00:03 +01:00
uses: actions/upload-artifact@v3
2021-01-01 21:30:01 +01:00
with:
2023-01-01 18:00:03 +01:00
name: usbloadergx_${{ env.sha }}_debug
path: boot.elf