qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 1/2] cirrus: Fixing and speedup the msys2/mingw CI


From: Yonggang Luo
Subject: [PATCH v4 1/2] cirrus: Fixing and speedup the msys2/mingw CI
Date: Wed, 7 Oct 2020 18:55:17 +0800

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]