cirrus/msys2: Exit powershell with $LastExitCode
[qemu/ar7.git] / .cirrus.yml
blob68b8a8fa9c040fbe4dd33bbdad6e9d26446338d1
1 env:
2   CIRRUS_CLONE_DEPTH: 1
4 freebsd_12_task:
5   freebsd_instance:
6     image_family: freebsd-12-1
7     cpu: 8
8     memory: 8G
9   install_script:
10     - ASSUME_ALWAYS_YES=yes pkg bootstrap -f ;
11     - pkg install -y bash curl cyrus-sasl git glib gmake gnutls gsed
12           nettle perl5 pixman pkgconf png usbredir ninja
13   script:
14     - mkdir build
15     - cd build
16     - ../configure --enable-werror || { cat config.log meson-logs/meson-log.txt; exit 1; }
17     - gmake -j$(sysctl -n hw.ncpu)
18     - gmake -j$(sysctl -n hw.ncpu) check V=1
20 macos_task:
21   osx_instance:
22     image: catalina-base
23   install_script:
24     - brew install pkg-config python gnu-sed glib pixman make sdl2 bash ninja
25   script:
26     - mkdir build
27     - cd build
28     - ../configure --python=/usr/local/bin/python3 --enable-werror
29                    --extra-cflags='-Wno-error=deprecated-declarations'
30                    || { cat config.log meson-logs/meson-log.txt; exit 1; }
31     - gmake -j$(sysctl -n hw.ncpu)
32     - gmake check-unit V=1
33     - gmake check-block V=1
34     - gmake check-qapi-schema V=1
35     - gmake check-softfloat V=1
36     - gmake check-qtest-x86_64 V=1
38 macos_xcode_task:
39   osx_instance:
40     # this is an alias for the latest Xcode
41     image: catalina-xcode
42   install_script:
43     - brew install pkg-config gnu-sed glib pixman make sdl2 bash ninja
44   script:
45     - mkdir build
46     - cd build
47     - ../configure --extra-cflags='-Wno-error=deprecated-declarations' --enable-modules
48                    --enable-werror --cc=clang || { cat config.log meson-logs/meson-log.txt; exit 1; }
49     - gmake -j$(sysctl -n hw.ncpu)
50     - gmake check-unit V=1
51     - gmake check-block V=1
52     - gmake check-qapi-schema V=1
53     - gmake check-softfloat V=1
54     - gmake check-qtest-x86_64 V=1
56 windows_msys2_task:
57   timeout_in: 90m
58   windows_container:
59     image: cirrusci/windowsservercore:2019
60     os_version: 2019
61     cpu: 8
62     memory: 8G
63   env:
64     CIRRUS_SHELL: powershell
65     MSYS: winsymlinks:nativestrict
66     MSYSTEM: MINGW64
67     CHERE_INVOKING: 1
68   setup_script:
69     - choco install -y --no-progress 7zip
70     - Write-Output $env:PATH
71   msys2_cache:
72     folder: C:\tools\archive
73     reupload_on_changes: false
74     fingerprint_script: cat .cirrus.yml
75     populate_script:
76       - |
77         md C:\tools
78         md C:\tools\archive
79         $start_time = Get-Date
80         cd C:\tools
81         bitsadmin /transfer msys_download /dynamic /download /priority FOREGROUND https://github.com/msys2/msys2-installer/releases/download/2020-09-03/msys2-base-x86_64-20200903.sfx.exe C:\tools\base.exe
82         Write-Output "Download time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
83         C:\tools\base.exe -y
84         ((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
85         C:\tools\msys64\usr\bin\bash.exe -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
86         C:\tools\msys64\usr\bin\bash.exe -lc "export"
87         C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Sy
88         echo Y | C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Suu --overwrite=*
89         taskkill /F /FI "MODULES eq msys-2.0.dll"
90         tasklist
91         C:\tools\msys64\usr\bin\bash.exe -lc "mv -f /etc/pacman.conf.pacnew /etc/pacman.conf || true"
92         C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Suu --overwrite=*"
93         C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed \
94           diffutils git grep make pkg-config sed \
95           mingw-w64-x86_64-python \
96           mingw-w64-x86_64-toolchain \
97           mingw-w64-x86_64-SDL2 \
98           mingw-w64-x86_64-SDL2_image \
99           mingw-w64-x86_64-gtk3 \
100           mingw-w64-x86_64-glib2 \
101           mingw-w64-x86_64-ninja \
102           mingw-w64-x86_64-jemalloc \
103           mingw-w64-x86_64-lzo2 \
104           mingw-w64-x86_64-zstd \
105           mingw-w64-x86_64-libjpeg-turbo \
106           mingw-w64-x86_64-pixman \
107           mingw-w64-x86_64-libgcrypt \
108           mingw-w64-x86_64-libpng \
109           mingw-w64-x86_64-libssh \
110           mingw-w64-x86_64-libxml2 \
111           mingw-w64-x86_64-snappy \
112           mingw-w64-x86_64-libusb \
113           mingw-w64-x86_64-usbredir \
114           mingw-w64-x86_64-libtasn1 \
115           mingw-w64-x86_64-nettle \
116           mingw-w64-x86_64-cyrus-sasl \
117           mingw-w64-x86_64-curl \
118           mingw-w64-x86_64-gnutls \
119           mingw-w64-x86_64-libnfs \
120           "
121         bitsadmin /transfer msys_download /dynamic /download /priority FOREGROUND `
122           https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-sphinx-2.3.1-1-any.pkg.tar.xz `
123           C:\tools\mingw-w64-x86_64-python-sphinx-2.3.1-1-any.pkg.tar.xz
124         C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -U /c/tools/mingw-w64-x86_64-python-sphinx-2.3.1-1-any.pkg.tar.xz"
125         del C:\tools\mingw-w64-x86_64-python-sphinx-2.3.1-1-any.pkg.tar.xz
126         C:\tools\msys64\usr\bin\bash.exe -lc "rm -rf /var/cache/pacman/pkg/*"
127         cd C:\tools\msys64
128         echo "Start archive"
129         cmd /C "7z a -ttar . -so | 7z a -txz -simsys2-x86_64.tar C:\tools\archive\msys2-x86_64.tar.xz"
130   install_script:
131     - |
132       cd C:\tools
133       cmd /C "7z x C:\tools\archive\msys2-x86_64.tar.xz -so | 7z x -aoa -simsys2-x86_64.tar -ttar -omsys64"
134       C:\tools\msys64\usr\bin\bash.exe -lc "export"
136   script:
137     - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
138     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure --python=python3"
139     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j8"
140     - exit $LastExitCode
141   test_script:
142     - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
143     - exit $LastExitCode