name: CI on: push: branches: [ master , main] paths-ignore: - '**.md' pull_request: branches: [ master , main] jobs: build: strategy: matrix: os: [ubuntu-latest] runs-on: ${{matrix.os}} steps: - uses: actions/checkout@v4 - name: Setup Java JDK uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: "8.x" # - name: Setup gradle # uses: eskatos/gradle-command-action@v1 # with: # gradle-version: 6.5 - 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 ~/local/rubies key: | ${{runner.OS}}-gradle-caches-${{ hashFiles('pubspec.lock') }} ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} ruby-2.6.5 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 # 发布到 fir.im - uses: clupprich/ruby-build-action@master id: ruby with: ruby-version: 2.6.5 files: app/build/outputs/apk/release/app-release.apk - name: install fir.im run: gem install fir-cli - name: Upload to Fir.im run: fir login ${{ secrets.FIRTOKEN }} - run: fir publish app/build/outputs/apk/release/app-release.apk # output some file: - 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/