name: Release on: push: tags: - 'v*' jobs: build-android: name: Build Android runs-on: ubuntu-latest steps: #1 Checkout Repository - name: Checkout Repository uses: actions/checkout@v3 #2 Setup Java - name: Set Up Java uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '21' #3 Setup Flutter - name: Set Up Flutter uses: subosito/flutter-action@v2 with: flutter-version: '3.32.5' channel: 'stable' #4 Install Dependencies - name: Install Dependencies run: flutter pub get - name: Generate Freezed Classes run: flutter pub run build_runner build --delete-conflicting-outputs #5 Setup Keystore - name: Create Keystore run: | echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > app/conduit-keystore.jks echo "${{ secrets.ANDROID_KEY_PROPERTIES_BASE64 }}" | base64 --decode > key.properties env: ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} ANDROID_KEY_PROPERTIES_BASE64: ${{ secrets.ANDROID_KEY_PROPERTIES_BASE64 }} working-directory: android - name: Build APK run: flutter build apk --release - name: Build appBundle run: flutter build appbundle --release - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: Releases path: | build/app/outputs/flutter-apk/app-release.apk build/app/outputs/bundle/release/app-release.aab - name: Create Release uses: ncipollo/release-action@v1 with: artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/app/outputs/bundle/release/app-release.aab" tag: ${{ github.ref_name }} token: ${{ secrets.GITHUB_TOKEN }}