Skip to content

Build iOS ipa

Build iOS ipa #9

Workflow file for this run

name: Build iOS ipa
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
build_type:
description: 'Build type (release/development)'
required: true
default: 'release'
type: choice
options:
- release
- development
jobs:
build-ios:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: |
npm install
- name: Run Expo Prebuild
run: |
npx expo prebuild --platform ios --no-install
- name: Install CocoaPods
run: |
cd ios
pod install
- name: Build Unsigned Archive
run: |
xcodebuild -workspace ios/nekokey.xcworkspace \
-scheme nekokey \
-configuration ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'development' && 'Debug' || 'Release' }} \
-archivePath ${{ github.workspace }}/build/nekokey.xcarchive \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGN_IDENTITY="" \
clean archive
- name: Package ipa
run: |
mkdir Payload
cp -r ${{ github.workspace }}/build/nekokey.xcarchive/Products/Applications/nekokey.app Payload
zip -r nekokey-iOS_${{ github.ref_name }}${{ github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'development' && '-dev' || '' }}.ipa Payload
- name: Upload App Artifact
uses: actions/upload-artifact@v4
with:
name: ios-${{ github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'development' && 'development' || 'release' }}-${{ github.ref_name }}
path: nekokey-iOS_${{ github.ref_name }}${{ github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'development' && '-dev' || '' }}.ipa