1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

ci: Generate crashlogs on Windows

This configures cdb.exe to log all crashes to
"<workspace>\crashlogs\crashlog-<pid-in-hex>.txt" (as it was previously set up
for cirrus-ci based CI). The upload logs step already collects these logs.

The logic is copied from the generation of Postgres CI Windows images for
cirrus-ci [1].  Since this would be too long to include inline in pg-ci.yml,
it is implemented as 'src/tools/ci/gha_setup_windows_debugger.ps1' script.

[1] https://github.com/anarazel/pg-vm-images/blob/main/scripts/windows_install_dbg.ps1

Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAN55FZ1BgsXSTzOpehnMa4NzWL8Aivsxx-di7-VT6bZ3j2Omow%40mail.gmail.com
Discussion: https://postgr.es/m/iggjozfshwbqpv33x5jqwtju5k5zrkyu3257dlifxkhtpg7eoq@k2ccyrdi5dtu
Backpatch-through: 19, where GHA CI was added
This commit is contained in:
Andres Freund
2026-07-17 11:43:52 -04:00
parent cce2bbbfd3
commit 3601be26b3
2 changed files with 82 additions and 6 deletions

View File

@@ -990,6 +990,11 @@ jobs:
shell: cmd
run: mkdir ${{env.PG_REGRESS_SOCK_DIR}}
- &windows_setup_debugger_step
name: Setup Windows debugger
shell: pwsh
run: src/tools/ci/gha_setup_windows_debugger.ps1
- name: Configure
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
@@ -1019,9 +1024,6 @@ jobs:
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
run: *meson_test_world_cmd
# TODO: We need to collect crashlogs but for them to be generated, we'd
# have to configure the JIT Debugger to do so. cdb.exe is installed on
# the runner so that is possible.
- *upload_logs_step
@@ -1116,6 +1118,8 @@ jobs:
shell: cmd
run: mkdir ${{env.PG_REGRESS_SOCK_DIR}}
- *windows_setup_debugger_step
- *ccache_restore_default_step
- *ccache_restore_branch_step
@@ -1138,9 +1142,6 @@ jobs:
- name: Test world
run: *meson_test_world_cmd
# TODO: We want to include crashlogs, but they are not yet
# collected. cdb.exe is installed on the runner, so we can configure it
# appropriately.
- *upload_logs_step