Files
eh_downloader_flutter/.github/workflows/ios.yml
2024-05-27 12:32:55 +08:00

72 lines
2.2 KiB
YAML

name: iOS Build
on:
push:
branches: ["*"]
paths-ignore:
- '.devcontainer/**'
- '.github/workflows/android.yml'
- '.github/workflows/linux.yml'
- '.github/workflows/macos.yml'
- '.github/workflows/web.yml'
- '.github/workflows/windows.yml'
- 'android/**'
- 'linux/**'
- 'macos/**'
- 'web/**'
- 'windows/**'
- '.gitignore'
- '.gitmodules'
- 'README.md'
- 'LICENSE'
jobs:
ios:
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Setup flutter
uses: subosito/flutter-action@v2
with:
channel: stable
- name: Import keychain
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.P12_FILE_BASE64 }}
p12-password: ${{ secrets.P12_PASSWORD }}
- name: Install provisoning profile
env:
PROVISIONING_PROFILE: ${{ secrets.PROVISIONING_PROFILE }}
run: |
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
echo "${PROVISIONING_PROFILE}" | base64 --decode > ~/Library/MobileDevice/Provisioning\ Profiles/ehf_dev.mobileprovision
- name: Build
run: flutter build ios --release
- name: Clean up
if: always()
run: |
rm -rf ~/Library/MobileDevice/Provisioning\ Profiles/ehf_dev.mobileprovision
- name: Archive
run: |
cd build/ios/iphoneos
mkdir Payload
mv Runner.app Payload
zip -r app.ipa Payload
- name: Upload
uses: actions/upload-artifact@v4
with:
name: app
path: build/ios/iphoneos/app.ipa
- name: Upload to site
env:
BASE_URL: ${{ secrets.IPA_BASE_URL }}
USERNAME: ${{ secrets.IPA_USERNAME }}
PASSWORD: ${{ secrets.IPA_PASSWORD }}
continue-on-error: true
run: |
python3 -m pip install requests
python3 scripts/upload_ipa.py "${BASE_URL}" build/ios/iphoneos/app.ipa "${USERNAME}" "${PASSWORD}"