1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- name: CI
- on:
- push:
- branches: [ master , main]
- pull_request:
- branches: [ master , main]
- jobs:
- build:
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest]
- runs-on: ${{matrix.os}}
- steps:
- - uses: actions/checkout@v2
- - name: Setup Java JDK
- uses: actions/setup-java@v2
- with:
- distribution: 'adopt'
- java-version: "11"
- - name: Setup gradle
- uses: eskatos/gradle-command-action@v1
- with:
- gradle-version: 7.3.3
- - name: Flutter action
- uses: subosito/flutter-action@v1.5.3
- with:
- channel: "stable"
- flutter-version: "3.0.5"
-
- - name: Cache Dependencies
- id: cache
- uses: actions/cache@v2
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- Pods
- key: |
- ${{runner.OS}}-gradle-caches-${{ hashFiles('pubspec.lock') }}
- ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
- restore-keys: |
- ${{ runner.os }}-pods-
- ${{ runner.os }}-gradle-
- - name: Install Dependencies
- if: steps.cache.outputs.cache-hit != 'true'
- run: flutter pub get
- - name: Build apk
- if: ${{ runner.os == 'Linux' }}
- run: flutter build apk --debug --split-per-abi
- - name: Build ios
- if: ${{ runner.os == 'macOS' }}
- run: |
- sudo xcode-select -s /Applications/Xcode_12.3.app
- flutter build ios --release --no-codesign
- cd build/ios/iphoneos
- mkdir Payload
- cd Payload
- ln -s ../Runner.app
- cd ..
- zip -r app.ipa Payload
-
- - name: artifact
- uses: actions/upload-artifact@v2
- with:
- name: ${{runner.OS}}-artifact
- path: |
- # build/app/outputs/flutter-apk/**/*.apk
- build/app/outputs/flutter-apk/app.apk
- build/ios/**/*.ipa
- build/web/web-app.zip
|