123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- name: CI
- on:
- push:
- branches: [ master , main]
- pull_request:
- branches: [ master , main]
- jobs:
- build:
- strategy:
- matrix:
- os: [ubuntu-latest, windows-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: "8.x"
-
-
-
-
- - 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: Build Web
- if: ${{runner.os == 'Linux'}}
- run: |
- flutter build web
- cd build/web
- zip -r web-app.zip .
- - name: Build exe
- if: ${{ runner.os == 'Windows'}}
- run: |
- flutter config --enable-windows-desktop
- flutter build windows
- - name: Set Up XCode
- if: ${{ runner.os == 'macOS'}}
- uses: devbotsxyz/xcode-select@v1.1.0
- - name: Build mac
- if: ${{ runner.os == 'macOS'}}
- run: |
- flutter config --enable-macos-desktop
- flutter build macos
-
- - name: Build linux
- if: ${{ runner.os == 'Linux' }}
- run: |
- sudo apt-get update && sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev
- flutter config --enable-linux-desktop
- flutter build linux
-
- - 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
- build/windows/runner/Release/
- # build/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|