Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wSKwn-0037Jj-0b for pgsql-hackers@arkaria.postgresql.org; Wed, 27 May 2026 20:33:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wSKwl-009VFA-0F for pgsql-hackers@arkaria.postgresql.org; Wed, 27 May 2026 20:33:48 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wSKwk-009VF1-1u for pgsql-hackers@lists.postgresql.org; Wed, 27 May 2026 20:33:47 +0000 Received: from mail-lj1-x236.google.com ([2a00:1450:4864:20::236]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wSKwj-0000000142H-00OI for pgsql-hackers@postgresql.org; Wed, 27 May 2026 20:33:46 +0000 Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-393c93a0166so112361281fa.2 for ; Wed, 27 May 2026 13:33:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779914023; cv=none; d=google.com; s=arc-20240605; b=FOveeTTC5yDijlSiCaW4g3QSYxRgH0xNQBY2y4n+29nzgiMKJwhnVh1jjCHLDW9ukX uN5nMeClWdAgkEhjUK+BZidoJ8f+AIAvr2vkG+rECB0YS69W08jsZl0lhBF1LoWvLnC/ //y+xs4tlglNblbK/PWjHXIFCzDcqd1Jtrf3L79KSgAY/pMX17NQz1TxpZtDAsp2mPi1 loc75oajuwwmQIoKehNsipzJPO2fWjz4VjUdvUPO13nSDuT00n1Ndol5V57WBdkTBchO 2p4W4GT6o65wiDCpoIRo+rXaXnXhXdELmK01B5r41kTOXrJbHVAJqwJFll9cOEjoYmhV a8Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=qIWaLPsfh74IKZfqoXFs/h+QfxAN5sJcNfAKFbPmzXQ=; fh=xRBHAWv4/wGb0YpeuilCwGOAXqnQMPdR90treInMxoc=; b=e/v8nYq5d4bFEVOda3RSgiTLl6j3aXDIZJIQXtXgo4HTxJO35WK6bYjYNM+wHzibAF pwrqCH6+9nb+gcfUGlN1Ee1LnbYYknRLY1HcFvkWVPPixY+ghGnPTdA86NiuRQzfAcnf ew+1gHth2HHIbd5D38ID0o0xYDUIuAZNQj9lh34Sa1dzOMWfYfGdCMzuit+Y9cD17lwF tHKaFCjL57GjGzAoy212FDPkWDUvQzcErjRSILew7q9gcB48l9lOWAYOrlfVqePznv/w x/F5OlD2Cd9saFyl0L1ArT94rY+vkY0Tdr6OKZYCOF4sCLKgqFiaMxK5Ob6jOKQLVxMR kgOA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1779914023; x=1780518823; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=qIWaLPsfh74IKZfqoXFs/h+QfxAN5sJcNfAKFbPmzXQ=; b=FyztQ9WWLdVUMu/nGHgXGYGaA+XG3+/KVzHy9KuPcZiJIDoIHFq/hGS45D0c77JjKD bDok7OSEZKFw3vYzZfVTPCoUihzjFOCZFte9Ep138idgdHdJrdStPQCIbVNl+/waFWcA KdtHDBZ696OUO7yt5fNcLHECWtQm2/TULla3fmmiEbw0wgDZKXwT5Rmm5miKRbJECeKw FDLFKe3tPoXbVrNAzbV+hpj8J52igSjEMXh51j5CL9PurZ6f8jhM20a1O9QZ/cfO3hq5 e9iy4USu2OL8yQxltAoVByqs5mczFPlt2JWiwgJ4i4a4Johteqz8/Igtoou+AQS9DF/9 vJ2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779914023; x=1780518823; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qIWaLPsfh74IKZfqoXFs/h+QfxAN5sJcNfAKFbPmzXQ=; b=dETiuY09joqAuo2HLWQWUHCgU+qJZKqXoIs+M8LOltZGMv2oPQi0/8Lcdiye3349bk /i5UZAhUWVbnnooLER2pZQaWnUdveh4lXfTHlqlpncieG3QiEv+jW+YAuc2FWuxyscsS ugBLRnX9xlXcuXRqEr0tfz37mkUrGS8824iPVZ2MXGZHKoPRZ8RCaxxWQj/4fD3DWK2p ygtzSQ9AYOvynU5x0oPDdruFnApnnheMZX7HFK9OCToi+JAPOqNCaXJmau/rVChZtD8a Z6+7BbsQgrycv4nFLHF/glb8g59GoMCpP038Q2yGTdCGEZ6uIYJs6uegDW3yu/brSQ9i +kXA== X-Forwarded-Encrypted: i=1; AFNElJ/f8TBJyQrKhkwl1P530GEaFn8ttRT2V0w3oSRi2oxLi5n2HMqNujdRVLQGq1W5Stk8qk8xBNs5zE3+pi8G@postgresql.org X-Gm-Message-State: AOJu0Yxl8HKQjrEe5haG3ZabolFcU+6SbTIu4qnbx3xtVo09h2ravzq+ 7jBPl+C+limDkGNjM6JAAzeDWbGBdpp5wpBQsPaeA3rIozyo6hR39LtKZ8p6uaXAMCRKLJnGDto XW2HtE0EsgHSADq7HjtPReahuWWbmZzxBNAIbBPW/4g== X-Gm-Gg: Acq92OHLCBIgc1rEyRRcX0IAtgF4xsnJ5r4IMFw1qv3YYv1qtEkbtVVKCEcBY/m1xO4 jwDj1OQupPMBopO1EfTddahzLmePVs7t/wQqiUi8dOqR30kQDZbYyXr6laSVYYrkzdrEcBVdx3v J5J3ocZ5bCMsmiD/peNQnm1M28RDVSF9nCEhR9PVACkcDFmRIZfG8LtFHP/a5bYxRFUNTLdAaHa xXD/eq2i7eZfeC+K3t4XsqzjLjCYgvI+bg7CtTaYFv3KiWLfFYaeqsAGuW6ISomD25WFk6M6E77 LfjR5tyNHbIeMheYmt8= X-Received: by 2002:a2e:a54e:0:b0:395:b668:44b6 with SMTP id 38308e7fff4ca-395d8ba6900mr86881811fa.4.1779914022913; Wed, 27 May 2026 13:33:42 -0700 (PDT) MIME-Version: 1.0 References: <3ydjipcr7kbss57nvi67noplncqhesl5eyb6wgol4ccjxynspv@yatlykpribmm> In-Reply-To: From: Jelte Fennema-Nio Date: Wed, 27 May 2026 22:33:30 +0200 X-Gm-Features: AVHnY4K0njL0aNwaI0QdZQ-AZsMIjSL0ScygNYbuarTADF9puAxd865MJwkDz0Y Message-ID: Subject: Re: Heads Up: cirrus-ci is shutting down June 1st To: Andres Freund Cc: Nazir Bilal Yavuz , Thomas Munro , pgsql-hackers@postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I didn't look at the patch, and I won't be able too before June 1st. But I wanted to give some quick context on the things andres called out, that I'm pretty sure originate from the patch I submitted. On Wed, 27 May 2026 at 20:10, Andres Freund wrote: > > +# NB: intentionally NO workflow-level `concurrency:` block. The native > > +# concurrency mechanism makes a new run wait for the previous one to f= ully > > +# cancel before it starts =E2=80=94 which can take a while. Instead th= e > > +# `cancel-previous` job below fires a cancel API call asynchronously, > > +# so the new run gets going immediately. On master the cancel job is s= kipped, > > +# so every push runs to completion. > > Is this really worth having our own code? Seems like it'd not be that fre= quent > to push if there are already running runs? What kind of delays are we ta= lking > about? I agree this doesn't pull its weight and can be removed. It was part of me trying to iterate quickly. I think it could take a few minutes to cancel some of the jobs BSD nested virtualized jobs (might have been other jobs though). > I wonder if we should split the meson task into two, one for 32bit and on= e for > 64bit. +1 > > + # Install dependencies via Homebrew rather than Macports. On sto= ck > > + # GH runners macports requires a heavy bootstrap, and the releva= nt > > + # Postgres deps are all available in brew. > > What does "heavy bootstrap" mean? Not sure. This was Claude's doing. MacOS was green pretty quickly, so I didn't bother questioning details while all the other builds were still red. > We do spend ~95s on this every run, that's not nothing. And it puts a bun= ch of > load onto the brew's mirrors to do that every run. I think we can only avoid that if we have our own runners. > > + # The TAP tests build an initdb template under build/tmp_install= and > > + # then `robocopy` it into per-test data directories. Robocopy wi= th the > > + # default /COPY:DAT flag doesn't copy ACLs =E2=80=94 destination= s inherit from > > + # their parent dir. On GitHub-hosted Windows runners the workspa= ce's > > + # inherited ACL grants Administrators:(F) and Users:(RX) but doe= s NOT > > + # grant the runner user (runneradmin) directly. That matters bec= ause > > + # pg_ctl on Windows uses CreateRestrictedProcess to drop admin > > + # privileges from postmaster, so the postmaster process has the = user > > + # SID in its token but no longer the Administrators group =E2=80= =94 leaving it > > + # with only "Users:(RX)" on pg_control and friends, which causes > > + # "PANIC: could not open file global/pg_control: Permission deni= ed". > > + # > > + # Fix it once on the workspace dir with (OI)(CI) inheritance fla= gs so > > + # every file/dir created underneath gets an explicit grant for t= he > > + # current user. > > + - name: Grant workspace ACL to runner user > > + shell: pwsh > > + run: | > > + icacls "${{ github.workspace }}" /grant "${env:USERNAME}:(OI= )(CI)F" /Q | Out-Null > > + Write-Host "Granted Full Control to $env:USERNAME on ${{ git= hub.workspace }}" > > Perhaps this would be better to fix by changing the robocopy flags? Getting the Windows build working took a lot of work. To be clear that involved me copy-pasting log output into Claude or pointing it to download log tarballs. All of these huge comments I *did not* write. While iterating the comments seemed believable (but LLMs are good at that). My intent was to review them for correctness and for cleaner solutions. But I did not have time nor energy for that anymore. So yeah other fixes might very well be better (similarly for the python3 or openssl stuff).