[ci] Refactor pub.dev check #132
Workflow file for this run
This file contains 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: Tests | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
jobs: | |
pub_dev_check: | |
name: pub.dev check | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.29.0' | |
# TODO(littlegnal): Temporarily disable the Dart format check since the Dart SDK introduced a new format in 3.7 which breaks this check. I will reformat the code in a separate PR. | |
# - name: Check Dart Format | |
# run: | | |
# if ! dart format --output=show --set-exit-if-changed .; then | |
# echo "The code style of files above are incorrect." | |
# echo "Make sure you follow the dart code style (https://github.com/dart-lang/dart_style)." | |
# exit 1 | |
# fi | |
- name: Run Dart Package Analyzer | |
id: analysis | |
env: | |
INPUT_GITHUBTOKEN: ${{ secrets.GITHUB_TOKEN }} | |
INPUT_MINANNOTATIONLEVEL: info | |
run: | | |
flutter doctor | |
dart pub global activate pana | |
git clone https://github.com/axel-op/dart-package-analyzer.git -b master $HOME/dart-package-analyzer | |
cd $HOME/dart-package-analyzer/app | |
# 56afb7e6737bd2b7cee05382ae7f0e8111138080 is the stable commit we tested. | |
git checkout 56afb7e6737bd2b7cee05382ae7f0e8111138080 | |
dart pub get | |
dart bin/main.dart | |
- name: Check scores | |
env: | |
TOTAL: ${{ steps.analysis.outputs.total }} | |
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }} | |
run: | | |
if [ $TOTAL_MAX -ne $TOTAL ]; then | |
echo "Pub Score too low." | |
exit 1 | |
fi | |
flutter_ut: | |
name: Flutter unit test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.29.0' | |
- run: flutter test | |
android_smoke_build: | |
name: Smoke build for Android | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ["3.29.0"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '17' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
- run: flutter packages get -v | |
- name: Run flutter build apk | |
run: flutter build apk | |
working-directory: example | |
ios_smoke_build: | |
name: Smoke build for iOS | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ["3.10.0", "3.29.0"] | |
runs-on: macos-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter packages get -v | |
- name: Run flutter build ios --no-codesign | |
run: flutter build ios --no-codesign | |
working-directory: example | |
check_android15_16k_page_alignment: | |
name: Check android15 16k page size alignment | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['3.29.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '17' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter packages get | |
- name: Run flutter build apk | |
run: flutter build apk | |
working-directory: example | |
- name: Check android15 16k page size alignment | |
run: bash scripts/check_android15_16k_page_alignment.sh example/build/app/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libglance.so | |
# integration_test_android: | |
# name: Run Flutter Android Integration Tests | |
# if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
# strategy: | |
# matrix: | |
# # version: ["3.0.0", "3.x"] | |
# version: ["3.x"] | |
# runs-on: macos-14 | |
# timeout-minutes: 120 | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Install JDK | |
# uses: actions/setup-java@v4 | |
# with: | |
# distribution: 'zulu' | |
# java-version: '21' | |
# - uses: subosito/flutter-action@v2 | |
# with: | |
# flutter-version: ${{ matrix.version }} | |
# - name: Export the llvm path | |
# run: | | |
# # Export the llvm path | |
# # https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md | |
# BREW_PREFIX=$(brew --prefix llvm@15) | |
# export PATH="${BREW_PREFIX}/bin:$PATH" | |
# which llvm-symbolizer | |
# - run: bash scripts/write_entitlements.sh | |
# - name: run flutter android integration tests | |
# uses: reactivecircus/android-emulator-runner@v2 | |
# with: | |
# api-level: 31 | |
# arch: arm64-v8a | |
# force-avd-creation: false | |
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
# disable-animations: true | |
# profile: pixel_5 | |
# ram-size: 2048M | |
# heap-size: 4096M | |
# disk-size: 8192M | |
# script: bash scripts/glance_integration_test.sh |