Systems, CI Updates Q2 2026

Portrait of Sam Darwin Sam Darwin · Jul 6, 2026

Doc Previews and Doc Builds

Progress on isomorphic-git: after the pull request “support git commands run in submodules” was merged and released, Antora updated their version of isomorphic-git so the new features are live there also. The maintainer of Antora added more CI tests aimed at this functionality, and uncovered a problem that the program failed in certain circumstances on Microsoft Windows where line-endings are different. Bouncing the issue back to isomorphic-git again, it seems no Windows tests were ever written in this 10-year-old codebase. While solving all Windows bugs seemed initially out-of-scope, it did appear necessary to add new Windows tests and at least apply them to submodules. This soon led to modifying and fixing other functions and files which were not part of the original pull request, with a more general goal of ensuring isomorphic-git passes all tests on Windows. The maintainer, being short-staffed, and in an effort to leverage any outside assistance whenever possible, made a point to insist that the Windows CI passed with “all green” before accepting Windows fixes. As often happens, it is faster to just solve the bugs first, and ask questions afterwards, rather than discuss the issues endlessly. I debugged outstanding Windows bugs, checked them into git, and the CI was passing. The situation still dragged on for weeks trying to reach agreement about the right method to solve the platform incompatibility. The final result: Windows updates merged in isomorphic-git. Antora referenced the newer version. Problem resolved.

Also,

  • Doc previews for boostorg/graph. boostorg/redis. cppalliance/burl.
  • Investigating issues after a major upgrade of mrdocs. Discovered and reported findings. Fixed quickly. Great.
  • Edit-this-page links: capy, decimal, others.

Code Coverage Reports - designing new GCOVR templates

The “boost” templates were finally merged into https://github.com/gcovr/gcovr. Fantastic work by Julio Estrada on the template development.

Any users of gcovr/gcovr (the main branch) may now choose --html-theme boost.green and use the theme.

During this quarter,

  • debugging multi-level child directories which contain one file. Replaced collapseSingleChildDirs with joinSingleChildDirs.
  • remove deduplicateTree.
  • set a default for window.GCOVR_TREE_DATA to avoid crashes.
  • troubleshoot the formatting of tree items with long paths instead of just showing the filename in the sidebar.
  • solved a symlink bug where gcovr was “resolving” symlinks and it disrupted the tree output display.

Boost website boostorg/website-v2

Debugging and correcting Fastly purge during releases.

Website logs were filling up with “violates not-null constraint” when saving cached content. At first this seemed to be merely an annoyance when reading log entries but otherwise not substantive. However the sheer quantity of messages was eventually filling up and crashing redis. This triggered a review of redis settings. Improved cache purging. Also, fixed the non-null bug in website-v2 itself.

Installed plausible api key entries on website-v2.

Mailman3

Locked down remote api access to certain IP addresses when statistics are gathered, to avoid triggering long-running DB queries, and solved a problem of the server and database machines CPU being overloaded.

Collaborating with Teo on website-v2 -> mailman3 sign-up features. Allowed the mailman-core api to be reachable from the website via nginx proxy.

Added lynx package, enabling Hyperkitty to decipher html-only emails.

Slack

Ubuntu’s auto-upgrade package feature broke Paperbot. Rolled back apt packages. Pinned package versions. Back online.

Ansible

Composed an ansible role ansible-postgresql based on existing scripts which installs postgresql databases, as well as backups to the cloud. Researched topics of icu collation, pgbouncer. Applied the role on multiple alliance projects/servers.

Boost release process boostorg/release-tools

Continued work to generate a 26.04 superproject image to build releases. Sent another round of pull requests to certain boost libraries that are not yet compatible.

Assisted release managers in accessing cloud storage for maintenance.

Replacing lbzip2 with pbzip2 as compression executable in release-tools, ongoing.

WG21

Launched lists.wg21.org mailing lists.

During this past quarter, progress towards single-sign-on between wg21.org and lists.wg21.org using django-allauth. Runbook generated by Will Pak. Testing on staging instance.

Experimented with various hosted AI systems. Installed pods at runpod.ai. Designed customized docker images to protect the AI instance from internet traffic behind nginx. https://github.com/cppalliance/runpod

Drone

Sent pull requests to 9 boost libs boost.sh -> drone.sh, standardizing the name of the file which allows it to be completely omitted, and thus simplifying all entries in .drone.star files, where it’s no longer necessary to specify “drone.sh” as the script file.

New drone image Ubuntu 26.04.

Internal, Corporate

New onboarding script.

DMARC, DKIM for Gmail.

regression.boost.org

Retry ftp failures in the CircleCI jobs.

Multiple scripts are involved in processing results at https://regression.boost.org/. Migrated the CircleCI job itself, and associated scripts, from Python2 to Python3. Completed. (Other scripts remain to-do).

All Posts by This Author