Re: Mingw task for Cirrus CI - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Mingw task for Cirrus CI
Date
Msg-id 20220819023356.GT26426@telsasoft.com
Whole thread Raw
In response to Re: Mingw task for Cirrus CI  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: Mingw task for Cirrus CI
List pgsql-hackers
Inline notes about changes since the last version.

On Thu, Jul 28, 2022 at 05:44:28PM -0500, Justin Pryzby wrote:
> I think the "only_if" should allow separately running one but not both of the
> windows instances, like:
> 
> +  only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~
'.*\nci-os-only:[^\n]*mingw64'
> 
> I'm not sure, but maybe this task should only run "by request", and omit the
> first condition:
> 
> +  only_if: $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*mingw64'

The patch shouldn't say this during development, or else cfbot doesn't run it..
Oops.

> I think it should include something like
> 
> +  setup_additional_packages_script: |
> +    REM C:\msys64\usr\bin\pacman.exe -S --noconfirm ...
> 
> Let's see what others think about those.
> 
> Do you know if this handles logging of crash dumps ?

It does now, although I hardcoded "postgres.exe" ...

> +  setup_additional_packages_script: |
> +    REM C:\msys64\usr\bin\pacman.exe -S --noconfirm busybox

This should include choco, too.

> -        CXXFLAGS='-Og -ggdb'"
> +        CXXFLAGS='-Og -ggdb' && break;
> +        rm -v ${CCACHE_DIR}/configure.cache;
> +        done

I noticed that this doesn't seem to do the right thing with the exit status -
configure can fail without cirrusci noticing, and then the build fails at the
next step.

>  for item in `find "$sourcetree" -name Makefile -print -o -name GNUmakefile -print | grep -v
"$sourcetree/doc/src/sgml/images/"`;do
 
> -    filename=`expr "$item" : "$sourcetree\(.*\)"`
> -    if test ! -f "${item}.in"; then
> -        if cmp "$item" "$buildtree/$filename" >/dev/null 2>&1; then : ; else
> -            ln -fs "$item" "$buildtree/$filename" || exit 1
> -        fi
> -    fi
> +    filename=${item#$sourcetree}
> +    [ -e "$buildtree/$filename" ] && continue

I fixed this to check for ".in" files as intended.

It'd be a lot better if the image didn't take so long to start. :(

-- 
Justin

Attachment

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Cirrus CI (Windows help wanted)
Next
From: Amit Kapila
Date:
Subject: Re: Perform streaming logical transactions by background workers and parallel apply