ci: Enable msys2 ci in cirrus

Install msys2 in a proper way refer to:
 https://github.com/cirruslabs/cirrus-ci-docs/issues/699
The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be updated.
There is no need of --cross-prefix, open mingw64.exe instead of msys2.exe then
we don't need the --cross-prefix, besides we use environment variable settings:
    MSYS: winsymlinks:nativestrict
    MSYSTEM: MINGW64
    CHERE_INVOKING: 1
to opening mingw64 native shell.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200915121318.247-25-luoyonggang@gmail.com>
[thuth: Add --target-list-exclude to speed it up a little bit, and
        add capstone package to avoid build failure with internal capstone]
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Yonggang Luo 2020-09-15 20:13:16 +08:00 committed by Thomas Huth
parent 61d9282cdc
commit b1788880ba

View File

@ -63,3 +63,66 @@ macos_xcode_task:
--enable-werror --cc=clang || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check
windows_msys2_task:
windows_container:
image: cirrusci/windowsservercore:cmake
os_version: 2019
cpu: 8
memory: 8G
env:
MSYS: winsymlinks:nativestrict
MSYSTEM: MINGW64
CHERE_INVOKING: 1
printenv_script:
- C:\tools\msys64\usr\bin\bash.exe -lc 'printenv'
install_script:
- C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
- C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Sy"
- C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
bash pacman pacman-mirrors msys2-runtime"
- taskkill /F /IM gpg-agent.exe
- C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su"
- C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
base-devel
git
mingw-w64-x86_64-python
mingw-w64-x86_64-python-setuptools
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-capstone
mingw-w64-x86_64-SDL2
mingw-w64-x86_64-SDL2_image
mingw-w64-x86_64-gtk3
mingw-w64-x86_64-glib2
mingw-w64-x86_64-ninja
mingw-w64-x86_64-make
mingw-w64-x86_64-lzo2
mingw-w64-x86_64-zstd
mingw-w64-x86_64-libjpeg-turbo
mingw-w64-x86_64-pixman
mingw-w64-x86_64-libgcrypt
mingw-w64-x86_64-libpng
mingw-w64-x86_64-libssh
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-snappy
mingw-w64-x86_64-libusb
mingw-w64-x86_64-usbredir
mingw-w64-x86_64-libtasn1
mingw-w64-x86_64-nettle
mingw-w64-x86_64-cyrus-sasl
mingw-w64-x86_64-curl
mingw-w64-x86_64-gnutls
mingw-w64-x86_64-zstd"
script:
- C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure
--python=python3 --ninja=ninja
--target-list-exclude=i386-softmmu,arm-softmmu,ppc-softmmu,mips-softmmu"
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j$NUMBER_OF_PROCESSORS"
test_script:
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"