Dear Sage developers: I propose to consider the following governance change for a small part of the Sage repository: 1. The directories *.ci, .devcontainer, .github/workflows*. These are special directories that control the GitHub workflows that run for example on pull requests and when release tags are pushed. 2. The files *tox.ini* and *build/bin/write-dockerfile.sh*. They contain the infrastructure for portability testing of the Sage distribution (https://doc.sagemath.org/html/en/developer/portability_testing.html).
Some of these files are shipped as part of the Sage distribution, but none of them have any role in the build process or runtime of Sage, and thus none of them are tested by the Release Manager. *Status quo: *All changes to these files go through the normal review process for Sage PRs; when set to "positive review", Volker merges them into the next development release. In the terminology of https://martinfowler.com/articles/ship-show-ask.html (ht Gonzalo Tornaria), this is the "Ask" model. Acknowledgment: I'm grateful to all who have contributed to the review of my PRs that made changes to these files in the past: thanks for your time and energy. *Proposed change: *All changes to these files are made through PRs. When the PR is ready, a developer in the Maintainer role directly merges the PR into the "develop" branch. In other words, switch to the "Show" model for these changes. *Why the change:* 1. Changes to these files do not have any effect on the build and runtime of Sage; - thus changes to these files do not risk breaking the mathematical correctness, or the performance of anything in Sage; - hence there may not be the same need for formal review compared to changes to the Sage library. 2. Our project has a collective interest in smoothly operating development infrastructure / quality assurance tools; - but tragedy of the commons; - more specifically, developing/improving such development tools only pays off individually for developers with a sufficiently high volume of activity (cf. https://github.com/sagemath/sage/graphs/contributors?from=2020-01-01&to=2024-04-09&type=c); - there may also be a technical barrier that prevents developers from even reviewing a PR that makes changes to these files; - hence, waiting for reviewers to approve a PR and waiting for the Release Manager to merge it adds too much delay and friction. 3. Examples (all PRs authored by me, waiting for review): - "CI build, doc-build: Run containers explicitly, separate jobs for pyright, build, modularized tests, long tests" (https://github.com/sagemath/sage/pull/36498) waiting for review since Oct 21, 2023 - "GH Actions: Build platform-independent wheels of sagemath-environment, sage-setup, sage-sws2rst for PyPI" (https://github.com/sagemath/sage/pull/37099) waiting for review since Feb 5 - "CI: Update Linux platforms / runners" waiting for review since Feb 14 - "GH Actions: Build macOS arm64 wheels" (https://github.com/sagemath/sage/pull/37503) waiting for review since Feb 28 - "CI Build&Test: Fix "test modularized distributions" (https://github.com/sagemath/sage/pull/37750) waiting for review since Apr 4 - "dist.yml: Download optional/experimental tarballs for GitHub Release assets" (https://github.com/sagemath/sage/pull/37762) waiting for review since Apr 6 4. Non-examples (all PRs authored by me, waiting for review): - "CI Build&Test: Show segfaults using GitHub annotations" (https://github.com/sagemath/sage/pull/37738, waiting for review) -- this makes changes in sage.doctest, so would continue to be reviewed normally - "tox.ini: Add environments ruff, ruff-minimal; GH Actions: run ruff-minimal" (https://github.com/sagemath/sage/pull/37453, waiting for review) -- this also makes changes in src/tox.ini and src/doc, so would continue to be reviewed normally - "src/tox.ini (coverage:run): Set concurrency = multiprocessing,threads" (https://github.com/sagemath/sage/pull/37010) -- makes changes in src/tox.ini, so would continue to be reviewed normally - "sage -tox -e pyright: Update, speed up, isolate" (https://github.com/sagemath/sage/pull/36515) -- makes changes to pyrightconfig.json and src/tox.ini, so would continue to be reviewed normally -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/d4a6462d-42ab-4afc-b24e-0be98be20174n%40googlegroups.com.