Skip to content

test: fix tests in Windows environment #1511

test: fix tests in Windows environment

test: fix tests in Windows environment #1511

Workflow file for this run

name: all_packages
on:
pull_request:
push:
branches:
- main
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Analyze
uses: invertase/github-action-dart-analyzer@v1
with:
fatal-infos: true
fatal-warnings: true
# This job ensures `melos` compiles and runs fine on the
# minimum Dart SDK version that it supports.
dart_version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
with:
sdk: 3.0.0 # Update when min sdk supported version of `melos` package changes.
- name: Run Melos
run: ./.github/workflows/scripts/install-tools.sh
# This job ensures `melos` can be installed alongside Flutter dependencies on
# the stable channel.
melos_flutter_deps_check:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Get dependencies
working-directory: packages/melos_flutter_deps_check
run: flutter pub get
format:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Check formatting
run: melos format --output none --set-exit-if-changed
test_linux:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Run Tests
run: melos test --no-select
test_macos:
runs-on: macos-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Run Tests
run: melos test --no-select
test_windows:
runs-on: windows-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Install Tools
run: .\.github\workflows\scripts\install-tools.bat
- name: Run Tests
# TODO: Figure out why invoking Melos via PowerShell doesn't work properly.
# When using PowerShell, the exit code is not propagated correctly.
# Even running `CMD /C melos ...` from PowerShell does not work.
shell: cmd
# TODO: In theory, `melos test --no-select` under the hood is the same
# as the following command. For some reason, using this one directly
# provides the actual exit code of the process, avoiding
# always returning 'SUCCESS' even when tests are failing.
run: melos exec --dir-exists=test --concurrency 1 -- "dart test"