Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
[qemu.git] / .cirrus.yml
blob02c43a074a11ded84e5df9926043f33cd90bd041
1 env:
2   CIRRUS_CLONE_DEPTH: 1
4 windows_msys2_task:
5   timeout_in: 90m
6   windows_container:
7     image: cirrusci/windowsservercore:2019
8     os_version: 2019
9     cpu: 8
10     memory: 8G
11   env:
12     CIRRUS_SHELL: powershell
13     MSYS: winsymlinks:nativestrict
14     MSYSTEM: MINGW64
15     MSYS2_URL: https://github.com/msys2/msys2-installer/releases/download/2021-04-19/msys2-base-x86_64-20210419.sfx.exe
16     MSYS2_FINGERPRINT: 0
17     MSYS2_PACKAGES: "
18       diffutils git grep make pkg-config sed
19       mingw-w64-x86_64-python
20       mingw-w64-x86_64-python-sphinx
21       mingw-w64-x86_64-toolchain
22       mingw-w64-x86_64-SDL2
23       mingw-w64-x86_64-SDL2_image
24       mingw-w64-x86_64-gtk3
25       mingw-w64-x86_64-glib2
26       mingw-w64-x86_64-ninja
27       mingw-w64-x86_64-jemalloc
28       mingw-w64-x86_64-lzo2
29       mingw-w64-x86_64-zstd
30       mingw-w64-x86_64-libjpeg-turbo
31       mingw-w64-x86_64-pixman
32       mingw-w64-x86_64-libgcrypt
33       mingw-w64-x86_64-libpng
34       mingw-w64-x86_64-libssh
35       mingw-w64-x86_64-libxml2
36       mingw-w64-x86_64-snappy
37       mingw-w64-x86_64-libusb
38       mingw-w64-x86_64-usbredir
39       mingw-w64-x86_64-libtasn1
40       mingw-w64-x86_64-nettle
41       mingw-w64-x86_64-cyrus-sasl
42       mingw-w64-x86_64-curl
43       mingw-w64-x86_64-gnutls
44       mingw-w64-x86_64-libnfs
45     "
46     CHERE_INVOKING: 1
47   msys2_cache:
48     folder: C:\tools\archive
49     reupload_on_changes: false
50     # These env variables are used to generate fingerprint to trigger the cache procedure
51     # If wanna to force re-populate msys2, increase MSYS2_FINGERPRINT
52     fingerprint_script:
53       - |
54         echo $env:CIRRUS_TASK_NAME
55         echo $env:MSYS2_URL
56         echo $env:MSYS2_FINGERPRINT
57         echo $env:MSYS2_PACKAGES
58     populate_script:
59       - |
60         md -Force C:\tools\archive\pkg
61         $start_time = Get-Date
62         bitsadmin /transfer msys_download /dynamic /download /priority FOREGROUND $env:MSYS2_URL C:\tools\archive\base.exe
63         Write-Output "Download time taken: $((Get-Date).Subtract($start_time))"
64         cd C:\tools
65         C:\tools\archive\base.exe -y
66         del -Force C:\tools\archive\base.exe
67         Write-Output "Base install time taken: $((Get-Date).Subtract($start_time))"
68         $start_time = Get-Date
70         ((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
71         C:\tools\msys64\usr\bin\bash.exe -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
72         C:\tools\msys64\usr\bin\bash.exe -lc "export"
73         C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Sy
74         echo Y | C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Suu --overwrite=*
75         taskkill /F /FI "MODULES eq msys-2.0.dll"
76         tasklist
77         C:\tools\msys64\usr\bin\bash.exe -lc "mv -f /etc/pacman.conf.pacnew /etc/pacman.conf || true"
78         C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Syuu --overwrite=*"
79         Write-Output "Core install time taken: $((Get-Date).Subtract($start_time))"
80         $start_time = Get-Date
82         C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed $env:MSYS2_PACKAGES"
83         Write-Output "Package install time taken: $((Get-Date).Subtract($start_time))"
84         $start_time = Get-Date
86         del -Force -ErrorAction SilentlyContinue C:\tools\msys64\etc\mtab
87         del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\fd
88         del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stderr
89         del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stdin
90         del -Force -ErrorAction SilentlyContinue C:\tools\msys64\dev\stdout
91         del -Force -Recurse -ErrorAction SilentlyContinue C:\tools\msys64\var\cache\pacman\pkg
92         tar cf C:\tools\archive\msys64.tar -C C:\tools\ msys64
94         Write-Output "Package archive time taken: $((Get-Date).Subtract($start_time))"
95         del -Force -Recurse -ErrorAction SilentlyContinue c:\tools\msys64 
96   install_script:
97     - |
98       $start_time = Get-Date
99       cd C:\tools
100       ls C:\tools\archive\msys64.tar
101       tar xf C:\tools\archive\msys64.tar
102       Write-Output "Extract msys2 time taken: $((Get-Date).Subtract($start_time))"
103   script:
104     - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
105     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure --python=python3"
106     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j8"
107     - exit $LastExitCode
108   test_script:
109     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
110     - exit $LastExitCode