name: Flutter CI # This workflow is triggered on pushes to the repository. on: workflow_dispatch: # Enable manual run push: # Sequence of patterns matched against refs/tags tags: - 'v*' # Push events to matching v*, i.e. v4.2.0 jobs: build: # This job will run on ubuntu virtual machine runs-on: ubuntu-latest steps: # Setup Java environment in order to build the Android app. - uses: actions/checkout@v2 - uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '11' # Setup the flutter environment. - uses: subosito/flutter-action@v2 with: channel: 'stable' flutter-version: '3.7.7' # Fetch sub modules - run: git submodule update --init --recursive # Get flutter dependencies. - run: flutter pub get - name: Setup keys uses: timheuer/base64-to-file@v1 with: fileName: 'keystore/ente_photos_key.jks' encodedString: ${{ secrets.SIGNING_KEY }} # Build independent apk. - name: Build run: flutter build apk --release --flavor independent && mv build/app/outputs/flutter-apk/app-independent-release.apk build/app/outputs/flutter-apk/ente.apk env: SIGNING_KEY_PATH: '/home/runner/work/_temp/keystore/ente_photos_key.jks' SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} - name: Checksum run: sha256sum build/app/outputs/flutter-apk/ente.apk > build/app/outputs/flutter-apk/sha256sum # Upload generated apk to the artifacts. - uses: actions/upload-artifact@v2 with: name: release-apk path: build/app/outputs/flutter-apk/ente.apk - uses: actions/upload-artifact@v2 with: name: release-checksum path: build/app/outputs/flutter-apk/checksum # Create a Github release - uses: ncipollo/release-action@v1 with: artifacts: "build/app/outputs/flutter-apk/ente.apk,build/app/outputs/flutter-apk/sha256sum" token: ${{ secrets.GITHUB_TOKEN }}