Fix: Loadgen null value extraction (#1110) #113
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Android Build & Test (macOS) | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: [ master, submission-v* ] | |
| pull_request: | |
| types: [ opened, synchronize, reopened ] | |
| merge_group: | |
| types: [ checks_requested ] | |
| jobs: | |
| computed: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Compute build number | |
| id: set | |
| env: | |
| OFFSET: ${{ vars.FLUTTER_BUILD_NUMBER_OFFSET }} | |
| run: echo "build_number=$((GITHUB_RUN_NUMBER + ${OFFSET:-0}))" >> "$GITHUB_OUTPUT" | |
| outputs: | |
| build_number: ${{ steps.set.outputs.build_number }} | |
| build: | |
| needs: computed | |
| name: Build Android app | |
| # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md | |
| runs-on: macos-15 | |
| timeout-minutes: 180 | |
| env: | |
| OFFICIAL_BUILD: true | |
| WITH_TFLITE: 1 | |
| WITH_PIXEL: 0 | |
| WITH_MEDIATEK: 0 | |
| WITH_QTI: 0 | |
| WITH_SAMSUNG: 0 | |
| WITH_APPLE: 0 | |
| BAZEL_OUTPUT_ROOT_ARG: "--output_user_root=/tmp/bazel_output" | |
| BAZEL_CACHE_ARG: "--disk_cache=/tmp/bazel_cache" | |
| FLUTTER_BUILD_NUMBER: ${{ needs.computed.outputs.build_number }} | |
| FIREBASE_ANDROID_API_KEY: ${{ secrets.FIREBASE_ANDROID_API_KEY }} | |
| FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }} | |
| FIREBASE_PROJECT_ID: mobile-app-build-290400 | |
| FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }} | |
| FIREBASE_DATABASE_URL: ${{ secrets.FIREBASE_DATABASE_URL }} | |
| FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }} | |
| FIREBASE_CI_USER_EMAIL: ${{ secrets.FIREBASE_CI_USER_EMAIL }} | |
| FIREBASE_CI_USER_PASSWORD: ${{ secrets.FIREBASE_CI_USER_PASSWORD }} | |
| FIREBASE_CRASHLYTICS_ENABLED: false | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
| - name: Cache bazel | |
| uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 | |
| with: | |
| path: /tmp/bazel_cache | |
| key: ${{ runner.os }}-bazel_cache-${{ hashFiles('**/BUILD', '**/WORKSPACE') }} | |
| restore-keys: ${{ runner.os }}-bazel_cache- | |
| - name: Install dependencies | |
| run: | | |
| brew update --quiet || true | |
| brew install bazelisk | |
| brew install protobuf | |
| brew install cocoapods | |
| brew install python@3.14 | |
| brew link --overwrite python@3.14 | |
| python3.14 -m pip install --break-system-packages "numpy>=1.23,<2.0" "absl-py>=1.3,<2.0" | |
| - name: Install Flutter | |
| uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0 | |
| with: | |
| channel: stable | |
| flutter-version: 3.19.6 | |
| - name: Install protoc | |
| run: | | |
| flutter config --no-analytics && dart --disable-analytics | |
| dart pub global activate protoc_plugin ^21.1.2 | |
| - name: Install Android SDK | |
| run: | | |
| export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin | |
| yes | sdkmanager --licenses >/dev/null | |
| yes | sdkmanager "platform-tools" "build-tools;35.0.1" "platforms;android-34" "platforms;android-35" | |
| yes | sdkmanager "ndk;25.2.9519653" | |
| - name: Prepare Flutter | |
| run: | | |
| make flutter/prepare | |
| - name: Set env vars | |
| run: | | |
| echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653" >> "$GITHUB_ENV" | |
| echo "ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/25.2.9519653" >> "$GITHUB_ENV" | |
| echo "ANDROID_NDK_VERSION=25" >> "$GITHUB_ENV" | |
| echo "ANDROID_NDK_API_LEVEL=33" >> "$GITHUB_ENV" | |
| - name: Print versions | |
| run: | | |
| env | |
| brew config | |
| flutter doctor -v | |
| - name: Build Android app | |
| run: | | |
| make flutter/android/release | |
| - name: Run unit tests | |
| run: | | |
| make flutter/test/unit | |
| - name: Archive APK with TFLite backend | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: android-apk-tflite-${{ needs.computed.outputs.build_number }} | |
| path: output/android-apks/*-t-${{ needs.computed.outputs.build_number }}.apk | |
| retention-days: 28 | |
| if-no-files-found: error | |
| - name: Build macOS CLI binaries | |
| run: | | |
| make cmdline/macos/bins/release | |
| - name: Archive macOS CLI binaries | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: macos-cmdline-${{ needs.computed.outputs.build_number }} | |
| path: output/macos-cli/* | |
| retention-days: 28 | |
| if-no-files-found: error |