Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.

CI

CI #445

Workflow file for this run

name: CI
on:
# Run on PRs and pushes to the default branch.
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: "0 0 * * 0"
env:
PUB_ENVIRONMENT: bot.github
RUST_BACKTRACE: 1 # Run all tests with full Rust stack tracing.
jobs:
analyze:
runs-on: ubuntu-latest
strategy:
matrix:
sdk: [ dev ]
defaults:
run:
working-directory: wasm
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
with:
sdk: ${{ matrix.sdk }}
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
~/.pub-cache/hosted/
.dart_tool/
key: ${{ runner.os }}-${{ matrix.sdk }}
- id: install
run: dart pub upgrade
- run: dart format --output=none --set-exit-if-changed .
if: always() && steps.install.outcome == 'success'
- run: dart analyze --fatal-infos
if: always() && steps.install.outcome == 'success'
- name: validate boilerplate generation
if: always() && steps.install.outcome == 'success'
run: |
./tool/generate_ffi_boilerplate.py
dart format -owrite .
export DIFF_OUTPUT="$(git diff)"
if [[ $DIFF_OUTPUT ]]; then
echo "::error::Build needs to be re-run!"
echo "::group::git diff"
echo "$DIFF_OUTPUT"
echo "::endgroup::"
exit 1
else
echo "Build output is all good!"
fi
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
sdk: [ 2.18.5, dev ]
defaults:
run:
working-directory: wasm
steps:
- uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
with:
sdk: ${{ matrix.sdk }}
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/.pub-cache/hosted/
.dart_tool/
key: ${{ runner.os }}-${{ matrix.sdk }}
- run: dart pub upgrade
- run: dart run wasm:setup
- run: dart test -j 1
coverage:
runs-on: ubuntu-latest
defaults:
run:
working-directory: wasm
steps:
- uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
with:
sdk: dev
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/.pub-cache/hosted/
.dart_tool/
key: ubuntu-latest-dev
- name: Install dependencies
run: dart pub get
- name: Setup wasm
run: dart run wasm:setup
- name: Install coverage
run: dart pub global activate coverage
- name: Collect and report coverage
run: dart pub global run coverage:test_with_coverage
- name: Upload coverage
uses: coverallsapp/github-action@f350da2c033043742f89e8c0b7b5145a1616da6d
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: wasm/coverage/lcov.info
flutter_analyze:
runs-on: ubuntu-latest
defaults:
run:
working-directory: flutter_wasm
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: '3.3.9'
- id: install
run: |
flutter pub upgrade
flutter pub upgrade --directory example
- run: flutter format --output=none --set-exit-if-changed .
if: always() && steps.install.outcome == 'success'
- run: flutter analyze --fatal-infos
if: always() && steps.install.outcome == 'success'
flutter_test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: flutter_wasm
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: '3.3.9'
- run: flutter pub upgrade
- run: flutter pub run flutter_wasm:setup
- run: flutter test
flutter_example_test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: flutter_wasm/example
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc
with:
java-version: 11
distribution: temurin
- uses: android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc
- uses: nttld/setup-ndk@8c3b609ff4d54576ea420551943fd34b4d03b0dc
with:
ndk-version: r25b
local-cache: true
add-to-path: true
- run: echo "ndk.dir=$(dirname $(which ndk-build))" >> android/local.properties
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: '3.3.9'
- run: flutter pub upgrade
- run: flutter pub run flutter_wasm:setup
- run: flutter test
- run: flutter build apk
- run: flutter build appbundle