name: Flutter CICD # action name on: push: tags: - "v*" jobs: build: # job's name runs-on: ubuntu-latest # container os env: # ADD environment variables KEY_JKS: ${{ secrets.KEY_JKS }} KEY_PATH: ${{ github.workspace }}/key.jks KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} permissions: contents: write steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' - uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml bundler-cache: true # runs 'bundle install' and caches installed gems automatically - uses: actions/setup-node@v4 with: node-version: 20 - name: Download bundle dependencies run: | gem install bundler gem install abbrev bundle config path vendor/bundle bundle install - name: Build container proxy working-directory: packages/flutter_mozilla_components/javascript/container_proxy run: | npm i npx webpack - name: Create key file working-directory: app run: echo $KEY_JKS | base64 -di > $KEY_PATH - uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.32.4 - name: Activate melos working-directory: app run: dart pub global activate melos - name: Bootstrap melos working-directory: app run: melos bs # - run: flutter test - name: Build APK working-directory: app run: flutter build apk --verbose --release --split-per-abi --no-tree-shake-icons - name: Build App Bundle working-directory: app run: flutter build appbundle - name: Create github artifact release # disable this to save storage uses: ncipollo/release-action@v1 with: artifacts: "app/build/app/outputs/apk/release/*.apk,app/build/app/outputs/bundle/release/app-release.aab" - name: Upload app bundle artifact uses: actions/upload-artifact@v4 with: name: appbundle path: app/build/app/outputs/bundle/release/app-release.aab - name: Release to Google Play (alpha) env: SUPPLY_PACKAGE_NAME: ${{ secrets.ANDROID_PACKAGE_NAME }} SUPPLY_JSON_KEY_DATA: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }} run: | bundle exec fastlane supply \ --aab build/app/outputs/bundle/release/app-release.aab \ --track alpha