agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
484+ messages / 2 participants
[nested] [flat]

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements
@ 2026-06-03 17:15 Andres Freund <andres@anarazel.de>
  0 siblings, 0 replies; 484+ messages in thread

From: Andres Freund @ 2026-06-03 17:15 UTC (permalink / raw)

---
 .github/workflows/pg-ci.yml | 76 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 40 deletions(-)

diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml
index 72d306feb14..a570b9e2c8d 100644
--- a/.github/workflows/pg-ci.yml
+++ b/.github/workflows/pg-ci.yml
@@ -126,7 +126,10 @@ env:
 
 
 jobs:
-  # Parse "ci-os-only: ..." from the commit message and expose flags
+
+  # Job: Determine enabled jobs
+  #
+  # Parses "ci-os-only: ..." from the commit message and exposes flags
   # consumed by the jobs' `if:` conditions.
   setup:
     name: Determine enabled jobs
@@ -144,6 +147,7 @@ jobs:
       # context is not available.
       container_linux_ci: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI }}
       container_linux_ci_docs: ${{ env.CONTAINER_REPO }}/${{ env.CONTAINER_LINUX_CI_DOCS }}
+
     steps:
       # Anchor reused by other jobs further down. GitHub Actions supports YAML
       # anchors/aliases but not merge keys, so the alias copies the whole step
@@ -180,6 +184,8 @@ jobs:
           cat "$GITHUB_OUTPUT"
 
 
+  # Job: SanityCheck
+  #
   # To avoid unnecessarily spinning up a lot of VMs / containers for entirely
   # broken commits, have a minimal task that all others depend on.
   #
@@ -219,6 +225,7 @@ jobs:
     env:
       # no options enabled, should be small
       CCACHE_MAXSIZE: "150M"
+
     steps:
       - *nix_sysinfo_step
 
@@ -238,7 +245,7 @@ jobs:
             ccache-${{ github.job }}-${{ github.ref_name }}-
             ccache-${{ github.job }}-
 
-      - &linux_prepare_workspace
+      - &linux_prepare_workspace_step
         name: Prepare workspace
         run: |
           useradd -m postgres
@@ -271,7 +278,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: &ninja_build_command |
+        run: &ninja_build_cmd |
           ninja -C build -j${{env.BUILD_JOBS}} ${{env.MBUILD_TARGET}}
           ninja -C build -t missingdeps
 
@@ -312,7 +319,7 @@ jobs:
 
           meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} ${{env.MTEST_TARGET}}
 
-      - &linux_collect_cores
+      - &linux_collect_cores_step
         name: Core backtraces
         if: failure() && !cancelled()
         run: src/tools/ci/cores_backtrace.sh linux /tmp/cores
@@ -333,7 +340,7 @@ jobs:
           if-no-files-found: ignore
 
 
-  # Linux, Autoconf
+  # Job: Linux - Autoconf
   #
   # SPECIAL:
   # - Uses undefined & alignment sanitizers (sanitizer failures are typically
@@ -398,7 +405,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -423,11 +430,11 @@ jobs:
         run: |
           make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 32 bit
+  # Job: Linux - Meson (32-bit)
   #
   # SPECIAL:
   # - Uses undefined behaviour and alignment sanitizers, (sanitizer failures
@@ -458,7 +465,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -474,7 +481,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -515,11 +522,11 @@ jobs:
 
           build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
-  # Linux Meson, 64 bit
+  # Linux - Meson (64-bit)
   #
   # SPECIAL:
   # - Uses address sanitizer, (sanitizer failures are typically printed in the
@@ -546,7 +553,7 @@ jobs:
       - *nix_sysinfo_step
       - *checkout_step
       - *ccache_restore_step
-      - *linux_prepare_workspace
+      - *linux_prepare_workspace_step
 
       - name: Configure
         shell: *su_postgres_shell
@@ -560,7 +567,7 @@ jobs:
 
       - name: Build
         shell: *su_postgres_shell
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -568,10 +575,12 @@ jobs:
         shell: *su_postgres_shell
         run: *meson_test_world_cmd
 
-      - *linux_collect_cores
+      - *linux_collect_cores_step
       - *upload_logs_step
 
 
+  # Job: macOS - Meson
+  #
   # SPECIAL:
   # - Enables --clone for pg_upgrade and pg_combinebackup
   # - Specifies configuration options that test reading/writing/copying of node trees
@@ -628,8 +637,8 @@ jobs:
 
     steps:
       - *nix_sysinfo_step
-
       - *checkout_step
+      - *ccache_restore_step
 
       - name: Setup core files
         run: |
@@ -674,8 +683,6 @@ jobs:
           echo /opt/local/sbin >> "$GITHUB_PATH"
           echo /opt/local/bin >> "$GITHUB_PATH"
 
-      - *ccache_restore_step
-
       - name: Configure
         env:
           PKG_CONFIG_PATH: /opt/local/lib/pkgconfig/
@@ -691,7 +698,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -708,6 +715,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - Visual Studio
   windows-vs:
     name: Windows - Visual Studio
     needs: [setup, sanity-check]
