Subject: Re: [PATCH] ci: update freebsd 12 cirrus job

From: SZEDER Gábor <[email-masked]>
Date: Fri, 13 Aug 2021 11:39:09 +0200

On Thu, Aug 12, 2021 at 01:22:00PM -0700, Carlo Marcelo Arenas Belón wrote:
> make sure it uses a supported OS branch and uses all the resources
> that can be allocated efficiently.
> 
> while only 1GB of memory is needed, 2GB is the minimum for a 2 CPU
> machine (the default), but by increasing parallelism wall time has
> been reduced by 35%.
> 
> Signed-off-by: Carlo Marcelo Arenas Belón <[email-masked]>
> ---
>  .cirrus.yml | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index c2f5fe385a..e114ffee1a 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -2,8 +2,15 @@ env:
>    CIRRUS_CLONE_DEPTH: 1
>  
>  freebsd_12_task:
> +  env:
> +    GIT_PROVE_OPTS: "--timer --jobs 10"

Why these prove options?

On other CI systems we pass 'prove' the option
'--state=failed,slow,save' as well to reduce runtime.  However, this
only works when there is a persistent place for prove's state files,
e.g. the cache feature of Travis CI.  If Cirrus CI lacks a similar
feature, then we can't benefit from this option, but it'd be worth
mentioning in the commit message.

> +    GIT_TEST_OPTS: "--no-chain-lint --no-bin-wrappers"

Why these test options?

chain-linting is done by a mighty sed script; I think it's worth
running it with FreeBSD's 'sed' as well.

Quoting 't/README', '--no-bin-wrappers' "can speed up test runs
especially on platforms where running shell scripts is expensive".  Is
running shell scripts really that expensive on FreeBSD?

OTOH, why are there no options that would show us some information
about test failures, i.e. why no '--verbose-log -x --immediate' like
on other CI systems?

> +    MAKEFLAGS: "-j4"
> +    DEFAULT_TEST_TARGET: prove
> +    DEVELOPER: 1
>    freebsd_instance:
> -    image: freebsd-12-1-release-amd64
> +    image_family: freebsd-12-2
> +    memory: 2G
>    install_script:
>      pkg install -y gettext gmake perl5
>    create_user_script:
> -- 
> 2.33.0.rc1.379.g2890ef5eb6
>