Hi,

On Thu, 11 Sept 2025 at 17:55, Jacob Champion
<[email protected]> wrote:
>
> On Thu, Sep 11, 2025 at 7:18 AM Peter Eisentraut <[email protected]> wrote:
> > I don't think we need this level of complication.  We already have the
> > situation that for example "linux" covers several tasks
>
> Recently, I've wished that it were otherwise; if I'm debugging a
> Meson-only test failure in Linux, I don't want to burn credits running
> Autoconf.

I agree with Jacob. I think it would be better if each task had its
own tag. I left it as "vs2019" for now. Also, one problem is that if
we use "windows" for both tasks; then we need to use the
"CI_TRIGGER_TYPE_WINDOWS" variable to make VS 2019 task manually
triggered. However, we should not use this variable in the VS 2022
task because it will be triggered automatically. I think this causes a
bit of confusion.

The PR [1] for 'installing both VS 2022 and VS 2019 to the Windows CI
image' is merged. VS 2019 installation is set to default installation
on the Windows CI image. VS 2022 was the default installation when the
PR was created but then we switched to VS 2019 to be able to commit
this patch any time without depending on the PR.

v3 is attached. I forgot to update the MinGW task's name in the
previous versions, it is done now.

Example CI task: https://cirrus-ci.com/build/4811555264528384

[1] https://github.com/anarazel/pg-vm-images/pull/116

-- 
Regards,
Nazir Bilal Yavuz
Microsoft
From 05d9ae9ce164e7275620d03a1517912287cec1e1 Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <[email protected]>
Date: Mon, 15 Sep 2025 11:08:39 +0300
Subject: [PATCH v3 1/2] ci: Fix Windows and MinGW tasks' namings

They use Windows Server 2022, not 2019.

Author: Nazir Bilal Yavuz <[email protected]>
Discussion: https://postgr.es/m/flat/can55fz1osam+852bmqdj+kgfg+07knj6dm3pjbgbtyak4qw...@mail.gmail.com
---
 .cirrus.tasks.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index eca9d62fc22..12236569c13 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -752,7 +752,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
 
 
 task:
-  name: Windows - Server 2019, VS 2019 - Meson & ninja
+  name: Windows - Server 2022, VS 2019 - Meson & ninja
   << : *WINDOWS_ENVIRONMENT_BASE
 
   env:
@@ -811,7 +811,7 @@ task:
 
 task:
   << : *WINDOWS_ENVIRONMENT_BASE
-  name: Windows - Server 2019, MinGW64 - Meson
+  name: Windows - Server 2022, MinGW64 - Meson
 
   # See REPO_CI_AUTOMATIC_TRIGGER_TASKS in .cirrus.star.
   trigger_type: $CI_TRIGGER_TYPE_MINGW
-- 
2.51.0

From 6f0f801e9e0b24682a537b78c9da4afcd25cdc41 Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <[email protected]>
Date: Thu, 4 Sep 2025 17:20:18 +0300
Subject: [PATCH v3 2/2] ci: windows: Default to VS 2022, run VS 2019 task
 manually

Both VS 2019 and VS 2022 are available on the Windows image [1], but
since VS 2022 is the latest version, make it the default. The VS 2019
task is still available but must be triggered manually.

[1] https://github.com/anarazel/pg-vm-images/pull/116

Author: Nazir Bilal Yavuz <[email protected]>
Discussion: https://postgr.es/m/flat/can55fz1osam+852bmqdj+kgfg+07knj6dm3pjbgbtyak4qw...@mail.gmail.com
---
 .cirrus.star      |  3 ++-
 .cirrus.tasks.yml | 14 ++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/.cirrus.star b/.cirrus.star
index e9bb672b959..cecd9bb026c 100644
--- a/.cirrus.star
+++ b/.cirrus.star
@@ -73,7 +73,7 @@ def compute_environment_vars():
     # REPO_CI_AUTOMATIC_TRIGGER_TASKS="task_name other_task" under "Repository
     # Settings" on Cirrus CI's website.
 
-    default_manual_trigger_tasks = ['mingw', 'netbsd', 'openbsd']
+    default_manual_trigger_tasks = ['mingw', 'netbsd', 'openbsd', 'vs2019']
 
     repo_ci_automatic_trigger_tasks = env.get('REPO_CI_AUTOMATIC_TRIGGER_TASKS', '')
     for task in default_manual_trigger_tasks:
@@ -103,6 +103,7 @@ def compute_environment_vars():
       'netbsd',
       'openbsd',
       'sanitycheck',
+      'vs2019',
       'windows',
     ]
     commit_message = env.get('CIRRUS_CHANGE_MESSAGE')
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index 12236569c13..1c947874ae2 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -752,7 +752,6 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
 
 
 task:
-  name: Windows - Server 2022, VS 2019 - Meson & ninja
   << : *WINDOWS_ENVIRONMENT_BASE
 
   env:
@@ -775,10 +774,21 @@ task:
       -Dplperl=enabled
       -Dplpython=enabled
 
+  matrix:
+    - name: Windows - Server 2022, VS 2022 - Meson & ninja
+      env:
+        # Use VS 2022
+        PATH: C:\VS_2022\VC\Auxiliary\Build;${PATH}
+      only_if: $CI_WINDOWS_ENABLED
+
+    # VS 2019 is the default VS installation
+    - name: Windows - Server 2022, VS 2019 - Meson & ninja
+      trigger_type: $CI_TRIGGER_TYPE_VS2019
+      only_if: $CI_VS2019_ENABLED
+
   <<: *windows_task_template
 
   depends_on: SanityCheck
-  only_if: $CI_WINDOWS_ENABLED
 
   setup_additional_packages_script: |
     REM choco install -y --no-progress ...
-- 
2.51.0

Reply via email to