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: 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@main - 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@main 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@main 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: buildjre8 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-21 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: buildjre17-21 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@main 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@main 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@main 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@main 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@main if: matrix.platform_name == 'ios' with: name: PojavLauncher.dSYM path: artifacts/PojavLauncher.dSYM