Skip to content

Build iOS project

Build iOS project #10

Workflow file for this run

name: Build iOS project
on:
workflow_dispatch:
jobs:
build_ionic:
name: Build Ionic project
runs-on: ubuntu-latest
steps:
- name: "Check out code"
uses: actions/checkout@v3
- name: "Setup dependencies: Node"
uses: actions/setup-node@v4
- name: "Install Node dependencies"
run: |
npm install -g yarn
npm install -g @angular/cli
npm install -g @ionic/cli
npm install -g @capacitor/core
npm install -g @capacitor/cli
yarn install
- name: "Build Ionic app"
run: ionic build -c production
- name: "Sync iOS project"
run: cap sync ios
- name: "Pack project"
run: zip -r ios_project.zip ios
- name: "Upload artifact"
uses: actions/upload-artifact@v4
with:
name: "build_${{github.run_number}}"
compression-level: 0
path: ios_project.zip
overwrite: true
if-no-files-found: error
build_xcode_project:
name: Build Xcode project
needs: build_ionic
runs-on: macos-14
steps:
- name: "Download artifact"
uses: actions/download-artifact@v4
with:
name: "build_${{github.run_number}}"
- name: "Unpack artifact"
run: "unzip ios_project.zip"
- name: "Build project"
env:
BUILD_NUMBER: ${{github.run_number}}
VERSION_NUMBER: "1.0.0"
KEY_ID: ${{secrets.APPSTORE_KEY_ID}}
ISSUER_ID: ${{secrets.APPSTORE_KEY_ISSUER_ID}}
KEY: ${{secrets.APPSTORE_KEY_CONTENT}}
run: |
cd ios/App
which bundle || gem install bundler
bundle config path vendor/bundle
bundle install
bundle exec fastlane build
- name: "Upload artifact"
uses: actions/upload-artifact@v4
with:
name: "macro-deck-client.ipa"
compression-level: 0
path: macro-deck-client.ipa
overwrite: true
if-no-files-found: error