# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: Dart on: push: branches: [ "develop" ] pull_request: branches: [ "develop" ] jobs: thermion_dart: name: thermion_dart runs-on: windows-2019 defaults: run: working-directory: thermion_dart # Adjust this path shell: bash # This helps ensure consistent behavior across platforms steps: - uses: actions/checkout@v4 # Enable debug logging for Actions - name: Enable debug logging run: echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV # Setup Visual Studio environment - name: Setup MSVC uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - uses: subosito/flutter-action@v2 with: flutter-version: '3.26.0-0.1.pre' # Specify Flutter version channel: 'master' # or 'beta', 'dev', 'master' cache: true # Caches dependencies between runs architecture: x64 # Explicitly specify x64 architecture - name: Install dependencies run: flutter pub get # even though this is a Dart package, it has as dev_dependency on objective_c for testing which for some reason has a Flutter dependency # Ensure Visual C++ runtime is available - name: Install Visual C++ redistributable run: | choco install visualstudio2019-workload-vctools -y choco install vcredist140 -y # Uncomment this step to verify the use of 'dart format' on each commit. # - name: Verify formatting # run: dart format --output=none --set-exit-if-changed . #- name: Analyze project source # run: dart analyze - name: Build and Test shell: cmd run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" dart --enable-experiment=native-assets test test/dummy_tests.dart # Upload logs on failure - name: Upload logs if: failure() || steps.build.outcome == 'failure' uses: actions/upload-artifact@v4 with: name: build-logs path: | D:\a\thermion\thermion\thermion_dart\.dart_tool\thermion_dart\log\build.log # /Users/runner/work/thermion/thermion/thermion_dart//.dart_tool/thermion_dart/log/build.log retention-days: 5 # Capture crash dumps if they exist - name: Collect crash dumps if: failure() uses: actions/upload-artifact@v3 with: name: crash-dumps path: | ${{ runner.temp }}/*.dmp ${{ env.LOCALAPPDATA }}/Temp/*.dmp ${{ env.LOCALAPPDATA }}/CrashDumps/*.dmp # thermion_flutter: # name: thermion_flutter # runs-on: macos-13 # defaults: # run: # working-directory: thermion_flutter/thermion_flutter # Adjust this path # steps: # - uses: actions/checkout@v4 # - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603 # - name: Install dependencies # run: dart pub get # # Uncomment this step to verify the use of 'dart format' on each commit. # # - name: Verify formatting # # run: dart format --output=none --set-exit-if-changed . # - name: Analyze project source # run: dart analyze # - name: Run tests # run: dart --enable-experiment=native-assets test