You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fluffychat/.github/workflows/build-ios.yml

79 lines
2.1 KiB
YAML

name: build-ios
on:
workflow_call:
inputs:
screenshot:
type: string
required: true
ipa:
description: 'Run IPA build'
type: string
required: true
workflow_dispatch:
inputs:
screenshot:
description: 'Run screenshot build'
type: choice
options: ['true', 'false']
required: true
ipa:
description: 'Run IPA build'
type: choice
options: ['true', 'false']
required: true
jobs:
build-ios:
runs-on: macos-latest
timeout-minutes: 20
defaults:
run:
working-directory: ios
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: 'echo "$API_KEY" | base64 --decode > AuthKey.p8'
shell: bash
env:
API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
- run: bundle install
- run: bundle exec fastlane versioning
- name: Flutter
uses: subosito/flutter-action@v2
with:
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:"
- run: flutter build ios --simulator --target=integration_test/screenshot_test.dart
if: ${{ inputs.screenshot == 'true' }}
- name: Archive integration ipa
if: ${{ inputs.screenshot == 'true' }}
uses: actions/upload-artifact@v4
with:
name: app-simulator-build
path: build/ios/iphonesimulator/Runner.app
if-no-files-found: error
retention-days: 3
# Build ios Release
- run: flutter build ios --release --config-only --no-codesign --target=lib/main.dart
if: ${{ inputs.ipa == 'true' }}
- run: bundle exec fastlane build
if: ${{ inputs.ipa == 'true' }}
- name: Archive ipa
if: ${{ inputs.ipa == 'true' }}
uses: actions/upload-artifact@v4
with:
name: Runner.ipa
path: ios/Runner.ipa
if-no-files-found: error
retention-days: 3