Skip to content

wip: ci for all platforms #42

wip: ci for all platforms

wip: ci for all platforms #42

Workflow file for this run

name: 'build'
on: [push, pull_request]
jobs:
build:
env:
MSYSTEM: MINGW64
CHERE_INVOKING: 'yes'
MSYS: 'winsymlinks:native'
strategy:
matrix:
include:
- platform: macos-x86_64
runs_on: macos-12
extra_configure_args: "--disable-cocoa --disable-coreaudio"
shell: bash -e {0}
- platform: macos-arm64
runs_on: macos-latest-xlarge
extra_configure_args: "--disable-cocoa --disable-coreaudio"
shell: bash -e {0}
- platform: linux-amd64
runs_on: ubuntu-20.04
# Building with -Werror only on Linux as that breaks some features detection
# in meson on macOS.
extra_configure_args: "--extra-cflags=-Werror --disable-gtk"
shell: bash -e {0}
- platform: win-x86_64
runs_on: windows-2022
extra_configure_args: ""
shell: msys2 {0}
runs-on: ${{ matrix.runs_on }}
steps:
- uses: actions/checkout@v3
- name: Install prerequisites (Linux)
if: ${{ matrix.platform == 'linux-amd64' }}
env:
DEBIAN_FRONTEND: "noninteractive"
run: |
sudo apt-get install -y \
binutils-dev \
ninja-build \
libgcrypt-dev \
libglib2.0-dev \
libpixman-1-dev \
libslirp-dev
- name: Install prerequisites (macOS)
if: ${{ matrix.platform == 'macos-x86_64' }}
run: |
brew install \
ninja \
libgcrypt \
glib \
pixman \
pkg-config
- name: Install prerequisites (Windows)
if : ${{ matrix.platform == 'win-x86_64' }}
uses: msys2/setup-msys2@v2
with:
cache: true
msystem: mingw64
install: >-
mingw-w64-x86_64-python
mingw-w64-x86_64-ninja
mingw-w64-x86_64-gcc
mingw-w64-x86_64-glib2
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-pixman
mingw-w64-x86_64-libgcrypt
mingw-w64-x86_64-libslirp
diffutils git
- name: Configure
shell: ${{ matrix.shell }}

Check failure on line 73 in .github/workflows/build.yml

View workflow run for this annotation

GitHub Actions / build

Invalid workflow file

The workflow is not valid. .github/workflows/build.yml (Line: 73, Col: 16): Unrecognized named-value: 'matrix'. Located at position 1 within expression: matrix.shell .github/workflows/build.yml (Line: 88, Col: 16): Unrecognized named-value: 'matrix'. Located at position 1 within expression: matrix.shell
run: |
./configure \
--prefix=$PWD/install/qemu \
--target-list=xtensa-softmmu \
--with-pkgversion="${{ github.ref_name }}" \
--enable-gcrypt \
--enable-slirp \
--disable-user \
--disable-capstone \
--disable-vnc \
--disable-sdl \
--disable-docs \
${{ matrix.extra_configure_args }}
- name: Build
shell: ${{ matrix.shell }}
run: |
ninja -C build
- name: Package distribution archive
shell: ${{ matrix.shell }}
run: |
ninja -C build install
find install/qemu/share/qemu -maxdepth 1 -mindepth 1 -not -name 'esp*.bin' -exec rm -rf {} \;
mkdir -p dist
export DIST_DIR=${PWD}/dist
export ARCHIVE_NAME=qemu-${{ github.ref_name }}-${{ matrix.platform }}.tar.bz2
cd install
tar cjvf ${DIST_DIR}/${ARCHIVE_NAME} qemu
cd ${DIST_DIR}
shasum -a 256 *.tar.bz2 > ${ARCHIVE_NAME}.sha256