Add build matrix for Linux and macOS workflows #31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| arch: [x64, arm64] | |
| include: | |
| - arch: x64 | |
| runner: macos-15-intel | |
| - arch: arm64 | |
| runner: macos-15 | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - run: brew update | |
| - run: brew install autoconf pyenv sdl2 zlib pixman glib gettext pcre2 | |
| - run: pyenv install 2.7 | |
| - run: | | |
| ./configure \ | |
| --with-coroutine=gthread \ | |
| --disable-werror \ | |
| --disable-mouse \ | |
| --disable-cocoa \ | |
| --enable-debug \ | |
| --enable-sdl \ | |
| --with-sdlabi=2.0 \ | |
| --target-list=arm-softmmu \ | |
| --extra-cflags=-DSTM32_UART_NO_BAUD_DELAY \ | |
| --extra-ldflags=-g \ | |
| --disable-vnc-jpeg \ | |
| --disable-vnc-png \ | |
| --disable-curses \ | |
| --disable-gnutls \ | |
| --disable-nettle \ | |
| --disable-libssh2 \ | |
| --disable-vnc-sasl \ | |
| --disable-gcrypt \ | |
| --disable-bzip2 \ | |
| --disable-lzo \ | |
| --disable-libusb \ | |
| --python=/Users/runner/.pyenv/versions/2.7.18/bin/python | |
| - run: make | |
| # Create lib directory structure with pc-bios and dylibs | |
| - run: | | |
| mkdir -p lib | |
| cp -r pc-bios lib/ | |
| cp $(brew --prefix pixman)/lib/libpixman-1.0.dylib lib/ | |
| cp $(brew --prefix sdl2)/lib/libSDL2-2.0.0.dylib lib/ | |
| cp $(brew --prefix glib)/lib/libgthread-2.0.0.dylib lib/ | |
| cp $(brew --prefix glib)/lib/libglib-2.0.0.dylib lib/ | |
| cp $(brew --prefix gettext)/lib/libintl.8.dylib lib/ | |
| cp $(brew --prefix pcre2)/lib/libpcre2-8.0.dylib lib/ | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: qemu-system-arm-macos-${{ matrix.arch }} | |
| path: arm-softmmu/qemu-system-arm | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: lib-macos-${{ matrix.arch }} | |
| path: lib/ |