Skip to content

Add build matrix for Linux and macOS workflows #31

Add build matrix for Linux and macOS workflows

Add build matrix for Linux and macOS workflows #31

Workflow file for this run

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/