wip cross linux arm64 2 #64
Workflow file for this run
This file contains 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
name: 'build' | |
on: [push, pull_request] | |
jobs: | |
Build: | |
env: | |
MSYSTEM: MINGW64 | |
CHERE_INVOKING: 'yes' | |
MSYS: 'winsymlinks:native' | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
#- platform: macos-x86_64 | |
# runs_on: macos-12 | |
# extra_configure_args: "--disable-cocoa --disable-coreaudio --python=python3.11" | |
# 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: linux-arm64 | |
runs_on: ubuntu-20.04 | |
# The blank docker-hub image for croossbuild packages instead of the heavy GitHub's one | |
container: ubuntu:20.04 | |
extra_configure_args: "--disable-gtk --cross-prefix=aarch64-linux-gnu-" | |
shell: bash -e {0} | |
# - platform: win-x86_64 | |
# runs_on: windows-2022 | |
# extra_configure_args: "" | |
# shell: msys2 {0} | |
runs-on: ${{ matrix.runs_on }} | |
container: ${{ matrix.container }} | |
defaults: | |
run: | |
shell: ${{ matrix.shell }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install prerequisites (Linux arm64) | |
if: ${{ matrix.platform == 'linux-arm64' }} | |
working-directory: .github/workflows/scripts | |
run: | | |
./prerequisites-cross-linux-arm64.sh | |
# - name: Install prerequisites (Linux x86_64) | |
# if: ${{ matrix.platform == 'linux-amd64' }} | |
# env: | |
# DEBIAN_FRONTEND: "noninteractive" | |
# run: | | |
# sudo apt-get install -y -q --no-install-recommends \ | |
# binutils-dev \ | |
# ninja-build \ | |
# libgcrypt-dev \ | |
# libglib2.0-dev \ | |
# libpixman-1-dev \ | |
# libslirp-dev | |
# - name: Install prerequisites (macOS) | |
# if: ${{ matrix.platform == 'macos-x86_64' || matrix.platform == 'macos-arm64' }} | |
# run: | | |
# brew install \ | |
# ninja \ | |
# libgcrypt \ | |
# glib \ | |
# pixman \ | |
# pkg-config \ | |
# python@3.11 | |
# brew link --overwrite python@3.11 | |
# - 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: Patch meson.build (macOS) | |
# if: ${{ matrix.platform == 'macos-x86_64' || matrix.platform == 'macos-arm64' }} | |
# run: | | |
# sed -i '' "s/project('qemu', \['c'\],/project('qemu', ['c', 'objc'],/" meson.build | |
- name: Configure (Linux arm64) | |
if: ${{ matrix.platform == 'linux-arm64' }} | |
working-directory: .github/workflows/scripts | |
run: | | |
./configure-cross-linux-arm64.sh | |
- 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 |