Skip to content

Merge pull request #51 from leminlimez/big-merge #3

Merge pull request #51 from leminlimez/big-merge

Merge pull request #51 from leminlimez/big-merge #3

Workflow file for this run

name: Build Helium
on:
push:
tags:
- "v*.*.*"
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
THEOS: ''
XCODE_VERSION: '15.1'
jobs:
build:
runs-on: macos-13
steps:
- name: Setup Xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Install Homebrew dependencies
run: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install dpkg ldid make libplist openssl@3
echo "/usr/local/opt/make/libexec/gnubin" >> $GITHUB_PATH
- name: Checkout XXTouchNG/theos
uses: actions/checkout@v4
with:
repository: XXTouchNG/theos
ref: 78ee784d8d3238982c9abdc58cd39919263648b1
path: theos
submodules: recursive
- name: Add THEOS environment variables
run: |
rm -rf $GITHUB_WORKSPACE/theos/sdks
echo "THEOS=$GITHUB_WORKSPACE/theos" >> $GITHUB_ENV
- name: Restore additional SDKs
id: cached-sdks-restore
uses: actions/cache/restore@v4
with:
path: ${{ env.THEOS }}/sdks
key: ${{ runner.os }}-sdks-${{ env.XCODE_VERSION }}
- if: ${{ steps.cached-sdks-restore.outputs.cache-hit != 'true' }}
name: Checkout theos/sdks
uses: actions/checkout@v4
with:
repository: theos/sdks
ref: master
path: ${{ env.THEOS }}/sdks
- if: ${{ steps.cached-sdks-restore.outputs.cache-hit != 'true' }}
name: Save SDKs
id: cached-sdks-save
uses: actions/cache/save@v4
with:
path: ${{ env.THEOS }}/sdks
key: ${{ steps.cached-sdks-restore.outputs.cache-primary-key }}
- name: Checkout
uses: actions/checkout@v4
with:
repository: AsakuraFuuko/Helium
ref: main
path: Helium
submodules: recursive
- name: Setup build environment
run: |
echo "Available SDKs: $(find $THEOS/sdks -name "*.sdk" -maxdepth 1 -print)"
sT=$(TZ=UTC-8 date +'%S')
echo "msT=$(date -j -f "%Y-%m-%d %H:%M:%S" "$(TZ=UTC-8 date +'%Y-%m-%d %H:%M'):${sT}" +%s)" >> $GITHUB_ENV
echo "logT=$(TZ=UTC-8 date +'%Y-%m-%d %H:%M'):${sT}" >> $GITHUB_ENV
echo $msT
echo $logT
- name: Make IPA
run: |
cd $GITHUB_WORKSPACE/Helium
./ipabuild.sh
- name: Collect symbols
run: |
cd $GITHUB_WORKSPACE/Helium
find .theos/obj -name "*.dSYM" -print | zip -r build/Helium_symbols.zip -@
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: Helium.tipa
path: ${{ github.workspace }}/Helium/build/Helium.tipa
- name: Upload symbols
uses: actions/upload-artifact@v4
with:
name: Helium_symbols
path: ${{ github.workspace }}/Helium/build/Helium_symbols.zip
- name: Upload release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
token: ${{ secrets.GITHUB_TOKEN }}
body: build time ${{ env.logT }}
generate_release_notes: true
files: |
${{ github.workspace }}/Helium/build/Helium.tipa