Re: Adding CI to our tree
Andres Freund <andres@anarazel.de>
Hi, On 2021-10-02 01:49:39 +0200, 0010203112132233 wrote: > On Sat, 2 Oct 2021 at 00:28, Andres Freund <andres@anarazel.de> wrote: > > New contributors (and quite a bit of older ones too) IMO expect to be able to > > see whether their changes work as-is, without sending a patch to the list. > > Have they checked 'make installcheck-world'? I believe that is one of > the first action items on the 'So, you want to become a developer?' > wiki page, after downloading the sources. Of course, that is limited > to only the environment of the user, but that's what they're generally > developing for, right? If you want to get a change into postgres, it almost always needs to actually work on all operating systems, and always needs to at least not cause build failures on all platforms. > Furthermore, after looking it through, I think that Cirrus is an > unfortunate choice as a CI platform of preference, as you cannot use > it without access to Github (which is problematic for people located > in certain localities due to USA regulations). I agree that it's not optimal that cirrus isn't available on all git hosting platforms. Hence saying that I think it's likely we'd end up adding a few more platforms over time. If we factor the meat of the work into an helper script, so that the CI specific bit is just a couple invocation of that script, it's not a lot of overhead to have 2-3 CI platforms. > If we're going to include CI configuration for private use, I'd prefer if it > were a CI that can be enjoyed in private without pushing code to a 3rd > party. FWIW, you can use cirrus locally on your machine: https://github.com/cirruslabs/cirrus-cli It'll not be able to run all kinds of tasks though (e.g. no windows docker on a linux host, dealing with the license costs for that presumably would be nontrivial). > Lastly, I consider CI configuration similar to IDE configuration: each > developer has their own preferred tools which they use, but we don't > favour one over the other. We don't include IDE-specific configuration > files either, or at least, the policy is against that. > > So, I greatly appreciate the effort, but I don't think this is > something that should be committed into core. Maybe as a dedicated > wiki page detailing configurations for CI, similar to the Buildfarm > page? That doesn't scale - I've actually added CI to all my substantial development work in my private branches, and it's pretty annoying to need to do so every time. And there's many developers who won't go through the effort most of the time. It's not like this forces you to use cirrus or anything. For people that don't want to use CI, It'll make cfbot a bit more effective (because people can adjust what it tests as appropriate for $patch), but that's it. Greetings, Andres Freund
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
ci: enable zstd where available.
- ff50baec65bb 15.0 landed
-
ci: compile with -Og where applicable.
- 4a288a37f9b7 15.0 landed
-
ci: include hints how to install OS packages.
- 225fb558cd42 15.0 landed
-
ci: fix copy-paste mistake in 16eb8231d1b.
- f79c94f39df0 15.0 landed
-
ci: macos: align sysinfo_script to other tasks.
- 0a156058aa49 15.0 landed
-
ci: Only use one artifact instruction for logs.
- 16eb8231d1b5 15.0 landed
-
ci: s/CCACHE_SIZE/CCACHE_MAXSIZE/.
- 79b79dd57a96 15.0 landed
-
pg_basebackup: Skip a few more fsyncs if --no-sync is specified.
- 9c86d9337eb0 15.0 landed
-
TAP tests: check for postmaster.pid anyway when "pg_ctl start" fails.
- b0623625a0a3 14.2 landed
- 99aa0ff68a2c 11.15 landed
- 6eec809fbcfb 13.6 landed
- 6c4a8903b93f 15.0 landed
- 5940d1b027d7 12.10 landed
- 40756287ff1f 10.20 landed
-
Don't enable fsync in src/test/recovery/t/008_fsm_truncation.pl.
- a7f4171071bb 15.0 landed
-
ci: windows: run initdb with --no-sync.
- dfc0cb3940cd 15.0 landed
-
ci: windows: enable build summary to make it easier to spot warnings / errors.
- 8a1ce5e54f6d 15.0 landed
-
ci: Add continuous integration for github repositories via cirrus-ci.
- 93d973494613 15.0 landed
-
Fix TestLib::slurp_file() with offset on windows.
- 9e3be5c182d7 9.6.24 landed
- d5fa3c086eab 10.19 landed
- 0a134c860fc1 11.14 landed
- cd1b2334b8a2 12.9 landed
- 5ba397f7404e 13.5 landed
- c4465cd09e3a 14.1 landed
- 2f74db1236fe 15.0 landed