• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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