Files
palera1n/.github/workflows/build.yml
T

222 lines
5.0 KiB
YAML

name: "Build"
on:
workflow_dispatch:
push:
branches:
- koputer
- main
jobs:
build-ramdisk:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
with:
repository: palera1n/jbinit
submodules: true
- name: Select correct Xcode
uses: mobiledevops/xcode-select-version-action@v1
with:
xcode-select-version: 16.4
- name: Install dependencies (brew)
run: |
brew install make gnu-sed ldid-procursus fakeroot
- name: Obtain artifacts
run: |
curl -LOO https://static.palera.in/artifacts/loader/universal_lite/palera1nLoader{TV,}.ipa
curl -LO https://static.palera.in/binpack.tar
install -m644 binpack.tar palera1nLoader{TV,}.ipa src
- name: Build
run: |
gmake -j1 tools
gmake -j$(sysctl -n hw.ncpu)
- name: Prepare upload directory
run: |
mkdir upload
mv src/ramdisk.dmg upload/
mv src/binpack.dmg upload/
- name: Upload
uses: actions/upload-artifact@v4
with:
name: embedded
path: |
upload/*
build-pongo:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
repository: palera1n/PongoOS
- name: Build
run: |
make
- name: Prepare upload directory
run: |
mkdir upload
mv build/Pongo.bin upload/
mv build/checkra1n-kpf-pongo upload/
- name: Upload
uses: actions/upload-artifact@v4
with:
name: pongo
path: |
upload/*
build-linux:
runs-on: ubuntu-latest
needs: [build-pongo, build-ramdisk]
steps:
- uses: actions/checkout@v4
- name: Download Pongo
uses: actions/download-artifact@v4
with:
name: pongo
path: payloads/
- name : Download embedded artifacts
uses: actions/download-artifact@v4
with:
name: embedded
path: payloads/
- name: Install dependencies (apt)
run: |
sudo apt update
sudo apt install -y build-essential cmake autoconf automake libtool pkg-config
- name: Build
run: |
make palera1n WITH_STATIC=1 BUILD_TYPE=Release
- name: Upload
uses: actions/upload-artifact@v4
with:
name: palera1n-linux
path: |
build/palera1n
build-macos:
runs-on: ${{ matrix.os }}
needs: [build-pongo, build-ramdisk]
strategy:
matrix:
include:
- os: macos-latest
arch: arm64
- os: macos-15-intel
arch: x86_64
steps:
- uses: actions/checkout@v4
- name: Download Pongo
uses: actions/download-artifact@v4
with:
name: pongo
path: payloads/
- name : Download embedded artifacts
uses: actions/download-artifact@v4
with:
name: embedded
path: payloads/
- name: Install dependencies (brew)
run: |
brew update
brew install cmake autoconf automake libtool pkg-config
- name: Build
run: |
make palera1n WITH_STATIC=1 WITH_GUI=1 BUILD_TYPE=Release
cd build && zip -r palera1n-macos-${{ matrix.arch }}.zip palera1n.app
- name: Upload
uses: actions/upload-artifact@v4
with:
name: palera1n-macos-${{ matrix.arch }}
path: |
build/palera1n-macos-${{ matrix.arch }}.zip
build-windows:
runs-on: windows-latest
needs: [build-pongo, build-ramdisk]
env:
LIBUSBK_VERSION: libusbK-3.0.5.16-bin.7z
LIBUSBK_URL: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/usb-travis/${{ env.LIBUSBK_VERSION }}
LIBUSBK_WDFCOINSTALLER: libusbK/bin/sys/WdfCoInstaller01009.dll
LIBUSBK_WDFCOINSTALLER_RENAMED: libusbK/bin/sys/WdfCoInstaller1011.dll
steps:
- uses: actions/checkout@v4
- name: Download Pongo
uses: actions/download-artifact@v4
with:
name: pongo
path: payloads/
- name: Download embedded artifacts
uses: actions/download-artifact@v4
with:
name: embedded
path: payloads/
- name: Download libusbK drivers
run: |
curl -LO $LIBUSBK_URL
7z x $LIBUSBK_VERSION -olibusbK
# libwdi doesn't like "9"s in the filename lol
mv $LIBUSBK_WDFCOINSTALLER $LIBUSBK_WDFCOINSTALLER_RENAMED
- name: Set up MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
install: >
git
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
libtool
openssl
openssl-devel
python-devel
autoconf
automake
zip
vim
make
patch
update: true
- name: Build
shell: msys2 {0}
run: |
make palera1n_mingw WITH_STATIC=1 WITH_GUI=1 BUILD_TYPE=Release
- name: Upload
uses: actions/upload-artifact@v4
with:
name: palera1n-windows-x86_64
path: |
build/*.exe
build/*.dll