Re: ci: Allow running mingw tests by default via environment variable - Mailing list pgsql-hackers

From Nazir Bilal Yavuz
Subject Re: ci: Allow running mingw tests by default via environment variable
Date
Msg-id CAN55FZ1cY7iFj98F=8WyKvvwesGTVoKs5n95y9GqgNRNotcYbA@mail.gmail.com
Whole thread Raw
In response to Re: ci: Allow running mingw tests by default via environment variable  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-hackers
Hi,

On Tue, 4 Mar 2025 at 03:28, Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Fri, Apr 26, 2024 at 12:02 AM Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:
> > On Sat, 13 Apr 2024 at 05:12, Andres Freund <andres@anarazel.de> wrote:
> > > I propose that we instead run the task automatically if
> > > $REPO_MINGW_TRIGGER_BY_DEFAULT is set, typically in cirrus' per-repository
> > > configuration.
> > >
> > > Unfortunately that's somewhat awkward to do in the cirrus-ci yaml
> > > configuration, the set of conditional expressions supported is very
> > > simplistic.
> > >
> > > To deal with that, I extended .cirrus.star to compute the required environment
> > > variable. If $REPO_MINGW_TRIGGER_BY_DEFAULT is set, CI_MINGW_TRIGGER_TYPE is
> > > set to 'automatic', if not it's 'manual'.
> >
> > Changes look good to me. My only complaint could be using only 'true'
> > for the REPO_MINGW_TRIGGER_BY_DEFAULT, not a possible list of values
> > but this is not important.
>
> Here's a generalised version of 0001.  If you put this in your
> repository settings on Cirrus's website:

Thank you for working on this!

> REPO_CI_AUTOMATIC_TRIGGER_TASKS="mingw netbsd"
>
> ... then it defines:
>
> CI_TRIGGER_TYPE_MINGW=automatic
> CI_TRIGGER_TYPE_NETBSD=automatic
> CI_TRIGGER_TYPE_OPENBSD=manual
>
> The set of tasks that get this treatment is defined by this line in
> .cirrus.star:
>
>     default_manual_trigger_tasks = ['mingw', 'netbsd', 'openbsd']
>
> Then the individual tasks in .cirrus.tasks.yml use those variables:
>
>      - name: NetBSD - Meson
> +      # See REPO_CI_AUTOMATIC_TRIGGER_TASKS in .cirrus.star
> +      trigger_type: $CI_TRIGGER_TYPE_NETBSD

I confirm that this works as expected and LGTM.

> Unfortunately the funky Starlark language doesn't seem to have regular
> expressions, so it's just searching for those substrings without
> contemplating delimiters.  That doesn't seem to be a problem at this
> scale...

You can load 're' and use it as in the v2-0002 but I think what you
did is good enough.

I rebased Andres' v2-0002 on top of recent changes and wrote a small
commit message. v4 is attached.

--
Regards,
Nazir Bilal Yavuz
Microsoft

Attachment

pgsql-hackers by date:

Previous
From: Andreas Karlsson
Date:
Subject: Re: Add assertion for failed alloc to palloc0() and palloc_extended()
Next
From: Przemysław Sztoch
Date:
Subject: encode/decode support for base64url