Use cache of cirrus caching msys2
The install of msys2 are refer to https://github.com/msys2/setup-msys2
The first time install msys2 would be time consuming, so increase timeout_in to 90m
according to https://cirrus-ci.org/faq/#instance-timed-out
Apply patch of https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg00072.html
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
.cirrus.yml | 104 +++++++++++++++++++++++++++++-----------------------
1 file changed, 59 insertions(+), 45 deletions(-)
diff --git a/.cirrus.yml b/.cirrus.yml
index d58782ce67..b58fb63521 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -46,64 +46,78 @@ macos_xcode_task:
- gmake check
windows_msys2_task:
+ timeout_in: 90m
windows_container:
- image: cirrusci/windowsservercore:cmake
+ image: cirrusci/windowsservercore:2019
os_version: 2019
cpu: 8
memory: 8G
env:
+ CIRRUS_SHELL: powershell
MSYS: winsymlinks:nativestrict
MSYSTEM: MINGW64
CHERE_INVOKING: 1
- printenv_script:
- - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv'
+ msys2_cache:
+ folder: C:\tools\msys64
+ reupload_on_changes: false
+ fingerprint_script: cat .cirrus.yml
+ populate_script:
+ - |
+ Write-Output $env:PATH
+ md C:\tools
+ $start_time = Get-Date
+ cd C:\tools
+ 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
+ Write-Output "Download time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
+ C:\tools\base.exe -y
+ ((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\bash.exe -lc "grep -rl 'repo.msys2.org/' /etc/pacman.d/mirrorlist.* | xargs sed -i 's/repo.msys2.org\//mirrors.tuna.tsinghua.edu.cn\/msys2\//g'"
+ 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 -Suu --overwrite '*'"
+ C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed \
+ diffutils git grep make pkg-config sed \
+ mingw-w64-x86_64-python \
+ mingw-w64-x86_64-python-setuptools \
+ 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-libxml2 \
+ 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 \
+ "
install_script:
- - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
- curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
- curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
- - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
- pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Sy"
- - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
- bash pacman pacman-mirrors msys2-runtime"
- - taskkill /F /IM gpg-agent.exe
- - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su"
- - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
- base-devel
- git
- mingw-w64-x86_64-python
- mingw-w64-x86_64-python-setuptools
- mingw-w64-x86_64-toolchain
- mingw-w64-x86_64-capstone
- 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-make
- 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-libxml2
- 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-zstd"
+ - |
+ Write-Output $env:PATH
+ C:\tools\msys64\usr\bin\bash.exe -lc "export"
+
script:
- C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure
--python=python3 --ninja=ninja
--target-list-exclude=i386-softmmu,arm-softmmu,ppc-softmmu,mips-softmmu"
- - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j$NUMBER_OF_PROCESSORS"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j8"
test_script:
- C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
--
2.28.0.windows.1
The building result are at
https://cirrus-ci.com/task/4899553256144896
On Wed, Oct 7, 2020 at 6:55 PM Yonggang Luo <luoyonggang@gmail.com> wrote:
>
> Use cache of cirrus caching msys2
> The install of msys2 are refer to https://github.com/msys2/setup-msys2
> The first time install msys2 would be time consuming, so increase
timeout_in to 90m
> according to https://cirrus-ci.org/faq/#instance-timed-out
>
> Apply patch of
https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg00072.html
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> .cirrus.yml | 104 +++++++++++++++++++++++++++++-----------------------
> 1 file changed, 59 insertions(+), 45 deletions(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index d58782ce67..b58fb63521 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -46,64 +46,78 @@ macos_xcode_task:
> - gmake check
>
> windows_msys2_task:
> + timeout_in: 90m
> windows_container:
> - image: cirrusci/windowsservercore:cmake
> + image: cirrusci/windowsservercore:2019
> os_version: 2019
> cpu: 8
> memory: 8G
> env:
> + CIRRUS_SHELL: powershell
> MSYS: winsymlinks:nativestrict
> MSYSTEM: MINGW64
> CHERE_INVOKING: 1
> - printenv_script:
> - - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv'
> + msys2_cache:
> + folder: C:\tools\msys64
> + reupload_on_changes: false
> + fingerprint_script: cat .cirrus.yml
> + populate_script:
> + - |
> + Write-Output $env:PATH
> + md C:\tools
> + $start_time = Get-Date
> + cd C:\tools
> + 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
> + Write-Output "Download time taken:
$((Get-Date).Subtract($start_time).Seconds) second(s)"
> + C:\tools\base.exe -y
> + ((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\bash.exe -lc "grep -rl 'repo.msys2.org/'
/etc/pacman.d/mirrorlist.* | xargs sed -i 's/repo.msys2.org\//
mirrors.tuna.tsinghua.edu.cn\/msys2\//g'"
> + 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 -Suu
--overwrite '*'"
> + C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S
--needed \
> + diffutils git grep make pkg-config sed \
> + mingw-w64-x86_64-python \
> + mingw-w64-x86_64-python-setuptools \
> + 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-libxml2 \
> + 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 \
> + "
> install_script:
> - - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
> - curl -O
http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
> - curl -O
http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools &&
> - pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Sy"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S
--needed
> - bash pacman pacman-mirrors msys2-runtime"
> - - taskkill /F /IM gpg-agent.exe
> - - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S
--needed
> - base-devel
> - git
> - mingw-w64-x86_64-python
> - mingw-w64-x86_64-python-setuptools
> - mingw-w64-x86_64-toolchain
> - mingw-w64-x86_64-capstone
> - 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-make
> - 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-libxml2
> - 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-zstd"
> + - |
> + Write-Output $env:PATH
> + C:\tools\msys64\usr\bin\bash.exe -lc "export"
> +
> script:
> - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
> - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure
> --python=python3 --ninja=ninja
>
--target-list-exclude=i386-softmmu,arm-softmmu,ppc-softmmu,mips-softmmu"
> - - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make
-j$NUMBER_OF_PROCESSORS"
> + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j8"
> test_script:
> - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
> --
> 2.28.0.windows.1
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
© 2016 - 2026 Red Hat, Inc.