diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000000..f36b5cae5eeed --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,90 @@ +name: 'build' + +on: [push, pull_request] + +jobs: + # build: + # strategy: + # matrix: + # include: + # - platform: macos-x86_64 + # runs_on: macos-10.15 + # extra_configure_args: "--disable-cocoa --disable-coreaudio" + # - platform: linux-amd64 + # runs_on: ubuntu-18.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" + # runs-on: ${{ matrix.runs_on }} + # steps: + # - uses: actions/checkout@v2 + # - 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 \ + # - name: Install prerequisites (macOS) + # if: ${{ matrix.platform == 'macos-x86_64' }} + # run: | + # brew install \ + # ninja \ + # libgcrypt \ + # glib \ + # pixman \ + # pkg-config + # - name: Configure + # run: | + # ./configure \ + # --prefix=$PWD/install/qemu \ + # --target-list=xtensa-softmmu \ + # --enable-gcrypt \ + # --disable-user \ + # --disable-capstone \ + # --disable-vnc \ + # --disable-sdl \ + # --disable-docs \ + # ${{ matrix.extra_configure_args }} + # - name: Build + # run: | + # ninja -C build + # - name: Package distribution archive + # 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 + + build-win: + env: + CONFIG_OPTS: --target-list=xtensa-softmmu --enable-gcrypt --disable-user --disable-docs --disable-sdl --disable-vnc --disable-gtk + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + - uses: msys2/setup-msys2@v2 + with: + cache: true + msystem: mingw64 + install: >- + mingw-w64-x86_64-python + mingw-w64-x86_64-ninja + - name: Configure + env: + MSYSTEM: MINGW64 + CHERE_INVOKING: 'yes' + MSYS: 'winsymlinks:native' + run: | + mkdir build + cd build + c:\msys64\usr\bin\bash -lc "../configure --python=/mingw64/bin/python3 ${{ env.CONFIG_OPTS }}" + - name: Build + shell: msys2 {0} + run: ninja -C build