diff mbox series

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

Message ID 20201007105518.1019-2-luoyonggang@gmail.com
State New
Headers show
Series Improve cirrus msys2 | expand

Commit Message

罗勇刚(Yonggang Luo) Oct. 7, 2020, 10:55 a.m. UTC
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(-)

Comments

罗勇刚(Yonggang Luo) Oct. 7, 2020, 10:58 a.m. UTC | #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
<div dir="ltr">The building result are at <div><a href="https://cirrus-ci.com/task/4899553256144896">https://cirrus-ci.com/task/4899553256144896</a><br><br>On Wed, Oct 7, 2020 at 6:55 PM Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com">luoyonggang@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; Use cache of cirrus caching msys2<br>&gt; The install of msys2 are refer to <a href="https://github.com/msys2/setup-msys2">https://github.com/msys2/setup-msys2</a><br>&gt; The first time install msys2 would be time consuming, so increase timeout_in to 90m<br>&gt; according to <a href="https://cirrus-ci.org/faq/#instance-timed-out">https://cirrus-ci.org/faq/#instance-timed-out</a><br>&gt;<br>&gt; Apply patch of <a href="https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg00072.html">https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg00072.html</a><br>&gt;<br>&gt; Signed-off-by: Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com">luoyonggang@gmail.com</a>&gt;<br>&gt; ---<br>&gt;  .cirrus.yml | 104 +++++++++++++++++++++++++++++-----------------------<br>&gt;  1 file changed, 59 insertions(+), 45 deletions(-)<br>&gt;<br>&gt; diff --git a/.cirrus.yml b/.cirrus.yml<br>&gt; index d58782ce67..b58fb63521 100644<br>&gt; --- a/.cirrus.yml<br>&gt; +++ b/.cirrus.yml<br>&gt; @@ -46,64 +46,78 @@ macos_xcode_task:<br>&gt;      - gmake check<br>&gt;<br>&gt;  windows_msys2_task:<br>&gt; +  timeout_in: 90m<br>&gt;    windows_container:<br>&gt; -    image: cirrusci/windowsservercore:cmake<br>&gt; +    image: cirrusci/windowsservercore:2019<br>&gt;      os_version: 2019<br>&gt;      cpu: 8<br>&gt;      memory: 8G<br>&gt;    env:<br>&gt; +    CIRRUS_SHELL: powershell<br>&gt;      MSYS: winsymlinks:nativestrict<br>&gt;      MSYSTEM: MINGW64<br>&gt;      CHERE_INVOKING: 1<br>&gt; -  printenv_script:<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &#39;printenv&#39;<br>&gt; +  msys2_cache:<br>&gt; +      folder: C:\tools\msys64<br>&gt; +      reupload_on_changes: false<br>&gt; +      fingerprint_script: cat .cirrus.yml<br>&gt; +      populate_script:<br>&gt; +        - |<br>&gt; +          Write-Output $env:PATH<br>&gt; +          md C:\tools<br>&gt; +          $start_time = Get-Date<br>&gt; +          cd C:\tools<br>&gt; +          bitsadmin /transfer msys_download /dynamic /download /priority FOREGROUND <a href="https://github.com/msys2/msys2-installer/releases/download/2020-09-03/msys2-base-x86_64-20200903.sfx.exe">https://github.com/msys2/msys2-installer/releases/download/2020-09-03/msys2-base-x86_64-20200903.sfx.exe</a> C:\tools\base.exe<br>&gt; +          Write-Output &quot;Download time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)&quot;<br>&gt; +          C:\tools\base.exe -y<br>&gt; +          ((Get-Content -path C:\tools\msys64\etc\\post-install\\<a href="http://07-pacman-key.post">07-pacman-key.post</a> -Raw) -replace &#39;--refresh-keys&#39;, &#39;--version&#39;) | Set-Content -Path C:\tools\msys64\etc\\post-install\\<a href="http://07-pacman-key.post">07-pacman-key.post</a><br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;sed -i &#39;s/^CheckSpace/#CheckSpace/g&#39; /etc/pacman.conf&quot;<br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;export&quot;<br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;grep -rl &#39;<a href="http://repo.msys2.org/">repo.msys2.org/</a>&#39; /etc/pacman.d/mirrorlist.* | xargs sed -i &#39;s/<a href="http://repo.msys2.org">repo.msys2.org</a>\//<a href="http://mirrors.tuna.tsinghua.edu.cn">mirrors.tuna.tsinghua.edu.cn</a>\/msys2\//g&#39;&quot;<br>&gt; +          C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Sy<br>&gt; +          echo Y | C:\tools\msys64\usr\bin\pacman.exe --noconfirm -Suu --overwrite &#39;*&#39;<br>&gt; +          taskkill /F /FI &quot;MODULES eq msys-2.0.dll&quot;<br>&gt; +          tasklist<br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;mv -f /etc/pacman.conf.pacnew /etc/pacman.conf || true&quot;<br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -Suu --overwrite &#39;*&#39;&quot;<br>&gt; +          C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -S --needed \<br>&gt; +            diffutils git grep make pkg-config sed \<br>&gt; +            mingw-w64-x86_64-python \<br>&gt; +            mingw-w64-x86_64-python-setuptools \<br>&gt; +            mingw-w64-x86_64-toolchain \<br>&gt; +            mingw-w64-x86_64-SDL2 \<br>&gt; +            mingw-w64-x86_64-SDL2_image \<br>&gt; +            mingw-w64-x86_64-gtk3 \<br>&gt; +            mingw-w64-x86_64-glib2 \<br>&gt; +            mingw-w64-x86_64-ninja \<br>&gt; +            mingw-w64-x86_64-jemalloc \<br>&gt; +            mingw-w64-x86_64-lzo2 \<br>&gt; +            mingw-w64-x86_64-zstd \<br>&gt; +            mingw-w64-x86_64-libjpeg-turbo \<br>&gt; +            mingw-w64-x86_64-pixman \<br>&gt; +            mingw-w64-x86_64-libgcrypt \<br>&gt; +            mingw-w64-x86_64-libpng \<br>&gt; +            mingw-w64-x86_64-libssh \<br>&gt; +            mingw-w64-x86_64-libxml2 \<br>&gt; +            mingw-w64-x86_64-snappy \<br>&gt; +            mingw-w64-x86_64-libusb \<br>&gt; +            mingw-w64-x86_64-usbredir \<br>&gt; +            mingw-w64-x86_64-libtasn1 \<br>&gt; +            mingw-w64-x86_64-nettle \<br>&gt; +            mingw-w64-x86_64-cyrus-sasl \<br>&gt; +            mingw-w64-x86_64-curl \<br>&gt; +            mingw-w64-x86_64-gnutls \<br>&gt; +            &quot;<br>&gt;    install_script:<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd /c/tools &amp;&amp;<br>&gt; -        curl -O <a href="http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz">http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz</a>&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd /c/tools &amp;&amp;<br>&gt; -        curl -O <a href="http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig">http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig</a>&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd /c/tools &amp;&amp;<br>&gt; -        pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -Sy&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -S --needed<br>&gt; -        bash pacman pacman-mirrors msys2-runtime&quot;<br>&gt; -    - taskkill /F /IM gpg-agent.exe<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -Su&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;pacman --noconfirm -S --needed<br>&gt; -        base-devel<br>&gt; -        git<br>&gt; -        mingw-w64-x86_64-python<br>&gt; -        mingw-w64-x86_64-python-setuptools<br>&gt; -        mingw-w64-x86_64-toolchain<br>&gt; -        mingw-w64-x86_64-capstone<br>&gt; -        mingw-w64-x86_64-SDL2<br>&gt; -        mingw-w64-x86_64-SDL2_image<br>&gt; -        mingw-w64-x86_64-gtk3<br>&gt; -        mingw-w64-x86_64-glib2<br>&gt; -        mingw-w64-x86_64-ninja<br>&gt; -        mingw-w64-x86_64-make<br>&gt; -        mingw-w64-x86_64-lzo2<br>&gt; -        mingw-w64-x86_64-zstd<br>&gt; -        mingw-w64-x86_64-libjpeg-turbo<br>&gt; -        mingw-w64-x86_64-pixman<br>&gt; -        mingw-w64-x86_64-libgcrypt<br>&gt; -        mingw-w64-x86_64-libpng<br>&gt; -        mingw-w64-x86_64-libssh<br>&gt; -        mingw-w64-x86_64-libxml2<br>&gt; -        mingw-w64-x86_64-snappy<br>&gt; -        mingw-w64-x86_64-libusb<br>&gt; -        mingw-w64-x86_64-usbredir<br>&gt; -        mingw-w64-x86_64-libtasn1<br>&gt; -        mingw-w64-x86_64-nettle<br>&gt; -        mingw-w64-x86_64-cyrus-sasl<br>&gt; -        mingw-w64-x86_64-curl<br>&gt; -        mingw-w64-x86_64-gnutls<br>&gt; -        mingw-w64-x86_64-zstd&quot;<br>&gt; +    - |<br>&gt; +      Write-Output $env:PATH<br>&gt; +      C:\tools\msys64\usr\bin\bash.exe -lc &quot;export&quot;<br>&gt; +<br>&gt;    script:<br>&gt;      - C:\tools\msys64\usr\bin\bash.exe -lc &quot;mkdir build&quot;<br>&gt;      - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd build &amp;&amp; ../configure<br>&gt;        --python=python3 --ninja=ninja<br>&gt;        --target-list-exclude=i386-softmmu,arm-softmmu,ppc-softmmu,mips-softmmu&quot;<br>&gt; -    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd build &amp;&amp; make -j$NUMBER_OF_PROCESSORS&quot;<br>&gt; +    - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd build &amp;&amp; make -j8&quot;<br>&gt;    test_script:<br>&gt;      - C:\tools\msys64\usr\bin\bash.exe -lc &quot;cd build &amp;&amp; make V=1 check&quot;<br>&gt; --<br>&gt; 2.28.0.windows.1<br>&gt;<br><br><br>--<br>         此致<br>礼<br>罗勇刚<br>Yours<br>    sincerely,<br>Yonggang Luo</div></div>
diff mbox series

Patch

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"