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.
79 lines
2.1 KiB
YAML
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 |