eda2321d7f
By using --enable-fdt=system we can make sure that the configure script does not try to check out the "dtc" submodule. This should help to safe some precious CI minutes in the long run. While we're at it, also drop some now-redundant --enable-slirp and --enable-capstone statements. These used to have the "=system" suffix in the past, too, which has been dropped when the their corresponding submodules had been removed. Since these features are auto-enabled anyway now (since the containers have the right libraries installed), we do not need the explicit --enable-... statements anymore. Message-Id: <20230207201447.566661-6-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
123 lines
4.4 KiB
YAML
123 lines
4.4 KiB
YAML
.shared_msys2_builder:
|
|
extends: .base_job_template
|
|
tags:
|
|
- shared-windows
|
|
- windows
|
|
- windows-1809
|
|
cache:
|
|
key: "${CI_JOB_NAME}-cache"
|
|
paths:
|
|
- ${CI_PROJECT_DIR}/msys64/var/cache
|
|
needs: []
|
|
stage: build
|
|
timeout: 80m
|
|
before_script:
|
|
- If ( !(Test-Path -Path msys64\var\cache ) ) {
|
|
mkdir msys64\var\cache
|
|
}
|
|
- If ( !(Test-Path -Path msys64\var\cache\msys2.exe ) ) {
|
|
Invoke-WebRequest
|
|
"https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-base-x86_64-20220603.sfx.exe"
|
|
-outfile "msys64\var\cache\msys2.exe"
|
|
}
|
|
- msys64\var\cache\msys2.exe -y
|
|
- ((Get-Content -path .\msys64\etc\\post-install\\07-pacman-key.post -Raw)
|
|
-replace '--refresh-keys', '--version') |
|
|
Set-Content -Path ${CI_PROJECT_DIR}\msys64\etc\\post-install\\07-pacman-key.post
|
|
- .\msys64\usr\bin\bash -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
|
|
- .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Core update
|
|
- .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Normal update
|
|
- taskkill /F /FI "MODULES eq msys-2.0.dll"
|
|
|
|
msys2-64bit:
|
|
extends: .shared_msys2_builder
|
|
script:
|
|
- .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
|
|
bison diffutils flex
|
|
git grep make sed
|
|
mingw-w64-x86_64-capstone
|
|
mingw-w64-x86_64-curl
|
|
mingw-w64-x86_64-cyrus-sasl
|
|
mingw-w64-x86_64-dtc
|
|
mingw-w64-x86_64-gcc
|
|
mingw-w64-x86_64-glib2
|
|
mingw-w64-x86_64-gnutls
|
|
mingw-w64-x86_64-gtk3
|
|
mingw-w64-x86_64-libgcrypt
|
|
mingw-w64-x86_64-libjpeg-turbo
|
|
mingw-w64-x86_64-libnfs
|
|
mingw-w64-x86_64-libpng
|
|
mingw-w64-x86_64-libssh
|
|
mingw-w64-x86_64-libtasn1
|
|
mingw-w64-x86_64-libusb
|
|
mingw-w64-x86_64-lzo2
|
|
mingw-w64-x86_64-nettle
|
|
mingw-w64-x86_64-ninja
|
|
mingw-w64-x86_64-pixman
|
|
mingw-w64-x86_64-pkgconf
|
|
mingw-w64-x86_64-python
|
|
mingw-w64-x86_64-SDL2
|
|
mingw-w64-x86_64-SDL2_image
|
|
mingw-w64-x86_64-snappy
|
|
mingw-w64-x86_64-usbredir
|
|
mingw-w64-x86_64-zstd "
|
|
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
|
- $env:MSYSTEM = 'MINGW64' # Start a 64-bit MinGW environment
|
|
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
|
|
- mkdir output
|
|
- cd output
|
|
# Note: do not remove "--without-default-devices"!
|
|
# commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
|
|
# changed to compile QEMU with the --without-default-devices switch
|
|
# for the msys2 64-bit job, due to the build could not complete within
|
|
# the project timeout.
|
|
- ..\msys64\usr\bin\bash -lc '../configure --target-list=x86_64-softmmu
|
|
--without-default-devices --enable-fdt=system'
|
|
- ..\msys64\usr\bin\bash -lc 'make'
|
|
# qTests don't run successfully with "--without-default-devices",
|
|
# so let's exclude the qtests from CI for now.
|
|
- ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest\" || { cat meson-logs/testlog.txt; exit 1; } ;'
|
|
|
|
msys2-32bit:
|
|
extends: .shared_msys2_builder
|
|
script:
|
|
- .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
|
|
bison diffutils flex
|
|
git grep make sed
|
|
mingw-w64-i686-capstone
|
|
mingw-w64-i686-curl
|
|
mingw-w64-i686-cyrus-sasl
|
|
mingw-w64-i686-dtc
|
|
mingw-w64-i686-gcc
|
|
mingw-w64-i686-glib2
|
|
mingw-w64-i686-gnutls
|
|
mingw-w64-i686-gtk3
|
|
mingw-w64-i686-libgcrypt
|
|
mingw-w64-i686-libjpeg-turbo
|
|
mingw-w64-i686-libnfs
|
|
mingw-w64-i686-libpng
|
|
mingw-w64-i686-libssh
|
|
mingw-w64-i686-libtasn1
|
|
mingw-w64-i686-libusb
|
|
mingw-w64-i686-lzo2
|
|
mingw-w64-i686-nettle
|
|
mingw-w64-i686-ninja
|
|
mingw-w64-i686-pixman
|
|
mingw-w64-i686-pkgconf
|
|
mingw-w64-i686-python
|
|
mingw-w64-i686-SDL2
|
|
mingw-w64-i686-SDL2_image
|
|
mingw-w64-i686-snappy
|
|
mingw-w64-i686-usbredir
|
|
mingw-w64-i686-zstd "
|
|
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
|
- $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinGW environment
|
|
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
|
|
- mkdir output
|
|
- cd output
|
|
- ..\msys64\usr\bin\bash -lc '../configure --target-list=ppc64-softmmu
|
|
--enable-fdt=system'
|
|
- ..\msys64\usr\bin\bash -lc 'make'
|
|
- ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest\" ||
|
|
{ cat meson-logs/testlog.txt; exit 1; }'
|