Hi, On Mon, 8 Sept 2025 at 11:25, Nazir Bilal Yavuz <[email protected]> wrote: > > Example CI task after the PR is merged and 0002 is committed: > https://cirrus-ci.com/build/5976334188412928 (I manually triggered the > VS 2019 task, it will not be run automatically after the 0002 is > committed).
I forgot to update src/tools/ci/README in the v2, v3 is attached. -- Regards, Nazir Bilal Yavuz Microsoft
From f9532eeac988735b02a78847ff6ba5139de546a8 Mon Sep 17 00:00:00 2001 From: Nazir Bilal Yavuz <[email protected]> Date: Thu, 4 Sep 2025 14:47:04 +0300 Subject: [PATCH v3 1/2] Force using Windows CI image with both VS versions installed This patch should not be committed, only for testing! --- .cirrus.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 3f75852e84e..87085266ec2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -74,7 +74,12 @@ default_openbsd_task_template: &openbsd_task_template default_windows_task_template: &windows_task_template env: PLATFORM: windows - <<: *cirrus_community_vm_template + compute_engine_instance: + image_project: pg-ci-images-dev + image: pg-ci-windows-ci-2025-09-08t07-40-48 + platform: $PLATFORM + cpu: $CPUS + disk: $DISK_SIZE # macos workers provided by cirrus-ci -- 2.51.0
From 77ba9eaf85ba2b3304d85caa86ee371541df2c72 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 ++++++++++++-- src/tools/ci/README | 4 ++-- 3 files changed, 16 insertions(+), 5 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 eca9d62fc22..07e32b588ea 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -752,7 +752,6 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE task: - name: Windows - Server 2019, VS 2019 - Meson & ninja << : *WINDOWS_ENVIRONMENT_BASE env: @@ -775,10 +774,21 @@ task: -Dplperl=enabled -Dplpython=enabled + matrix: + - name: Windows - Server 2022, VS 2019 - Meson & ninja + env: + # Use VS 2019 + PATH: C:\VS_2019\VC\Auxiliary\Build;${PATH} + trigger_type: $CI_TRIGGER_TYPE_VS2019 + only_if: $CI_VS2019_ENABLED + + # VS 2022 is the default VS installation + - name: Windows - Server 2022, VS 2022 - Meson & ninja + only_if: $CI_WINDOWS_ENABLED + <<: *windows_task_template depends_on: SanityCheck - only_if: $CI_WINDOWS_ENABLED setup_additional_packages_script: | REM choco install -y --no-progress ... diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..97426096f7a 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -61,7 +61,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|vs2019|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. @@ -92,4 +92,4 @@ credits too quickly. This can be changed on the repository level, e.g. when custom compute resources are configured. The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) +- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd|vs2019) -- 2.51.0
