name: Dart on: push: branches: [ "develop" ] pull_request: branches: [ "develop" ] jobs: update-goldens: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Setup LLVM uses: KyleMayes/install-llvm-action@v1 with: version: "16" - name: Add LLVM to PATH run: | echo "${{ github.workspace }}/llvm/bin" >> $GITHUB_PATH echo "LD_LIBRARY_PATH=${{ github.workspace }}/llvm/lib/x86_64-unknown-linux-gnu/" >> $GITHUB_ENV - name: Verify installation run: clang --version - name: Install MESA run: | sudo apt-get update sudo apt-get install -y xvfb sudo apt-get install -y libosmesa6-dev #sudo apt-get -y build-dep mesa #git clone https://gitlab.freedesktop.org/mesa/mesa.git #cd mesa #git checkout mesa-23.2.1 #mkdir -p out #meson setup builddir/ -Dprefix="$(pwd)/out" -Dosmesa=true -Dglx=xlib -Dgallium-drivers=swrast -Dvulkan-drivers=swrast #meson install -C builddir/ #- name: Install Vulkan SDK and dependencies # run: | # wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - # sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list # sudo apt-get update # sudo apt-get install -y vulkan-sdk - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: master architecture: X64 - run: cd thermion_dart && dart pub get && xvfb-run dart --enable-experiment=native-assets test test/asset_tests.dart - name: Zip goldens run: zip -r goldens.zip ./thermion_dart/test/output - name: Upload golden images uses: actions/upload-artifact@v4 with: name: golden-images-${{ github.sha }} path: goldens.zip - name: Upload logs if: failure() || steps.build.outcome == 'failure' uses: actions/upload-artifact@v4 with: name: build-logs path: | ${{ github.workspace }}/thermion_dart/.dart_tool/thermion_dart/log/build.log retention-days: 5 flutter_examples: name: flutter_examples runs-on: macos-latest defaults: run: working-directory: examples/flutter steps: - uses: actions/checkout@v4 - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: master architecture: ARM64 - run: cd quickstart && flutter pub get && flutter build macos - run: cd quickstart && flutter build web - run: cd picking && flutter pub get && flutter build macos - run: cd picking && flutter build web - 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 # thermion_dart: # name: thermion_dart # runs-on: macos-latest # defaults: # run: # working-directory: thermion_dart # steps: # - uses: actions/checkout@v4 # - name: Set up Flutter # uses: subosito/flutter-action@v2 # with: # channel: master # - run: flutter pub get # - run: dart --enable-experiment=native-assets test -j1 test/light_tests.dart # 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