Re: Cirrus CI (Windows help wanted)

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Cirrus CI (Windows help wanted)
Date: 2021-01-05 12:18:43
Message-ID: 25daee32-00d4-9fa5-bf85-7e65502b6429@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Dolgov 2021-01-05 12:52:30 Re: pg_stat_statements and "IN" conditions
Previous Message Daniele Varrazzo 2021-01-05 12:09:57 Types info on binary copy