1.shared_msys2_builder: 2 extends: .base_job_template 3 tags: 4 - shared-windows 5 - windows 6 - windows-1809 7 cache: 8 key: "${CI_JOB_NAME}-cache" 9 paths: 10 - ${CI_PROJECT_DIR}/msys64/var/cache 11 needs: [] 12 stage: build 13 timeout: 80m 14 before_script: 15 - If ( !(Test-Path -Path msys64\var\cache ) ) { 16 mkdir msys64\var\cache 17 } 18 - If ( !(Test-Path -Path msys64\var\cache\msys2.exe ) ) { 19 Invoke-WebRequest 20 "https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-base-x86_64-20220603.sfx.exe" 21 -outfile "msys64\var\cache\msys2.exe" 22 } 23 - msys64\var\cache\msys2.exe -y 24 - ((Get-Content -path .\msys64\etc\\post-install\\07-pacman-key.post -Raw) 25 -replace '--refresh-keys', '--version') | 26 Set-Content -Path ${CI_PROJECT_DIR}\msys64\etc\\post-install\\07-pacman-key.post 27 - .\msys64\usr\bin\bash -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf" 28 - .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Core update 29 - .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Normal update 30 - taskkill /F /FI "MODULES eq msys-2.0.dll" 31 32msys2-64bit: 33 extends: .shared_msys2_builder 34 script: 35 - .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed 36 bison diffutils flex 37 git grep make sed 38 mingw-w64-x86_64-capstone 39 mingw-w64-x86_64-curl 40 mingw-w64-x86_64-cyrus-sasl 41 mingw-w64-x86_64-dtc 42 mingw-w64-x86_64-gcc 43 mingw-w64-x86_64-glib2 44 mingw-w64-x86_64-gnutls 45 mingw-w64-x86_64-gtk3 46 mingw-w64-x86_64-libgcrypt 47 mingw-w64-x86_64-libjpeg-turbo 48 mingw-w64-x86_64-libnfs 49 mingw-w64-x86_64-libpng 50 mingw-w64-x86_64-libssh 51 mingw-w64-x86_64-libtasn1 52 mingw-w64-x86_64-libusb 53 mingw-w64-x86_64-lzo2 54 mingw-w64-x86_64-nettle 55 mingw-w64-x86_64-ninja 56 mingw-w64-x86_64-pixman 57 mingw-w64-x86_64-pkgconf 58 mingw-w64-x86_64-python 59 mingw-w64-x86_64-SDL2 60 mingw-w64-x86_64-SDL2_image 61 mingw-w64-x86_64-snappy 62 mingw-w64-x86_64-spice 63 mingw-w64-x86_64-usbredir 64 mingw-w64-x86_64-zstd " 65 - $env:CHERE_INVOKING = 'yes' # Preserve the current working directory 66 - $env:MSYSTEM = 'MINGW64' # Start a 64-bit MinGW environment 67 - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink 68 - mkdir output 69 - cd output 70 # Note: do not remove "--without-default-devices"! 71 # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices" 72 # changed to compile QEMU with the --without-default-devices switch 73 # for the msys2 64-bit job, due to the build could not complete within 74 # the project timeout. 75 - ..\msys64\usr\bin\bash -lc '../configure --target-list=x86_64-softmmu 76 --without-default-devices --enable-fdt=system' 77 - ..\msys64\usr\bin\bash -lc 'make' 78 # qTests don't run successfully with "--without-default-devices", 79 # so let's exclude the qtests from CI for now. 80 - ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest\" || { cat meson-logs/testlog.txt; exit 1; } ;' 81 82msys2-32bit: 83 extends: .shared_msys2_builder 84 script: 85 - .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed 86 bison diffutils flex 87 git grep make sed 88 mingw-w64-i686-capstone 89 mingw-w64-i686-curl 90 mingw-w64-i686-cyrus-sasl 91 mingw-w64-i686-dtc 92 mingw-w64-i686-gcc 93 mingw-w64-i686-glib2 94 mingw-w64-i686-gnutls 95 mingw-w64-i686-gtk3 96 mingw-w64-i686-libgcrypt 97 mingw-w64-i686-libjpeg-turbo 98 mingw-w64-i686-libnfs 99 mingw-w64-i686-libpng 100 mingw-w64-i686-libssh 101 mingw-w64-i686-libtasn1 102 mingw-w64-i686-libusb 103 mingw-w64-i686-lzo2 104 mingw-w64-i686-nettle 105 mingw-w64-i686-ninja 106 mingw-w64-i686-pixman 107 mingw-w64-i686-pkgconf 108 mingw-w64-i686-python 109 mingw-w64-i686-SDL2 110 mingw-w64-i686-SDL2_image 111 mingw-w64-i686-snappy 112 mingw-w64-i686-spice 113 mingw-w64-i686-usbredir 114 mingw-w64-i686-zstd " 115 - $env:CHERE_INVOKING = 'yes' # Preserve the current working directory 116 - $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinGW environment 117 - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink 118 - mkdir output 119 - cd output 120 - ..\msys64\usr\bin\bash -lc '../configure --target-list=ppc64-softmmu 121 --enable-fdt=system' 122 - ..\msys64\usr\bin\bash -lc 'make' 123 - ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest\" || 124 { cat meson-logs/testlog.txt; exit 1; }' 125