+1 to the general idea of maintainers for distinct subtrees 

As far as the implementation, I'd rather follow a model where there is a 
single merge queue at the end (currently me, could be automated when the CI 
is stricter and developers do not / cannot ignore it any more). Otherwise 
we'll just either have broken releases (untested rebase at the end) or 
drain my time by having to rebase / retest (takes a long time on the 
buildbot) / notice than another rebase is needed / rinse and repeat

Really all you need is to 
* have a "CI Build & Test" tag whose PR's are merged in before CI runs. 
* maintainer sets positive review on tickets under his responsibility
On Tuesday, April 9, 2024 at 11:12:00 PM UTC+2 Matthias Koeppe wrote:

> 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/fda6eace-188a-44e1-b7b8-1d68873660a4n%40googlegroups.com.

Reply via email to