Re: Cirrus CI (Windows help wanted) - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Cirrus CI (Windows help wanted)
Date
Msg-id 25daee32-00d4-9fa5-bf85-7e65502b6429@dunslane.net
Whole thread Raw
In response to Cirrus CI (Windows help wanted)  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Cirrus CI (Windows help wanted)  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
On 1/4/21 10:58 PM, Thomas Munro wrote:
> Hi,
>
> My new favourite CI is Cirrus CI, because it has 4 operating systems,
> generous enough quotas to handle 250+ branches in a single account,
> and public build/test log URLs.  I flipped cfbot.cputube.org (mostly)
> over to that and it seems to work well so far -- fingers crossed.
> I've also been using it for my own development branches that involve
> some systems hacking-heavy work that uses different kernel interfaces
> on all 4 of those OSes.
>
> There's one thing I'm stuck on, though: Windows.  If anyone wants to
> help figure out how to get PostgreSQL to build on Cirrus's Windows,
> I'd be very interested.  To play with this stuff, you need a public
> Github repo, and you need to add Cirrus CI from "Marketplace" (it's
> free for public/open source), and then you add a .cirrus.yml file such
> as https://github.com/macdice/cfbot/blob/master/cirrus/.cirrus.yml to
> the top level of a PostgreSQL branch.  When you push, you should see
> build results on the Github web UI.
>
> For a similar example that works on Windows on another CI, see
> https://github.com/macdice/cfbot/blob/master/appveyor/appveyor.yml
> (note that it also references a couple of other files; it'd be nice to
> be able to do that stuff without the need for separate files, possibly
> by using Power Shell).  That's what cfbot is using for Windows for
> now, which works really well, but it'd be nice to have more
> options/choices.  For another example of Windows builds working on
> another CI, see the Github Actions patch I posted earlier when I was
> considering that for cfbot[1].  I think what's different is that those
> other CIs have images with MSVC on them, but Cirrus wants you to
> figure out how to install the right toolchain yourself (and then, as a
> next step after it's actually working, it also provides a way to
> define what you want in a way that captures the resulting image using
> Docker voodoo, so that you get fast startup times).  Or something.
>
> [1]
https://www.postgresql.org/message-id/flat/CA%2BhUKG%2By_SHVQcU3CPokmJxuHp1niebCjq4XzZizf8SR9ZdQRQ%40mail.gmail.com
>
>

Here's what I use for MS Tools in automated setups, which gives you all
you should need:

    choco install -y --no-progress --limit-output
    visualstudio2019-workload-vctools --package-parameters
    "--includeOptional"

Your PATH adjustment should add this:

    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin

There might be other environment settings needed - see drongo's config on the buildfarm. LMK how you get on.

Constructing an image where you don't have to do that every build would be super nice.


cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: Daniele Varrazzo
Date:
Subject: Types info on binary copy
Next
From: Dmitry Dolgov
Date:
Subject: Re: pg_stat_statements and "IN" conditions