Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 27 additions & 119 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
pull_request:
branches: [master]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
PUB_ENVIRONMENT: bot.github

Expand Down Expand Up @@ -38,60 +42,19 @@ jobs:
sudo apt-get install -y ninja-build libgtk-3-dev
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: flutter test
- run: flutter test --coverage
- run: flutter test --platform chrome
- run: flutter test --platform chrome --wasm
- run: dart test -p chrome -c dart2wasm
- run: xvfb-run dart test -p firefox
- run: xvfb-run flutter test integration_test/webcrypto_test.dart -d linux
working-directory: ./example
- uses: nanasess/setup-chromedriver@v2
- name: Run integration_test with chromedriver
working-directory: ./example
run: |
xvfb-run ../tool/with-chromedriver.sh flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/webcrypto_test.dart \
-d chrome
- run: xvfb-run flutter pub run test -p vm,chrome,firefox
macos-14:
name: MacOS 14 desktop / Chrome / Firefox
runs-on: macos-14 # Test with xcode 15
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
# Report collected coverage
- uses: coverallsapp/github-action@v2
with:
channel: 'stable'
cache: true
- name: Configure Flutter
run: |
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: flutter test
- run: flutter test --platform chrome
- run: flutter test --platform chrome --wasm
- run: flutter test integration_test/webcrypto_test.dart -d macos
working-directory: ./example
# TODO: Enable chromedriver testing on MacOS when it works reliably
#- uses: nanasess/setup-chromedriver@v2
#- name: Run integration_test with chromedriver
# working-directory: ./example
# run: |
# ../tool/with-chromedriver.sh flutter drive \
# --driver=test_driver/integration_test.dart \
# --target=integration_test/webcrypto_test.dart \
# -d chrome
- uses: browser-actions/setup-firefox@v1
- name: flutter pub run test -p vm,chrome,firefox
shell: bash
# Remove FIREFOX_EXECUTABLE override when flutter upgrades past package:test 1.25.8
# Issue is fixed in https://github.com/dart-lang/test/pull/2276
run: |
export FIREFOX_EXECUTABLE="$(which firefox)"
flutter pub run test -p vm,chrome,firefox
macos-15:
name: MacOS 15 desktop / Chrome / Firefox
flag-name: linux
parallel: true
macos:
name: MacOS desktop / Chrome / Firefox
runs-on: macos-15 # Test with xcode 16
timeout-minutes: 15
steps:
Expand All @@ -104,21 +67,19 @@ jobs:
run: |
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: flutter test
- run: flutter test --platform chrome
- run: flutter test --platform chrome --wasm
- run: flutter test integration_test/webcrypto_test.dart -d macos
working-directory: ./example
# TODO: Enable chromedriver testing on MacOS when it works reliably
- uses: browser-actions/setup-firefox@v1
- name: flutter pub run test -p vm,chrome,firefox
- name: Run Firefox tests
shell: bash
# Remove FIREFOX_EXECUTABLE override when flutter upgrades past package:test 1.25.8
# Issue is fixed in https://github.com/dart-lang/test/pull/2276
run: |
export FIREFOX_EXECUTABLE="$(which firefox)"
flutter pub run test -p vm,chrome,firefox
dart test -p firefox
windows:
name: Windows desktop / Chrome / Firefox
runs-on: windows-latest
Expand All @@ -134,26 +95,21 @@ jobs:
run: |
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: flutter test
#- run: flutter test --platform chrome
#- run: flutter test --platform chrome --wasm
- run: flutter test --coverage
- run: dart test -p chrome
- run: dart test -p firefox
- run: flutter test integration_test/webcrypto_test.dart -d windows
working-directory: ./example
- uses: nanasess/setup-chromedriver@v2
- name: Run integration_test with chromedriver
working-directory: ./example
shell: bash
run: |
../tool/with-chromedriver.sh flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/webcrypto_test.dart \
-d chrome
- run: flutter pub run test -p vm,chrome,firefox
# Report collected coverage
- uses: coverallsapp/github-action@v2
with:
flag-name: windows
parallel: true
ios:
name: iOS emulator (iPhone)
runs-on: macos-14
timeout-minutes: 15
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
Expand All @@ -173,6 +129,7 @@ jobs:
name: Android emulator
runs-on: ubuntu-latest
timeout-minutes: 15
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
Expand Down Expand Up @@ -202,62 +159,13 @@ jobs:
arch: x86_64
working-directory: ./example
script: flutter test integration_test/webcrypto_test.dart -d emulator
linux-coverage:
name: Linux desktop / Chrome / Firefox (coverage)
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Configure Flutter
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: xvfb-run flutter pub run test -p vm,chrome,firefox -c dart2js,dart2wasm --coverage ./coverage
# Report collected coverage
- name: Convert coverage to lcov
run: dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
- uses: coverallsapp/github-action@v2
with:
flag-name: linux
parallel: true
windows-coverage:
name: Windows desktop / Chrome / Firefox (coverage)
runs-on: windows-latest
timeout-minutes: 15
steps:
- uses: ilammy/setup-nasm@v1
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Configure Flutter
run: |
flutter config --no-analytics
- run: flutter pub get
- run: flutter pub run webcrypto:setup
- run: flutter pub run test -p vm,chrome,firefox --coverage ./coverage
# Report collected coverage
- name: Convert coverage to lcov
run: dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
- uses: coverallsapp/github-action@v2
with:
flag-name: windows
parallel: true
coverage:
name: Report to coveralls
runs-on: ubuntu-latest
timeout-minutes: 15
needs:
- linux-coverage
- windows-coverage
- linux
- windows
steps:
- uses: coverallsapp/github-action@v2
with:
Expand Down
Loading
Loading