name: Main Deploy Workflow on: push: branches: - main workflow_dispatch: concurrency: group: main_deploy cancel-in-progress: true jobs: deploy_web: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} - name: Remove Emoji Font run: | rm -rf fonts/NotoEmoji yq -i 'del( .flutter.fonts[] | select(.family == "NotoEmoji") )' pubspec.yaml - run: flutter pub get - name: Prepare web run: ./scripts/prepare-web.sh - name: Build Release Web run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps --base-href "/nightly/" - run: mv build/web/ public - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} publish_dir: ./public publish_branch: gh-pages destination_dir: nightly deploy_playstore_internal: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: actions/setup-java@v4 with: java-version: ${{ env.JAVA_VERSION }} distribution: 'zulu' - uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} cache: true - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.3' - name: Install Fastlane run: gem install fastlane -NV - name: Apply Google Services Patch run: git apply ./scripts/enable-android-google-services.patch - name: Remove Emoji Font run: | rm -rf fonts/NotoEmoji yq -i 'del( .flutter.fonts[] | select(.family == "NotoEmoji") )' pubspec.yaml - run: flutter pub get - name: Prepare Android Release Build env: FDROID_KEY: ${{ secrets.FDROID_KEY }} FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }} PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }} run: ./scripts/prepare-android-release.sh - name: Build Android Release run: flutter build appbundle --target-platform android-arm,android-arm64,android-x64 - name: Deploy Android Release run: | mkdir -p build/android cp build/app/outputs/bundle/release/app-release.aab build/android/ cd android bundle install bundle update fastlane bundle exec fastlane deploy_internal_test cd ..