Re: CI and test improvements
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
On 14.03.23 05:56, Justin Pryzby wrote: > I'm soliticing feedback on those patches that I've sent recently - I've > elided patches if they have some unresolved issue. > [PATCH 1/8] cirrus/windows: add compiler_warnings_script Needs a better description of what it actually does. (And fewer "I'm not sure how to write this ..." comments ;-) ) It looks like it would fail the build if there is a compiler warning in the Windows VS task? Shouldn't that be done in the CompilerWarnings task? Also, I see a bunch of warnings in the current output from that task. These should be cleaned up in any case before we can let a thing like this loose. (The warnings are all like C:\python\Include\pyconfig.h(117): warning C4005: 'MS_WIN64': macro redefinition so possibly a single fix can address them all.) > [PATCH 2/8] cirrus/freebsd: run with more CPUs+RAM and do not repartition I don't know enough about this. Maybe Andres or Thomas want to take this. No concerns if it's safe. > [PATCH 3/8] cirrus/freebsd: define ENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS Looks sensible. > [PATCH 4/8] pg_upgrade: tap test: exercise --link and --clone I haven't been able to get any changes to the test run times outside of noise from this. But some more coverage is sensible in any case. I'm concerned that with this change, the only platform that tests --copy is Windows, but Windows has a separate code path for copy. So we should leave one Unix platform to test --copy. Maybe have FreeBSD test --link and macOS test --clone and leave the others with --copy? > [PATCH 5/8] WIP: ci/meson: allow showing only failed tests .. >>> 7e09035f588 WIP: ci/meson: allow showing only failed tests .. >> >> I'm not sure I like this one. I sometimes look up the logs of non-failed >> tests to compare them with failed tests, to get context to could lead to >> failures. Maybe we can make this behavior adjustable. But I've not been >> bothered by the current behavior. > > It's adjustable by un/setting the environment variable. > > I'm surprised to hear that anyone using cirrusci (with or without cfbot) > wouldn't prefer the behavior this patch implements. It's annoying to > search find the logs for the (typically exactly one) failing test in > cirrus' directory of 200some test artifacts. We're also uploading a lot > of logs for every failure. (But I suppose this might break cfbot's new > client side parsing of things like build logs...) One thing that actually annoys me that is that a successful run does not upload any test artifacts at all. So, I guess I'm just of a different opinion here. > [PATCH 6/8] cirrus: code coverage This adds -Db_coverage=true to the FreeBSD task. This has a significant impact on the build time. (+50% at least, it appears.) I'm not sure the approach here makes sense. For example, if you add a new test, the set of changed files is just that test. So you won't get any report on what coverage change the test has caused. Also, I don't think I trust the numbers from the meson coverage stuff yet. See for example <https://www.postgresql.org/message-id/Y/3AI+/MqKcjLk/T@paquier.xyz>. > [PATCH 7/8] cirrus: upload changed html docs as artifacts > [PATCH 8/8] +html index file This builds the docs twice and then analyzes the differences between the two builds. This also affects the build times quite significantly. How useful is this actually? People who want to look at the docs can build them locally. There are no platform dependencies or anything like that where having them built elsewhere is of advantage.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
ci: Add test coverage of different pg_upgrade modes
- 21a71648d39f 17.0 landed
-
seg: Add test "security" in meson.build
- 6b14404b0b97 16.2 landed
- 2f35c14cfb3d 17.0 landed
-
cirrus/freebsd: define ENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS
- 9945750ae0e3 17.0 landed
-
cirrus/ccache: Use G rather than GB suffix
- bf32ec225635 16.0 landed
-
ci: Upgrade macOS version from 12 to 13.
- 83c7e2f2a2f5 15.2 landed
- 2e9f120b657e 16.0 landed
-
meson: Add two missing regress tests
- 27da598961ce 16.0 landed
-
Push lpp variable closer to usage in heapgetpage()
- e351f8541831 16.0 cited
-
ci: Change macOS builds from Intel to ARM.
- 14d63dd2523c 16.0 landed
- dc513bc6544d 15.2 landed
-
ci: Introduce SanityCheck task that other tasks depend on
- 94a3e026cc4d 16.0 landed
-
ci: Use -fsanitize=undefined,alignment,address in linux tasks
- bd82928625e7 16.0 landed
-
ci: Clean up pre-meson cruft in windows task
- ec267fd5a5e8 16.0 landed
-
meson: Mark PROVE as not required
- ab72a31f6cc5 16.0 landed
-
ci: enable various runtime checks on FreeBSD and macOS
- 89d16b63527d 16.0 landed