FEN-98: automated build for iOS example app #13
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-apps | |
on: | |
push: | |
branches: | |
- FEN-98-build-ios # @TODO: change branch to master | |
jobs: | |
android_build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: liberica | |
java-version: 17 | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v2 | |
- name: Setup Flutter SDK | |
uses: flutter-actions/setup-flutter@v2 | |
with: | |
channel: stable | |
version: 3.10.6 | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Setup Fastlane | |
run: bundle install | |
- name: Build APK | |
run: bundle exec fastlane android build_android | |
- name: ${{ format('Upload APK to /build.{0} directory', github.run_number) }} | |
uses: hkusu/s3-upload-action@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: 'eu-west-2' | |
aws-bucket: ${{ secrets.AWS_BUCKET }} | |
file-path: 'example/build/app/outputs/flutter-apk/app-release.apk' | |
destination-dir: '/' | |
bucket-root: ${{ format('/link/webview/flutter/android/build.{0}', github.run_number) }} | |
- name: Upload APK to /latest folder overriding previous APK | |
uses: hkusu/s3-upload-action@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: 'eu-west-2' | |
aws-bucket: ${{ secrets.AWS_BUCKET }} | |
file-path: 'example/build/app/outputs/flutter-apk/app-release.apk' | |
destination-dir: '/' | |
bucket-root: '/link/webview/flutter/android/latest' | |
- name: Invalidate CloudFront cache | |
uses: chetan/invalidate-cloudfront-action@v2 | |
env: | |
DISTRIBUTION: ${{ secrets.DISTRIBUTION_ID }} | |
PATHS: '/link/webview/flutter/android/*' | |
AWS_REGION: 'eu-west-2' | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
ios_build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: MrSquaare/ssh-setup-action@v3 | |
with: | |
host: github.com | |
private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Setup Flutter SDK | |
uses: flutter-actions/setup-flutter@v2 | |
with: | |
channel: stable | |
version: 3.10.6 | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Setup Fastlane | |
run: bundle install | |
- name: Build IPA | |
run: bundle exec fastlane ios build_ios | |
env: | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
- name: ${{ format('Upload IPA to /build.{0} directory', github.run_number) }} | |
uses: hkusu/s3-upload-action@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: 'eu-west-2' | |
aws-bucket: ${{ secrets.AWS_BUCKET }} | |
file-path: 'example/build/ios/app-release.ipa' | |
destination-dir: '/' | |
bucket-root: ${{ format('/link/webview/flutter/ios/build.{0}', github.run_number) }} | |
- name: Upload IPA to /latest folder overriding previous IPA | |
uses: hkusu/s3-upload-action@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: 'eu-west-2' | |
aws-bucket: ${{ secrets.AWS_BUCKET }} | |
file-path: 'example/build/ios/app-release.ipa' | |
destination-dir: '/' | |
bucket-root: '/link/webview/flutter/ios/latest' | |
- name: Invalidate CloudFront cache | |
uses: chetan/invalidate-cloudfront-action@v2 | |
env: | |
DISTRIBUTION: ${{ secrets.DISTRIBUTION_ID }} | |
PATHS: '/link/webview/flutter/ios/*' | |
AWS_REGION: 'eu-west-2' | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |