Skip to content

Build: provide .tipa build for tvOS #1165

Build: provide .tipa build for tvOS

Build: provide .tipa build for tvOS #1165

Workflow file for this run

name: Development build
on:
pull_request:
branches-ignore:
- 'l10n_main'
types: [opened, reopened]
push:
branches-ignore:
- 'l10n_main'
workflow_dispatch:
jobs:
build:
name: Development build
strategy:
matrix:
include:
- platform: 2
platform_name: ios
- platform: 3
platform_name: tvos
- platform: 7
platform_name: iossimulator
- platform: 8
platform_name: tvossimulator
runs-on: MacStadium
steps:
- name: Remove work folders
env:
password: ${{ secrets.ELLIE_MINI_SECRET }}
run: |
echo "before"
ls -lah ./
echo $password | sudo -S rm -rf ./* || true
echo $password | sudo -S rm -rf ./.??* || true
echo "after"
ls -lah ./
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout repository submodules
run: git submodule update --init --recursive
- name: Get gl4es latest commit hash
id: gl4es-sha
run: echo "::set-output name=sha::$(echo $(git ls-remote https://github.com/PojavLauncherTeam/gl4es-114-extra refs/heads/master | grep -io '^\S*'))"
shell: bash
- name: Cache gl4es
uses: actions/cache@v3
if: false # use gl4es 1.1.5
id: gl4es-cache
with:
path: gl4es/libs
key: gl4es-holy-ios-shared-2-${{ steps.gl4es-sha.outputs.sha }}
- name: Get gl4es
if: false && steps.gl4es-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: 'PojavLauncherTeam/gl4es-114-extra'
path: 'gl4es'
- name: Build gl4es
if: false && steps.gl4es-cache.outputs.cache-hit != 'true'
continue-on-error: true
run: |
cd gl4es
git config --global user.email "github-actions@users.noreply.github.com"
git config --global user.name "github-actions"
export PATH=/opt/procursus/bin:$PATH
wget https://github.com/leetal/ios-cmake/raw/master/ios.toolchain.cmake
cmake -B build -DCMAKE_TOOLCHAIN_FILE=ios.toolchain.cmake -DDEFAULT_ES=2 \
-DNOX11=ON -DNOEGL=OFF -DSTATICLIB=OFF -DPLATFORM=OS64 \
-DCMAKE_C_FLAGS=-Wno-error=implicit-function-declaration
cmake --build build --config RelWithDebInfo --target GL
cp -R lib/libGL.dylib ../Natives/resources/Frameworks/libgl4es_114.dylib
- name: Push gl4es
if: false && github.event != 'pull_request' && github.ref_name == 'main' && steps.gl4es-cache.outputs.cache-hit != 'true'
continue-on-error: true
run: |
git add Natives/resources/Frameworks/libgl4es_114.dylib
git commit -am "CI: Update gl4es"
git push
- name: Get JRE8
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: depends
workflow_conclusion: success
allow_forks: false
repo: PojavLauncherTeam/android-openjdk-build-multiarch
branch: jre8-ios-jitjailed
name: jre8-ios-aarch64
- name: Get JRE17
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: depends
workflow_conclusion: completed
allow_forks: false
repo: PojavLauncherTeam/android-openjdk-build-multiarch
branch: buildjre17
name: jre17-ios-aarch64
- name: Get JRE21
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: depends
workflow_conclusion: completed
allow_forks: false
repo: PojavLauncherTeam/android-openjdk-build-multiarch
branch: buildjre21
name: jre21-ios-aarch64
- name: Build for ${{ matrix.platform_name }}
env:
password: ${{ secrets.ELLIE_MINI_SECRET }}
run: |
export PATH=/opt/procursus/bin:/opt/homebrew/bin:$PATH
export RUNNER=1 SLIMMED=1
if [ "${{ matrix.platform_name }}" == "ios" ]; then
# Build ipa and tipa for iOS
gmake -j$(sysctl -n hw.ncpu) dsym package PLATFORM=${{ matrix.platform }}
gmake -j$(sysctl -n hw.ncpu) dsym package PLATFORM=${{ matrix.platform }} TROLLSTORE_JIT_ENT=1
elif [ "${{ matrix.platform_name }}" == "tvos" ]; then
# Build tipa only for tvOS
gmake -j$(sysctl -n hw.ncpu) dsym package PLATFORM=${{ matrix.platform }} TROLLSTORE_JIT_ENT=1
else
# Build ipa only for everything else
gmake -j$(sysctl -n hw.ncpu) dsym package PLATFORM=${{ matrix.platform }}
fi
- name: Upload regular ipa
uses: actions/upload-artifact@v3
with:
name: net.kdt.pojavlauncher-${{ matrix.platform_name }}.ipa
path: artifacts/net.kdt.pojavlauncher-*-${{ matrix.platform_name }}.ipa
- name: Upload regular tipa
uses: actions/upload-artifact@v3
with:
name: net.kdt.pojavlauncher-${{ matrix.platform_name }}-trollstore.tipa
path: artifacts/net.kdt.pojavlauncher-*-${{ matrix.platform_name }}-trollstore.tipa
- name: Upload slimmed ipa
uses: actions/upload-artifact@v3
with:
name: net.kdt.pojavlauncher.slimmed-${{ matrix.platform_name }}.ipa
path: artifacts/net.kdt.pojavlauncher.slimmed-*-${{ matrix.platform_name }}.ipa
- name: Upload slimmed tipa
uses: actions/upload-artifact@v3
with:
name: net.kdt.pojavlauncher.slimmed-${{ matrix.platform_name }}-trollstore.tipa
path: artifacts/net.kdt.pojavlauncher.slimmed-*-${{ matrix.platform_name }}-trollstore.tipa
- name: Upload PojavLauncher.dSYM
uses: actions/upload-artifact@v3
with:
name: PojavLauncher.dSYM
path: artifacts/PojavLauncher.dSYM