From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: "Thomas Huth" <thuth@redhat.com>,
qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Cc: Yonggang Luo <luoyonggang@gmail.com>
Subject: Re: [PATCH] gitlab-ci: Test compilation on Windows with MSYS2
Date: Mon, 15 Nov 2021 15:29:35 +0100 [thread overview]
Message-ID: <cba3524e-00d2-08b1-582f-1f31163fecf0@amsat.org> (raw)
In-Reply-To: <20211115140623.104116-1-thuth@redhat.com>
On 11/15/21 15:06, Thomas Huth wrote:
> Gitlab also provides runners with Windows, we can use them to
> test compilation with MSYS2, in both, 64-bit and 32-bit.
>
> However, it takes quite a long time to set up the VM, so to
> stay in the 1h time frame, we can only compile and check one
> target here.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> "make check" recently broke on MSYS2, and nobody noticed since apparently
> hardly anybody looks at the cirrus-CI output ... so here's another try
> to get some more test coverage in this area in the gitlab-CI instead.
> Patch needs to be applied after the "tests/unit/test-smp-parse:
> Make an unified name for the tested machine" patch to get "make check"
> fixed first.
>
> RFC -> v1:
> - Use cache to speed up installation a little bit
> - Add a 32-bit builder, too
>
> .gitlab-ci.d/qemu-project.yml | 1 +
> .gitlab-ci.d/windows.yml | 98 +++++++++++++++++++++++++++++++++++
> 2 files changed, 99 insertions(+)
> create mode 100644 .gitlab-ci.d/windows.yml
>
> diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml
> index b3d79bc429..871262fe0e 100644
> --- a/.gitlab-ci.d/qemu-project.yml
> +++ b/.gitlab-ci.d/qemu-project.yml
> @@ -11,3 +11,4 @@ include:
> - local: '/.gitlab-ci.d/static_checks.yml'
> - local: '/.gitlab-ci.d/custom-runners.yml'
> - local: '/.gitlab-ci.d/cirrus.yml'
> + - local: '/.gitlab-ci.d/windows.yml'
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> new file mode 100644
> index 0000000000..309f7e7fb8
> --- /dev/null
> +++ b/.gitlab-ci.d/windows.yml
> @@ -0,0 +1,98 @@
> +.shared_msys2_builder:
> + tags:
> + - shared-windows
> + - windows
> + - windows-1809
> + cache:
> + key: "${CI_JOB_NAME}-cache"
It would be nice to cache the shared 'before_script' part,
but it doesn't seems trivial; meanwhile this patch works and
is KISS, so:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> + paths:
> + - ${CI_PROJECT_DIR}/msys64/var/cache
> + needs: []
> + stage: build
> + timeout: 70m
> + before_script:
> + - If ( !(Test-Path -Path msys64\var\cache ) ) {
> + mkdir msys64\var\cache
> + }
> + - If ( !(Test-Path -Path msys64\var\cache\msys2.exe ) ) {
> + Invoke-WebRequest
> + "https://github.com/msys2/msys2-installer/releases/download/2021-07-25/msys2-base-x86_64-20210725.sfx.exe"
> + -outfile "msys64\var\cache\msys2.exe"
> + }
> + - msys64\var\cache\msys2.exe -y
> + - ((Get-Content -path .\msys64\etc\\post-install\\07-pacman-key.post -Raw)
> + -replace '--refresh-keys', '--version') |
> + Set-Content -Path ${CI_PROJECT_DIR}\msys64\etc\\post-install\\07-pacman-key.post
> + - .\msys64\usr\bin\bash -lc "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
> + - .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Core update
> + - .\msys64\usr\bin\bash -lc 'pacman --noconfirm -Syuu' # Normal update
> + - taskkill /F /FI "MODULES eq msys-2.0.dll"
> +
> +msys2-64bit:
> + extends: .shared_msys2_builder
> + script:
> + - .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
> + diffutils git grep make sed
> + mingw-w64-x86_64-capstone
[...]
next prev parent reply other threads:[~2021-11-15 14:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-15 14:06 [PATCH] gitlab-ci: Test compilation on Windows with MSYS2 Thomas Huth
2021-11-15 14:29 ` Philippe Mathieu-Daudé [this message]
2021-11-16 7:05 ` Marc-André Lureau
2021-11-16 8:26 ` Philippe Mathieu-Daudé
2021-11-17 13:52 ` Alex Bennée
2021-11-17 14:44 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cba3524e-00d2-08b1-582f-1f31163fecf0@amsat.org \
--to=f4bug@amsat.org \
--cc=alex.bennee@linaro.org \
--cc=luoyonggang@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).