public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Nazir Bilal Yavuz <[email protected]>
To: Jelte Fennema-Nio <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Thomas Munro <[email protected]>
Cc: [email protected]
Subject: Re: Heads Up: cirrus-ci is shutting down June 1st
Date: Thu, 28 May 2026 13:49:10 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAN55FZ13uX0cLSbgtSnnFeh5sTLeMr7+8UzmqpU6QjOtrRJTLg@mail.gmail.com>
References: <3ydjipcr7kbss57nvi67noplncqhesl5eyb6wgol4ccjxynspv@yatlykpribmm>
<[email protected]>
<CAN55FZ30Np67cATsqYxF1SsP598VoRv4hJQZ4w9RA3Qe55prnQ@mail.gmail.com>
<CAN55FZ13uX0cLSbgtSnnFeh5sTLeMr7+8UzmqpU6QjOtrRJTLg@mail.gmail.com>
On 25.05.26 14:14, Nazir Bilal Yavuz wrote:
> On Tue, 19 May 2026 at 01:27, Nazir Bilal Yavuz<[email protected]> wrote:
>> I think we can merge these two patches and move forward that way. I am
>> planning to review your patch and see what I can come up with to get
>> it to a committable state.
> Here is the v2, I took Jelte's patch and reviewed & merged it with my
> patch.
I have tested this patch and inspected the output mostly to make sure
that there are no regressions about what features and dependency
versions are being tested (diffed the various logs). I'm proposing a
few minor fixups in the attached patch, but other than that (and what
others have mentioned), this pretty much works well, and I would be
content to proceed with this or whatever state it's on in a few days.
Some comments in detail:
- Others have already mentioned about the potential for this to conflict
with downstream uses of GH Actions. I suggest renaming the file from
ci.yml to something like postgresql-ci.yml, so that there is no file
naming conflict or confusion.
- As was already mentioned, the Linux/Meson job is very long (slow) and
should be split into separate 32/64-bit jobs.
- The job names are too long and get truncated in the UI. This is
especially annoying when the important differentiator like "Autoconf" or
"Meson" gets cut off. I'm proposing some changes to the job names that
make them display better. (Also consider this if you make separate jobs
for 32/64-bit. The usable space is about 20 characters.)
- On macOS, there were some dependency differences:
- readline was not used.
- tcl-tk (version 9) was used instead of tcl-tk@8.
- [email protected] was installed but not actually used in the build.
- zlib version differed.
Maybe the zlib difference is not important and could be ignored.
Also, maybe we don't need to use a versioned python dependency. (We
didn't have one before we switched Cirrus from Homebrew to MacPorts.)
- On macOS, the meson setup output reported a significantly different
sysroot, which was confusing. I think the sysroot is only used if you
build against a system perl/python/tcl, which we don't, so I added an
option to disable the sysroot use. That way, if we do end up making use
of the sysroot, someone is forced to investigate this issue. I don't
know if this makes sense.
- For macOS, I threw in some HOMEBREW_* environment variables to disable
some unnecessary additional output or cleanup steps.
- On Windows/VS, we should install winflexbison3 not winflexbison, to
get an up-to-date version.
- FUTURE: On Windows/VS, we use openssl 1.1, which matches the Cirrus
setup, so it's ok, but the equivalent buildfarm members all use openssl
3.*, so we should consider upgrading that sometime to make that more
consistent.
- On Windows/minGW, I dropped a few packages from the set to be
installed, which didn't seem necessary.
From c1bab3b0809899a0b8fb61cdb398947c8f169a28 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Thu, 28 May 2026 13:20:50 +0200
Subject: [PATCH v2.1.pe] Fixups
- Shorten job names to avoid truncation in UI
- Tweak CompilerWarnings step names
- macOS:
- Add some HOMEBREW_* environment variables to disable unnecessary
steps and output
- Typo cpanm -> cpan
- Install readline tcl-tk@8 zlib for consistency with previous setup
- Disable sysroot
- Use the intended Python version
- Windows VS:
- Install winflexbison3, not winflexbison (old)
- Windows minGW:
- Reduce set of installed packages
---
.github/workflows/ci.yml | 49 +++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6d20068727c..21c4106e603 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -285,7 +285,7 @@ jobs:
# print_stacktraces=1,verbosity=2, duh
# detect_leaks=0: too many uninteresting leak errors in short-lived binaries
linux-autoconf:
- name: Linux - Debian Trixie - Autoconf
+ name: Linux - Debian - Autoconf
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -410,7 +410,7 @@ jobs:
# - Uses io_method=io_uring
# - Uses meson feature autodetection
linux-meson:
- name: Linux - Debian Trixie - Meson
+ name: Linux - Debian - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -570,7 +570,7 @@ jobs:
# - Specifies configuration options that test reading/writing/copying of node trees
# - Specifies debug_parallel_query=regress, to catch related issues during CI
macos:
- name: macOS - Sequoia - Meson
+ name: macOS - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -585,6 +585,12 @@ jobs:
# Fix: Needs to be re-tested for Github Actions.
TEST_JOBS: 8
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_DISPLAY_INSTALL_TIMES: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
+ HOMEBREW_NO_INSTALL_UPGRADE: 1
+ HOMEBREW_NO_UPDATE_REPORT_NEW: 1
+
CCACHE_DIR: ${{ github.workspace }}/ccache_dir
MESON_FEATURES: >-
@@ -642,16 +648,15 @@ jobs:
run: |
brew update
brew install \
- ccache meson openldap [email protected] tcl-tk
- # IPC::Run via cpanm (system perl)
+ ccache meson openldap [email protected] readline tcl-tk@8 zlib
+ # IPC::Run via cpan (system perl)
sudo cpan -T -i IPC::Run IO::Tty
- name: Configure
run: |
# These formulae are keg-only (not symlinked into $(brew --prefix)),
# so pkg-config wouldn't find them via the default search path.
- # lz4, zstd and other non-keg-only deps are picked up automatically.
- for f in openssl@3 icu4c krb5 openldap; do
+ for f in openssl@3 icu4c krb5 openldap readline tcl-tk@8 zlib; do
PKG_CONFIG_PATH="$(brew --prefix $f)/lib/pkgconfig:${PKG_CONFIG_PATH}"
done
export PKG_CONFIG_PATH
@@ -667,6 +672,8 @@ jobs:
--buildtype=debug \
-Dextra_include_dirs="${extra_inc}" \
-Dextra_lib_dirs="${extra_lib}" \
+ -Ddarwin_sysroot=none \
+ -DPYTHON=python3.12 \
${MESON_COMMON_FEATURES} \
${MESON_FEATURES} \
build
@@ -698,7 +705,7 @@ jobs:
windows-vs:
- name: Windows - Server 2022, VS 2022 - Meson & ninja
+ name: Windows - VS - Meson & ninja
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -791,7 +798,7 @@ jobs:
- name: Install dependencies
shell: pwsh
run: |
- choco install -y --no-progress --limitoutput diffutils winflexbison
+ choco install -y --no-progress --limitoutput diffutils winflexbison3
# meson + ninja aren't preinstalled on windows-2022. Install via pip
python -m pip install --upgrade meson ninja
@@ -826,7 +833,7 @@ jobs:
Add-Content c:\Windows\System32\Drivers\etc\hosts "127.0.0.2 pg-loadbalancetest"
Add-Content c:\Windows\System32\Drivers\etc\hosts "127.0.0.3 pg-loadbalancetest"
- - name: Setup sock dir
+ - name: Setup socket directory
shell: cmd
run: mkdir %PG_REGRESS_SOCK_DIR%
@@ -861,7 +868,7 @@ jobs:
windows-mingw:
- name: Windows - Server 2022, MinGW64 - Meson
+ name: Windows - MinGW - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -912,7 +919,6 @@ jobs:
install: >-
git bison flex make diffutils
mingw-w64-ucrt-x86_64-ccache
- mingw-w64-ucrt-x86_64-docbook-xml
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-icu
mingw-w64-ucrt-x86_64-libbacktrace
@@ -923,13 +929,10 @@ jobs:
mingw-w64-ucrt-x86_64-meson
mingw-w64-ucrt-x86_64-perl
mingw-w64-ucrt-x86_64-pkg-config
- mingw-w64-ucrt-x86_64-python-cryptography
- mingw-w64-ucrt-x86_64-python-pip
- mingw-w64-ucrt-x86_64-python-pytest
mingw-w64-ucrt-x86_64-readline
mingw-w64-ucrt-x86_64-zlib
- - name: Install IPC::Run for tap tests
+ - name: Install additional dependencies
shell: msys2 {0}
run: |
# Pin IPC::Run to NJM/IPC-Run-20250809.0; TODDR/IPC-Run-20260322.0
@@ -938,7 +941,7 @@ jobs:
(echo; echo o conf recommends_policy 0; echo notest install NJM/IPC-Run-20250809.0.tar.gz) | cpan
perl -mIPC::Run -e 1
- - name: Setup sock dir
+ - name: Setup socket directory
shell: cmd
run: mkdir %PG_REGRESS_SOCK_DIR%
@@ -1034,7 +1037,7 @@ jobs:
mkdir -p "$CCACHE_DIR"
# gcc, cassert off, dtrace on
- - name: gcc warning + (dtrace)
+ - name: gcc warnings + (dtrace)
if: always()
run: |
./configure \
@@ -1046,7 +1049,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# gcc, cassert on, dtrace off
- - name: gcc warning + (cassert)
+ - name: gcc warnings + (cassert)
if: always()
run: |
./configure \
@@ -1058,7 +1061,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# clang, cassert off, dtrace off
- - name: clang warning
+ - name: clang warnings
if: always()
run: |
./configure \
@@ -1069,7 +1072,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# clang, cassert on, dtrace on
- - name: clang warning + (cassert + dtrace)
+ - name: clang warnings + (cassert + dtrace)
if: always()
run: |
./configure \
@@ -1081,7 +1084,7 @@ jobs:
make -s -j${BUILD_JOBS} clean
make -s -j${BUILD_JOBS} world-bin
- - name: mingw cross compile
+ - name: mingw warnings (cross compilation)
if: always()
run: |
./configure \
@@ -1097,7 +1100,7 @@ jobs:
# Verify docs can be built
###
# XXX: Only do this if there have been changes in doc/ since last build
- - name: Docs build
+ - name: Build documentation
if: always()
run: |
./configure \
--
2.54.0
Attachments:
[text/plain] v2.1.pe-0001-Fixups.patch (7.2K, 2-v2.1.pe-0001-Fixups.patch)
download | inline diff:
From c1bab3b0809899a0b8fb61cdb398947c8f169a28 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Thu, 28 May 2026 13:20:50 +0200
Subject: [PATCH v2.1.pe] Fixups
- Shorten job names to avoid truncation in UI
- Tweak CompilerWarnings step names
- macOS:
- Add some HOMEBREW_* environment variables to disable unnecessary
steps and output
- Typo cpanm -> cpan
- Install readline tcl-tk@8 zlib for consistency with previous setup
- Disable sysroot
- Use the intended Python version
- Windows VS:
- Install winflexbison3, not winflexbison (old)
- Windows minGW:
- Reduce set of installed packages
---
.github/workflows/ci.yml | 49 +++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6d20068727c..21c4106e603 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -285,7 +285,7 @@ jobs:
# print_stacktraces=1,verbosity=2, duh
# detect_leaks=0: too many uninteresting leak errors in short-lived binaries
linux-autoconf:
- name: Linux - Debian Trixie - Autoconf
+ name: Linux - Debian - Autoconf
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -410,7 +410,7 @@ jobs:
# - Uses io_method=io_uring
# - Uses meson feature autodetection
linux-meson:
- name: Linux - Debian Trixie - Meson
+ name: Linux - Debian - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -570,7 +570,7 @@ jobs:
# - Specifies configuration options that test reading/writing/copying of node trees
# - Specifies debug_parallel_query=regress, to catch related issues during CI
macos:
- name: macOS - Sequoia - Meson
+ name: macOS - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -585,6 +585,12 @@ jobs:
# Fix: Needs to be re-tested for Github Actions.
TEST_JOBS: 8
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_DISPLAY_INSTALL_TIMES: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
+ HOMEBREW_NO_INSTALL_UPGRADE: 1
+ HOMEBREW_NO_UPDATE_REPORT_NEW: 1
+
CCACHE_DIR: ${{ github.workspace }}/ccache_dir
MESON_FEATURES: >-
@@ -642,16 +648,15 @@ jobs:
run: |
brew update
brew install \
- ccache meson openldap [email protected] tcl-tk
- # IPC::Run via cpanm (system perl)
+ ccache meson openldap [email protected] readline tcl-tk@8 zlib
+ # IPC::Run via cpan (system perl)
sudo cpan -T -i IPC::Run IO::Tty
- name: Configure
run: |
# These formulae are keg-only (not symlinked into $(brew --prefix)),
# so pkg-config wouldn't find them via the default search path.
- # lz4, zstd and other non-keg-only deps are picked up automatically.
- for f in openssl@3 icu4c krb5 openldap; do
+ for f in openssl@3 icu4c krb5 openldap readline tcl-tk@8 zlib; do
PKG_CONFIG_PATH="$(brew --prefix $f)/lib/pkgconfig:${PKG_CONFIG_PATH}"
done
export PKG_CONFIG_PATH
@@ -667,6 +672,8 @@ jobs:
--buildtype=debug \
-Dextra_include_dirs="${extra_inc}" \
-Dextra_lib_dirs="${extra_lib}" \
+ -Ddarwin_sysroot=none \
+ -DPYTHON=python3.12 \
${MESON_COMMON_FEATURES} \
${MESON_FEATURES} \
build
@@ -698,7 +705,7 @@ jobs:
windows-vs:
- name: Windows - Server 2022, VS 2022 - Meson & ninja
+ name: Windows - VS - Meson & ninja
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -791,7 +798,7 @@ jobs:
- name: Install dependencies
shell: pwsh
run: |
- choco install -y --no-progress --limitoutput diffutils winflexbison
+ choco install -y --no-progress --limitoutput diffutils winflexbison3
# meson + ninja aren't preinstalled on windows-2022. Install via pip
python -m pip install --upgrade meson ninja
@@ -826,7 +833,7 @@ jobs:
Add-Content c:\Windows\System32\Drivers\etc\hosts "127.0.0.2 pg-loadbalancetest"
Add-Content c:\Windows\System32\Drivers\etc\hosts "127.0.0.3 pg-loadbalancetest"
- - name: Setup sock dir
+ - name: Setup socket directory
shell: cmd
run: mkdir %PG_REGRESS_SOCK_DIR%
@@ -861,7 +868,7 @@ jobs:
windows-mingw:
- name: Windows - Server 2022, MinGW64 - Meson
+ name: Windows - MinGW - Meson
needs: [setup, sanity-check]
if: |
!cancelled() &&
@@ -912,7 +919,6 @@ jobs:
install: >-
git bison flex make diffutils
mingw-w64-ucrt-x86_64-ccache
- mingw-w64-ucrt-x86_64-docbook-xml
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-icu
mingw-w64-ucrt-x86_64-libbacktrace
@@ -923,13 +929,10 @@ jobs:
mingw-w64-ucrt-x86_64-meson
mingw-w64-ucrt-x86_64-perl
mingw-w64-ucrt-x86_64-pkg-config
- mingw-w64-ucrt-x86_64-python-cryptography
- mingw-w64-ucrt-x86_64-python-pip
- mingw-w64-ucrt-x86_64-python-pytest
mingw-w64-ucrt-x86_64-readline
mingw-w64-ucrt-x86_64-zlib
- - name: Install IPC::Run for tap tests
+ - name: Install additional dependencies
shell: msys2 {0}
run: |
# Pin IPC::Run to NJM/IPC-Run-20250809.0; TODDR/IPC-Run-20260322.0
@@ -938,7 +941,7 @@ jobs:
(echo; echo o conf recommends_policy 0; echo notest install NJM/IPC-Run-20250809.0.tar.gz) | cpan
perl -mIPC::Run -e 1
- - name: Setup sock dir
+ - name: Setup socket directory
shell: cmd
run: mkdir %PG_REGRESS_SOCK_DIR%
@@ -1034,7 +1037,7 @@ jobs:
mkdir -p "$CCACHE_DIR"
# gcc, cassert off, dtrace on
- - name: gcc warning + (dtrace)
+ - name: gcc warnings + (dtrace)
if: always()
run: |
./configure \
@@ -1046,7 +1049,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# gcc, cassert on, dtrace off
- - name: gcc warning + (cassert)
+ - name: gcc warnings + (cassert)
if: always()
run: |
./configure \
@@ -1058,7 +1061,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# clang, cassert off, dtrace off
- - name: clang warning
+ - name: clang warnings
if: always()
run: |
./configure \
@@ -1069,7 +1072,7 @@ jobs:
make -s -j${BUILD_JOBS} world-bin
# clang, cassert on, dtrace on
- - name: clang warning + (cassert + dtrace)
+ - name: clang warnings + (cassert + dtrace)
if: always()
run: |
./configure \
@@ -1081,7 +1084,7 @@ jobs:
make -s -j${BUILD_JOBS} clean
make -s -j${BUILD_JOBS} world-bin
- - name: mingw cross compile
+ - name: mingw warnings (cross compilation)
if: always()
run: |
./configure \
@@ -1097,7 +1100,7 @@ jobs:
# Verify docs can be built
###
# XXX: Only do this if there have been changes in doc/ since last build
- - name: Docs build
+ - name: Build documentation
if: always()
run: |
./configure \
--
2.54.0
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Heads Up: cirrus-ci is shutting down June 1st
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox