XYOracleNetwork/sdk-ble-flutter

View on GitHub
.github/workflows/release.yml

Summary

Maintainability
Test Coverage
name: Publish Release

on:
  push:
    branches:
      - "master"

jobs:
  publish:
    runs-on: macOS-latest

    steps:
      - uses: actions/checkout@v2
      - name: Android Build
        run: |
          brew reinstall gradle
          export GRADLE_HOME=$PWD/gradle-6.0.1
          export PATH=$GRADLE_HOME/bin:$PATH
          git clone https://github.com/flutter/flutter.git --depth 1 -b beta
          $GITHUB_WORKSPACE/flutter/bin/flutter doctor
          cd $GITHUB_WORKSPACE/example
          $GITHUB_WORKSPACE/flutter/bin/flutter -v build apk
      - name: iOS Build
        run: |
          gem install cocoapods-acknowledgements
          gem install cocoapods
          pod repo update
          pip install six
          $GITHUB_WORKSPACE/flutter/bin/flutter doctor
          $GITHUB_WORKSPACE/flutter/bin/flutter emulators --launch apple_ios_simulator
          cd $GITHUB_WORKSPACE/example
          $GITHUB_WORKSPACE/flutter/bin/flutter build ios --simulator --no-codesign
      - name: Build and Publish
        run: |
          export PATH="$PATH":$GITHUB_WORKSPACE/flutter/bin
          $GITHUB_WORKSPACE/flutter/bin/flutter doctor
          flutter pub get
          cd example
          flutter packages pub run build_runner build --delete-conflicting-outputs
          cd $GITHUB_WORKSPACE
          mkdir ./flutter/.pub-cache/
          cat <<EOF > ./flutter/.pub-cache/credentials.json 
          {
            "accessToken":"${{ secrets.ACCESS_TOKEN }}",
            "refreshToken":"${{ secrets.REFRESH_TOKEN }}",
            "tokenEndpoint":"https://accounts.google.com/o/oauth2/token",
            "scopes":["openid","https://www.googleapis.com/auth/userinfo.email"],
            "expiration":1564090897608
          }
          EOF

          ./flutter/bin/flutter pub pub publish -f -v