mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 09:47:01 +02:00
222 lines
5.0 KiB
YAML
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
|