@@ -735,8 +743,9 @@ jobs:
     defaults:
       run:
         shell: cmd
+
     steps:
-      - &windows_disable_defender
+      - &windows_disable_defender_step
         name: Disable Windows Defender
         shell: powershell
         run: |
@@ -821,7 +830,6 @@ jobs:
           if (!$?) { throw 'cmdfail' }
           echo ::endgroup::
 
-
           # Install IPC::Run.
           # - recommends_policy=0 keeps cpan from pulling in IO::Tty / IO::Pty,
           #   which don't build on Windows ("This module requires a POSIX
@@ -879,6 +887,7 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: Windows - MinGW - Meson
   windows-mingw:
     name: Windows - MinGW - Meson
     needs: [setup, sanity-check]
@@ -912,7 +921,7 @@ jobs:
         shell: 'D:\msys64\usr\bin\bash.exe --login -eo pipefail "{0}"'
 
     steps:
-      - *windows_disable_defender
+      - *windows_disable_defender_step
       - *checkout_step
 
       # Relocate the preinstalled MSYS2 tree from C:\ (slow system disk) to
@@ -981,7 +990,7 @@ jobs:
             build
 
       - name: Build
-        run: *ninja_build_command
+        run: *ninja_build_cmd
 
       - *ccache_save_step
 
@@ -993,6 +1002,8 @@ jobs:
       - *upload_logs_step
 
 
+  # Job: CompilerWarnings
+  #
   # Test that code can be built with both gcc and clang without warnings,
   # with various combinations of cassert/dtrace flags. Trace probes have
   # a history of getting accidentally broken; the matrix is there to
@@ -1017,20 +1028,10 @@ jobs:
       # compilers / flag combinations.
       CCACHE_MAXSIZE: "1G"
       DEFAULT_BUILD: world-bin
+
     steps:
-
-      - name: Sysinfo
-        run: |
-          id
-          uname -a
-          cat /proc/cmdline
-          ulimit -a -H && ulimit -a -S
-          gcc -v
-          clang -v
-          env
-
+      - *nix_sysinfo_step
       - *checkout_step
-
       - *ccache_restore_step
 
       - name: Setup workspace
@@ -1055,7 +1056,6 @@ jobs:
           make -s -j${{env.BUILD_JOBS}} clean
           make -s -j${{env.BUILD_JOBS}} ${{env.DEFAULT_BUILD}}
 
-
       # gcc, cassert on, dtrace off
       - name: gcc warnings + (cassert)
         if: ${{ !cancelled() }}
@@ -1065,7 +1065,6 @@ jobs:
           CXX: ccache g++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert off, dtrace off
       - name: clang warnings
         if: ${{ !cancelled() }}
@@ -1075,7 +1074,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       # clang, cassert on, dtrace on
       - name: clang warnings + (cassert + dtrace)
         if: ${{ !cancelled() }}
@@ -1085,7 +1083,6 @@ jobs:
           CXX: ccache clang++
         run: *compiler_warnings_cmd
 
-
       - name: mingw warnings (cross compilation)
         if: ${{ !cancelled() }}
         env:
@@ -1094,7 +1091,6 @@ jobs:
           CXX: ccache x86_64-w64-mingw32ucrt-g++
         run: *compiler_warnings_cmd
 
-
       ###
       # Verify docs can be built
       ###
-- 
2.54.0.380.gc69baaf57b


--lyfxwjjve3vodszg
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9a-0017-ci-Don-t-run-setup-twice.patch"



^ permalink  raw  reply  [nested|flat] 484+ messages in thread

* [PATCH v1] Prevent crash when calling pgstat functions with unregistered stats kind
@ 2026-07-01 05:43 Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
  0 siblings, 0 replies; 484+ messages in thread

From: Bertrand Drouvot @ 2026-07-01 05:43 UTC (permalink / raw)

If a custom statistics extension is loaded via CREATE EXTENSION without
being listed in shared_preload_libraries, its _PG_init() skips the call
to pgstat_register_kind(). The SQL functions are still created, and
calling them invokes pgstat functions with a kind that was never registered.

pgstat_get_kind_info() returns NULL in this case. The existing code only
checked this via Assert() in some paths, so non-assert builds would
dereference NULL and segfault.

Add runtime checks in all public-facing pgstat functions that accept a
PgStat_Kind and dereference the returned kind info:

  - pgstat_prep_pending_entry()
  - pgstat_fetch_entry()
  - pgstat_reset()
  - pgstat_reset_of_kind()
  - pgstat_have_entry()
  - pgstat_snapshot_fixed()
  - pgstat_init_entry()
  - pgstat_reset_entry()

Each now raises ERROR with ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE when
the kind is not known or registered.

This affects any extension using the custom cumulative statistics API
introduced in PG18.

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed-by:
Discussion:
---
 src/backend/utils/activity/pgstat.c       | 45 ++++++++++++++++++++---
 src/backend/utils/activity/pgstat_shmem.c | 13 ++++++-
 2 files changed, 52 insertions(+), 6 deletions(-)
 100.0% src/backend/utils/activity/

