1name: macOS-CI 2on: push 3 4permissions: 5 contents: read 6 7jobs: 8 macOS-CI: 9 strategy: 10 matrix: 11 glx_option: ['dri', 'xlib'] 12 runs-on: macos-11 13 env: 14 GALLIUM_DUMP_CPU: true 15 MESON_EXEC: /Users/runner/Library/Python/3.11/bin/meson 16 steps: 17 - name: Checkout 18 uses: actions/checkout@v3 19 - name: Install Dependencies 20 run: | 21 cat > Brewfile <<EOL 22 brew "bison" 23 brew "expat" 24 brew "gettext" 25 brew "libx11" 26 brew "libxcb" 27 brew "libxdamage" 28 brew "libxext" 29 brew "molten-vk" 30 brew "ninja" 31 brew "pkg-config" 32 brew "python@3.10" 33 EOL 34 35 brew update 36 brew bundle --verbose 37 - name: Install Mako and meson 38 run: pip3 install --user mako meson 39 - name: Configure 40 run: | 41 cat > native_config <<EOL 42 [binaries] 43 llvm-config = '/usr/local/opt/llvm/bin/llvm-config' 44 EOL 45 $MESON_EXEC . build --native-file=native_config -Dmoltenvk-dir=$(brew --prefix molten-vk) -Dbuild-tests=true -Dosmesa=true -Dgallium-drivers=swrast,zink -Dglx=${{ matrix.glx_option }} 46 - name: Build 47 run: $MESON_EXEC compile -C build 48 - name: Test 49 run: $MESON_EXEC test -C build --print-errorlogs 50 - name: Install 51 run: $MESON_EXEC install -C build --destdir $PWD/install 52 - name: 'Upload Artifact' 53 if: always() 54 uses: actions/upload-artifact@v3 55 with: 56 name: macos-${{ matrix.glx_option }}-result 57 path: | 58 build/meson-logs/ 59 install/ 60 retention-days: 5 61