Skip to content

[ci] Refactor pub.dev check #132

[ci] Refactor pub.dev check

[ci] Refactor pub.dev check #132

Workflow file for this run

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