From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Melih Mutlu <m(dot)melihmutlu(at)gmail(dot)com> |
Cc: | Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-hackers(at)postgresql(dot)org, Andrew Dunstan <andrew(at)dunslane(dot)net>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Subject: | Re: Mingw task for Cirrus CI |
Date: | 2022-10-19 03:19:28 |
Message-ID: | 20221019031928.ey2wngo7osayk6og@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2022-10-19 00:23:46 +0300, Melih Mutlu wrote:
> Right, setting CHERE_INVOKING and removing all cd's work and look better.
> Thanks for the suggestion.
Agreed, good idea.
> +
> + env:
> + CCACHE_DIR: C:/msys64/ccache
It's a bit odd to separate the CCACHE_* variables from each other
(e.g. BUILD_DIR is inbetween them)...
> + BUILD_DIR: "%CIRRUS_WORKING_DIR%/build"
> + PYTHONHOME: C:/msys64/ucrt64
Perhaps add a comment explaining that otherwise plpython tests fail?
> + MSYS: winjitdebug
With this src/tools/ci/cores_backtrace.sh shouldn't need to be modified
anymore afaict?
> + CCACHE_SLOPPINESS: pch_defines,time_macros
> + CCACHE_DEPEND: 1
I experimented a bit and it looks like ccache doesn't yet quite work in CI,
but only because the ccache needs to be larger. Looks like we need about
~400MB.
A fully cached build is ~2min
> + configure_script: |
> + %BASH_EXE% -lc "meson setup --buildtype debug -Dcassert=true -Db_pch=true -DTAR=%TAR% build"
With these buildflags the tests take about 23min37s. Using -Og I saw 18min26s,
with -O1 18m57s and with -O2 18m38s. There's obviously a fair bit of variance,
but it looks like we should use -Og. I think we considered that making compile
times too bad before, but it seems kinda ok now, with 11min. -O2 is 13min,
without providing further benefits.
I'd replace --buildtype debug with -Ddebug=true -Doptimization=g.
> + build_script: |
> + %BASH_EXE% -lc "cd %CIRRUS_WORKING_DIR% && ninja -C build"
>
Why do we still need this cd?
> + upload_caches: ccache
> +
> + test_world_script: |
> + %BASH_EXE% -lc "meson test --print-errorlogs --num-processes %TEST_JOBS% -C build"
Seems like this could use %MTEST_ARGS%?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2022-10-19 03:28:06 | Re: thinko in basic_archive.c |
Previous Message | Michael Paquier | 2022-10-19 03:06:04 | Re: Make finding openssl program a configure or meson option |