78e38f59fa
There's no need to run a full-blown bash just to create a directory. And we can skip the "cd build" each time by doing it once at the beginning. Additionally, let's exclude some targets (that we already compile-test with MinGW in the gitlab jobs) from the build, since the build time of this task is very long already (between 80 and 90 minutes). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20230208103046.618154-1-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230228190653.1602033-14-alex.bennee@linaro.org>
112 lines
4.5 KiB
YAML
112 lines
4.5 KiB
YAML
env:
|
|
CIRRUS_CLONE_DEPTH: 1
|
|
|
|
windows_msys2_task:
|
|
timeout_in: 90m
|
|
windows_container:
|
|
image: cirrusci/windowsservercore:2019
|
|
os_version: 2019
|
|
cpu: 8
|
|
memory: 8G
|
|
env:
|
|
CIRRUS_SHELL: powershell
|
|
MSYS: winsymlinks:native
|
|
MSYSTEM: MINGW64
|
|
MSYS2_URL: https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-base-x86_64-20220603.sfx.exe
|
|
MSYS2_FINGERPRINT: 0
|
|
MSYS2_PACKAGES: "
|
|
diffutils git grep make pkg-config sed
|
|
mingw-w64-x86_64-python
|
|
mingw-w64-x86_64-python-sphinx
|
|
mingw-w64-x86_64-toolchain
|
|
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-jemalloc
|
|
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-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-libnfs
|
|
"
|
|
CHERE_INVOKING: 1
|
|
msys2_cache:
|
|
folder: C:\tools\archive
|
|
reupload_on_changes: false
|
|
# These env variables are used to generate fingerprint to trigger the cache procedure
|
|
# If wanna to force re-populate msys2, increase MSYS2_FINGERPRINT
|
|
fingerprint_script:
|
|
- |
|
|
echo $env:CIRRUS_TASK_NAME
|
|
echo $env:MSYS2_URL
|
|
echo $env:MSYS2_FINGERPRINT
|
|
echo $env:MSYS2_PACKAGES
|
|
populate_script:
|
|
- |
|
|
md -Force C:\tools\archive\pkg
|
|
$start_time = Get-Date
|
|
bitsadmin /transfer msys_download /dynamic /download /priority FOREGROUND $env:MSYS2_URL C:\tools\archive\base.exe
|
|
Write-Output "Download time taken: $((Get-Date).Subtract($start_time))"
|
|
cd C:\tools
|
|
C:\tools\archive\base.exe -y
|
|
del -Force C:\tools\archive\base.exe
|
|
Write-Output "Base install time taken: $((Get-Date).Subtract($start_time))"
|
|
$start_time = Get-Date
|
|
|
|
((Get-Content -path C:\tools\msys64\etc\\post-install\\07-pacman-key.post -Raw) -replace '--refresh-keys', '--version') | Set-Content -Path C:\tools\msys64\etc\\post-install\\07-pacman-key.post
|
|
C:\tools\msys64\usr\bin\bash.exe -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
|
|
C:\tools\msys64\usr\bin\bash.exe -lc "export"
|
|
C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Sy
|
|
echo Y | C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Suu --overwrite=*
|
|
taskkill /F /FI "MODULES eq msys-2.0.dll"
|
|
tasklist
|
|
C:\tools\msys64\usr\bin\bash.exe -lc "mv -f /etc/pacman.conf.pacnew /etc/pacman.conf || true"
|
|
C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Syuu --overwrite=*"
|
|
Write-Output "Core install time taken: $((Get-Date).Subtract($start_time))"
|
|
$start_time = Get-Date
|
|
|
|
C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed $env:MSYS2_PACKAGES"
|
|
Write-Output "Package install time taken: $((Get-Date).Subtract($start_time))"
|
|
$start_time = Get-Date
|
|
|
|
del -Force -ErrorAction SilentlyContinue C:\tools\msys64\etc\mtab
|
|
del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\fd
|
|
del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stderr
|
|
del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stdin
|
|
del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stdout
|
|
del -Force -Recurse -ErrorAction SilentlyContinue C:\tools\msys64\var\cache\pacman\pkg
|
|
tar cf C:\tools\archive\msys64.tar -C C:\tools\ msys64
|
|
|
|
Write-Output "Package archive time taken: $((Get-Date).Subtract($start_time))"
|
|
del -Force -Recurse -ErrorAction SilentlyContinue c:\tools\msys64
|
|
install_script:
|
|
- |
|
|
$start_time = Get-Date
|
|
cd C:\tools
|
|
ls C:\tools\archive\msys64.tar
|
|
tar xf C:\tools\archive\msys64.tar
|
|
Write-Output "Extract msys2 time taken: $((Get-Date).Subtract($start_time))"
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- C:\tools\msys64\usr\bin\bash.exe -lc "../configure --python=python3
|
|
--target-list-exclude=i386-softmmu,ppc64-softmmu,aarch64-softmmu,mips64-softmmu,mipsel-softmmu,sh4-softmmu"
|
|
- C:\tools\msys64\usr\bin\bash.exe -lc "make -j8"
|
|
- exit $LastExitCode
|
|
test_script:
|
|
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
|
|
- exit $LastExitCode
|