diff --git a/src/backend/utils/activity/pgstat.c b/src/backend/utils/activity/pgstat.c
index c4fa14f138f..5180201c4e8 100644
--- a/src/backend/utils/activity/pgstat.c
+++ b/src/backend/utils/activity/pgstat.c
@@ -885,8 +885,13 @@ pgstat_reset(PgStat_Kind kind, Oid dboid, uint64 objid)
 	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
 	TimestampTz ts = GetCurrentTimestamp();
 
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	/* not needed atm, and doesn't make sense with the current signature */
-	Assert(!pgstat_get_kind_info(kind)->fixed_amount);
+	Assert(!kind_info->fixed_amount);
 
 	/* reset the "single counter" */
 	pgstat_reset_entry(kind, dboid, objid, ts);
@@ -907,6 +912,11 @@ pgstat_reset_of_kind(PgStat_Kind kind)
 	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
 	TimestampTz ts = GetCurrentTimestamp();
 
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	if (kind_info->fixed_amount)
 		kind_info->reset_all_cb(ts);
 	else
@@ -967,6 +977,11 @@ pgstat_fetch_entry(PgStat_Kind kind, Oid dboid, uint64 objid, bool *may_free)
 	void	   *stats_data;
 	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
 
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	/* should be called from backends */
 	Assert(IsUnderPostmaster || !IsPostmasterEnvironment);
 	Assert(!kind_info->fixed_amount);
@@ -1088,8 +1103,15 @@ pgstat_get_stat_snapshot_timestamp(bool *have_snapshot)
 bool
 pgstat_have_entry(PgStat_Kind kind, Oid dboid, uint64 objid)
 {
+	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
+
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	/* fixed-numbered stats always exist */
-	if (pgstat_get_kind_info(kind)->fixed_amount)
+	if (kind_info->fixed_amount)
 		return true;
 
 	return pgstat_get_entry_ref(kind, dboid, objid, false, NULL) != NULL;
@@ -1104,8 +1126,15 @@ pgstat_have_entry(PgStat_Kind kind, Oid dboid, uint64 objid)
 void
 pgstat_snapshot_fixed(PgStat_Kind kind)
 {
+	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
+
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	Assert(pgstat_is_kind_valid(kind));
-	Assert(pgstat_get_kind_info(kind)->fixed_amount);
+	Assert(kind_info->fixed_amount);
 
 	if (force_stats_snapshot_clear)
 		pgstat_clear_snapshot();
@@ -1310,9 +1339,15 @@ PgStat_EntryRef *
 pgstat_prep_pending_entry(PgStat_Kind kind, Oid dboid, uint64 objid, bool *created_entry)
 {
 	PgStat_EntryRef *entry_ref;
+	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
+
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
 
 	/* need to be able to flush out */
-	Assert(pgstat_get_kind_info(kind)->flush_pending_cb != NULL);
+	Assert(kind_info->flush_pending_cb != NULL);
 
 	if (unlikely(!pgStatPendingContext))
 	{
@@ -1327,7 +1362,7 @@ pgstat_prep_pending_entry(PgStat_Kind kind, Oid dboid, uint64 objid, bool *creat
 
 	if (entry_ref->pending == NULL)
 	{
-		size_t		entrysize = pgstat_get_kind_info(kind)->pending_size;
+		size_t		entrysize = kind_info->pending_size;
 
 		Assert(entrysize != (size_t) -1);
 
diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c
index 5ea3f1973f9..4e6a556af93 100644
--- a/src/backend/utils/activity/pgstat_shmem.c
+++ b/src/backend/utils/activity/pgstat_shmem.c
@@ -318,6 +318,11 @@ pgstat_init_entry(PgStat_Kind kind,
 	PgStatShared_Common *shheader;
 	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
 
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
+
 	/*
 	 * Initialize refcount to 1, marking it as valid / not dropped. The entry
 	 * can't be freed before the initialization because it can't be found as
@@ -1127,8 +1132,14 @@ void
 pgstat_reset_entry(PgStat_Kind kind, Oid dboid, uint64 objid, TimestampTz ts)
 {
 	PgStat_EntryRef *entry_ref;
+	const PgStat_KindInfo *kind_info = pgstat_get_kind_info(kind);
+
+	if (unlikely(kind_info == NULL))
+		ereport(ERROR,
+				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+				 errmsg("statistics kind %u is not known or registered", kind)));
 
-	Assert(!pgstat_get_kind_info(kind)->fixed_amount);
+	Assert(!kind_info->fixed_amount);
 
 	entry_ref = pgstat_get_entry_ref(kind, dboid, objid, false, NULL);
 	if (!entry_ref || entry_ref->shared_entry->dropped)
-- 
2.34.1


--jlSGGOUQ0kGWBHE+--





^ permalink  raw  reply  [nested|flat] 484+ messages in thread


end of thread, other threads:[~2026-07-01 05:43 UTC | newest]

Thread overview: 484+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-06-03 17:15 [PATCH v9a 16/22] ci: Formatting, Naming and consistency improvements Andres Freund <andres@anarazel.de>
2026-07-01 05:43 [PATCH v1] Prevent crash when calling pgstat functions with unregistered stats kind Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox