name: iOS on: push: branches: - master paths-ignore: - '*.md' pull_request: types: [opened, synchronize] paths-ignore: - '*.md' release: types: [published] paths-ignore: - '*.md' 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@v3 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