You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
77 lines
2.1 KiB
name: iOS |
|
|
|
on: |
|
push: |
|
branches: |
|
- master |
|
paths-ignore: |
|
- '*.md' |
|
- 'docs/**' |
|
pull_request: |
|
types: [opened, synchronize] |
|
paths-ignore: |
|
- '*.md' |
|
- 'docs/**' |
|
release: |
|
types: [published] |
|
paths-ignore: |
|
- '*.md' |
|
- 'docs/**' |
|
|
|
concurrency: |
|
group: ${{ github.workflow }}-${{ github.ref }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
build: |
|
# The CMake configure and build commands are platform agnostic and should work equally |
|
# well on Windows or Mac. You can convert this to a matrix build if you need |
|
# cross-platform coverage. |
|
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix |
|
runs-on: macos-latest |
|
|
|
steps: |
|
- uses: actions/checkout@v4 |
|
with: |
|
fetch-depth: 0 |
|
|
|
- name: Cache CMake build folder |
|
uses: actions/cache@v3 |
|
with: |
|
path: build |
|
key: ${{ github.workflow }}-v2-${{ github.sha }} |
|
restore-keys: ${{ github.workflow }}-v2- |
|
|
|
- name: Configure CMake |
|
# Use a bash shell so we can use the same syntax for environment variable |
|
# access regardless of the host operating system |
|
shell: bash |
|
working-directory: ${{github.workspace}} |
|
run: cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/ios.toolchain.cmake -DENABLE_BITCODE=0 -DPLATFORM=OS64 |
|
|
|
- name: Build |
|
working-directory: ${{github.workspace}} |
|
shell: bash |
|
run: > |
|
cmake --build build -j $(sysctl -n hw.physicalcpu) --config Release && |
|
cd build && |
|
mkdir Payload && |
|
mv devilutionx.app Payload && |
|
zip -r devilutionx-iOS.ipa Payload |
|
|
|
- name: Upload-Package |
|
if: ${{ !env.ACT }} |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: devilutionx-iOS.ipa |
|
path: build/devilutionx-iOS.ipa |
|
|
|
- name: Update Release |
|
if: ${{ github.event_name == 'release' && !env.ACT }} |
|
uses: svenstaro/upload-release-action@v2 |
|
with: |
|
file: build/devilutionx-iOS.ipa |
|
overwrite: true |
|
|
|
- name: Clean up artifacts |
|
run: rm -rf build/Payload build/*.ipa
|
|
|