Am 08.09.22 um 15:28 schrieb Bin Meng: > From: Bin Meng > > Now that we have supported packaging DLLs automatically, let's add > the 'make installer' in the CI and publish the generated installer > file as an artifact. > > Increase the job timeout to 90 minutes to accommodate to it. > > Signed-off-by: Bin Meng > --- > > .gitlab-ci.d/windows.yml | 27 +++++++++++++++++++-------- > 1 file changed, 19 insertions(+), 8 deletions(-) > > diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml > index fffb202658..3a94d40e73 100644 > --- a/.gitlab-ci.d/windows.yml > +++ b/.gitlab-ci.d/windows.yml > @@ -10,7 +10,7 @@ > - ${CI_PROJECT_DIR}/msys64/var/cache > needs: [] > stage: build > - timeout: 70m > + timeout: 90m > before_script: > - If ( !(Test-Path -Path msys64\var\cache ) ) { > mkdir msys64\var\cache > @@ -28,6 +28,11 @@ > - .\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" > + artifacts: > + name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" > + expire_in: 7 days > + paths: > + - build/qemu-setup*.exe > > msys2-64bit: > extends: .shared_msys2_builder > @@ -51,6 +56,7 @@ msys2-64bit: > mingw-w64-x86_64-lzo2 > mingw-w64-x86_64-nettle > mingw-w64-x86_64-ninja > + mingw-w64-x86_64-nsis > mingw-w64-x86_64-pixman > mingw-w64-x86_64-pkgconf > mingw-w64-x86_64-python > @@ -60,12 +66,15 @@ msys2-64bit: > 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:MSYSTEM = 'MINGW64' # Start a 64-bit MinGW environment I use Mingw-w64, not MinGW. :-) https://www.mingw-w64.org/ uses inconsistent case, mostly Mingw-w64, but also MinGW-w64. The same confusion exists in the description of the Debian packages, but there MinGW-w64 is more common. So there seems to be no right or wrong. > - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink > - - .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu > + - mkdir build > + - cd build > + - ..\msys64\usr\bin\bash -lc '../configure --target-list=x86_64-softmmu > --enable-capstone --without-default-devices' > - - .\msys64\usr\bin\bash -lc 'make' > - - .\msys64\usr\bin\bash -lc 'make check' > + - ..\msys64\usr\bin\bash -lc 'make' > + - ..\msys64\usr\bin\bash -lc 'make check' > + - ..\msys64\usr\bin\bash -lc 'make installer' > > msys2-32bit: > extends: .shared_msys2_builder > @@ -89,6 +98,7 @@ msys2-32bit: > mingw-w64-i686-lzo2 > mingw-w64-i686-nettle > mingw-w64-i686-ninja > + mingw-w64-i686-nsis > mingw-w64-i686-pixman > mingw-w64-i686-pkgconf > mingw-w64-i686-python > @@ -98,10 +108,11 @@ msys2-32bit: > mingw-w64-i686-usbredir > mingw-w64-i686-zstd " > - $env:CHERE_INVOKING = 'yes' # Preserve the current working directory > - - $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinG environment > + - $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinGW environment > - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink > - - mkdir output > - - cd output > + - mkdir build > + - cd build > - ..\msys64\usr\bin\bash -lc "../configure --target-list=ppc64-softmmu" > - ..\msys64\usr\bin\bash -lc 'make' > - ..\msys64\usr\bin\bash -lc 'make check' > + - ..\msys64\usr\bin\bash -lc 'make installer' Maybe it is sufficient to build only a 64 bit installer. Is there still need for QEMU on 32 bit Windows? For CI, most parts of the NSIS process (which requires a lot of resources) are covered by either 32 or 64 bit builds, so running both might be unnecessary. Regards Stefan