Skip to content

Commit

Permalink
WOrkflow #5
Browse files Browse the repository at this point in the history
  • Loading branch information
Sagar Shende committed Jun 5, 2024
1 parent 4d7f85a commit 775ef15
Showing 1 changed file with 70 additions and 15 deletions.
85 changes: 70 additions & 15 deletions .github/workflows/flutter-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
name: "Build & Release"

on:
pull_request:
branches:
Expand All @@ -8,23 +10,23 @@ on:
- main
- master
- develop
name: "Build & Release"

jobs:
build-android:
name: Build and Release APK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: '12.x'

- name: Setup Flutter
uses: subosito/flutter-action@v1
uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '2.x'

- name: Get Flutter Dependencies
run: flutter pub get
Expand All @@ -33,7 +35,6 @@ jobs:
run: flutter build apk --release --split-per-abi

- name: Upload APK
if: success()
uses: actions/upload-artifact@v2
with:
name: android-apk
Expand All @@ -43,24 +44,78 @@ jobs:
name: Build and Release iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Setup Flutter
uses: subosito/flutter-action@v1
uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '2.x'

- name: Get Flutter Dependencies
run: flutter pub get

- name: Build iOS
run: flutter build ios --release --no-codesign

- run: |
flutter build ios --no-codesign
cd build/ios/iphoneos
mkdir Payload
cd Payload
ln -s ../Runner.app
cd ..
cp -r Runner.app Payload/
zip -r app.ipa Payload
- name: Push to Releases
- name: Upload IPA
uses: actions/upload-artifact@v2
with:
name: ios-ipa
path: build/ios/iphoneos/*.ipa

create-release:
needs: [build-android, build-ios]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Download Android APK Artifact
uses: actions/download-artifact@v2
with:
name: android-apk
path: ./artifacts/android

- name: Download iOS IPA Artifact
uses: actions/download-artifact@v2
with:
name: ios-ipa
path: ./artifacts/ios

- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
artifacts: "build/app/outputs/apk/release/*,build/ios/iphoneos/app.ipa"
tag: v1.0.${{ github.run_number }}
token: ${{ secrets.GITHUB_TOKEN }}
release_name: Release ${{ github.run_number }}
body: |
Release of the Android and iOS apps.
draft: false
prerelease: false

- name: Upload Android APK to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./artifacts/android/*.apk
asset_name: app-release.apk
asset_content_type: application/vnd.android.package-archive

- name: Upload iOS IPA to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./artifacts/ios/*.ipa
asset_name: app-release.ipa
asset_content_type: application/octet-stream

0 comments on commit 775ef15

Please sign in to comment.