Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
On Sunday, May 12, 2024 at 4:42:42 PM UTC+1 Matthias Koeppe wrote: On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote: If I read your proposal correctly, it is about removing review from changes made by "maintainers" [...] That's right -- for the specified files. Mostly, I am opposed to this because changes to the files you list are not automatically uncontroversial, see the disputed https://github.com/sagemath/sage/pull/37740, https://github.com/sagemath/sage/pull/37387, https://github.com/sagemath/sage/pull/37351, https://github.com/sagemath/sage/pull/36726, https://github.com/sagemath/sage/pull/36697, https://github.com/sagemath/sage/pull/36694, https://github.com/sagemath/sage/pull/36678, (there's probably more.) Well, my proposal only generally noted that "waiting for reviewers to approve a PR and waiting for the Release Manager to merge it adds too much delay and friction." But yes, these "disputes" are certainly part of the friction that my proposal seeks to eliminate by establishing proper governance. But since you bring it up and list these examples, yes, we can certainly have this conversation in more detail. [...] In general, I am not sure about changing the review requirements. I know that having to do several rounds of review can be frustrating. At the same time, I like the idea of having somebody double check things. (I consider waiting for the first round of review a necessary annoyance. What can be really frustrating is waiting for the second round of review. Maybe, there are other ways to improve this, e.g., by encouraging people to set things to "feel free to set to positive review yourself once you addressed these tiny things I brought up in my review.") I have to note that this description would not be a good starting point for a conversation. First of all, it makes me uncomfortable that you are sharing generalities about the PR review process, perhaps as if I needed advice on this from you; what could be the possible purpose of doing so? The topic here is much more specific: namely PRs that make changes to the CI. But more importantly, you are writing this after having just brought up PRs such as "CI Linux: Replace use of pkill" ( https://github.com/sagemath/sage/pull/36726) -- which you as member of the sage-conduct committee are familiar with in detail. In this context, mentioning something like "waiting for the second round of review" as "really frustrating" furthers a mischaracterization of the problem, trivializing a very serious matter. "CI Linux: Replace use of pkill" ( https://github.com/sagemath/sage/pull/36726), more precisely, the discussion (the non-flamewar part of it) which went on there, is an excellent example of CI importance blown out of proportion. It was argued there that certain "minimal configurations" of packages are crucial for Sage development, where in reality no sane users would build Sage on such a super-minimal set of packages. These "minimal configurations" are kept as an excuse for not slimming down Sage the distro to a more meaningful set of packages, e.g. not including largely useless parts such as the gcc compiler. If, as proposed, the governance of the CI part of the Sage the distro is getting split off from Sage the distro, but kept inside Sage proper, it will only make CI more dominant, not less, and lead to more disputes, not less. The CI should be, basically, a downstream quality assurance tool, not the means in itself. It should not dictate what packages Sage should or should not vendor, and what versions of Python etc Sage must support. Dima -- 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/206a5801-dda8-4857-b0ff-3fc915490847n%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
Dear Julian, On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote: If I read your proposal correctly, it is about removing review from changes made by "maintainers" [...] That's right -- for the specified files. Mostly, I am opposed to this because changes to the files you list are not automatically uncontroversial, see the disputed https://github.com/sagemath/sage/pull/37740, https://github.com/sagemath/sage/pull/37387, https://github.com/sagemath/sage/pull/37351, https://github.com/sagemath/sage/pull/36726, https://github.com/sagemath/sage/pull/36697, https://github.com/sagemath/sage/pull/36694, https://github.com/sagemath/sage/pull/36678, (there's probably more.) Well, my proposal only generally noted that "waiting for reviewers to approve a PR and waiting for the Release Manager to merge it adds too much delay and friction." But yes, these "disputes" are certainly part of the friction that my proposal seeks to eliminate by establishing proper governance. But since you bring it up and list these examples, yes, we can certainly have this conversation in more detail. [...] In general, I am not sure about changing the review requirements. I know that having to do several rounds of review can be frustrating. At the same time, I like the idea of having somebody double check things. (I consider waiting for the first round of review a necessary annoyance. What can be really frustrating is waiting for the second round of review. Maybe, there are other ways to improve this, e.g., by encouraging people to set things to "feel free to set to positive review yourself once you addressed these tiny things I brought up in my review.") I have to note that this description would not be a good starting point for a conversation. First of all, it makes me uncomfortable that you are sharing generalities about the PR review process, perhaps as if I needed advice on this from you; what could be the possible purpose of doing so? The topic here is much more specific: namely PRs that make changes to the CI. But more importantly, you are writing this after having just brought up PRs such as "CI Linux: Replace use of pkill" (https://github.com/sagemath/sage/pull/36726) -- which you as member of the sage-conduct committee are familiar with in detail. In this context, mentioning something like "waiting for the second round of review" as "really frustrating" furthers a mischaracterization of the problem, trivializing a very serious matter. Matthias -- 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/a7aeaab2-2106-46c6-9dd6-56e2e0e5dd10n%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
Splitting responsibilities for different parts of the codebase is standard operating procedure for every large software project. And monorepo (everything in one git tree) is by now the well-established gold standard for managing the source code, especially for all components where you need versions to be in lock-step. Because it really makes no sense to test different versions of the CI infrastructure against multiple versions of the core business logic and multiple version of the documentation to verify that they really work together. And not everybody is a mathematician and a devops engineer and can write the Japanese documentation. I don't see how it can be confusing to other developers, only the maintainers need to have a grasp of what they are maintaining. If you don't know you can always just open a PR and it will go its usual way. The subsystem maintainer doesn't have to be a single person, can also be a group that manages their own workflow. Really we should focus our effort on the math part, where review by experts in the field is super-important to implement state-of-the-art algorithms. On the other hand, I don't really care how the CI is set up as long as it runs the testsuite. On Saturday, May 11, 2024 at 1:19:14 AM UTC+2 julian...@fsfe.org wrote: Dear Matthias, If I read your proposal correctly, it is about removing review from changes made by "maintainers" and merging things directly into develop without waiting for the Release Manager. Mostly, I am opposed to this because changes to the files you list are not automatically uncontroversial, see the disputed https://github.com/sagemath/sage/pull/37740, https://github.com/sagemath/sage/pull/37387, https://github.com/sagemath/sage/pull/37351, https://github.com/sagemath/sage/pull/36726, https://github.com/sagemath/sage/pull/36697, https://github.com/sagemath/sage/pull/36694, https://github.com/sagemath/sage/pull/36678, (there's probably more.) In general, I am not sure about changing the review requirements. I know that having to do several rounds of review can be frustrating. At the same time, I like the idea of having somebody double check things. (I consider waiting for the first round of review a necessary annoyance. What can be really frustrating is waiting for the second round of review. Maybe, there are other ways to improve this, e.g., by encouraging people to set things to "feel free to set to positive review yourself once you addressed these tiny things I brought up in my review.") I also think it's fairly confusing to have different rules for different parts of the repository. I would not mind at all to use different rules for different repositories within the sagemath organization though. And breaking the sage repository into smaller bits sounds like a good idea to me anyway. (As long as all the src/sage and src/doc stays in one place…) There are some means to reuse workflows in GitHub (I have not checked if they are feasible for us) and one could certainly try to extract some things into shared actions that live elsewhere. Maybe that's an approach that is worth exploring? julian -- 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/b28f918f-7275-49b6-b9c0-ea2ef428c19fn%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote: There are some means to reuse workflows in GitHub That's correct. They are called "reusable workflows", and I use them to provide portability testing to upstream projects of Sage. You can read about them in https://github.com/sagemath/sage/issues/8 (I have not checked if they are feasible for us) and one could certainly try to extract some things into shared actions that live elsewhere. Well, I have checked. No, splitting the repository does not solve the problem. -- 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/4a600f59-5b56-470a-ab40-ad80a5d0a71an%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
Dear Matthias, If I read your proposal correctly, it is about removing review from changes made by "maintainers" and merging things directly into develop without waiting for the Release Manager. Mostly, I am opposed to this because changes to the files you list are not automatically uncontroversial, see the disputed https://github.com/sagemath/sage/pull/37740, https://github.com/sagemath/sage/pull/37387, https://github.com/sagemath/sage/pull/37351, https://github.com/sagemath/sage/pull/36726, https://github.com/sagemath/sage/pull/36697, https://github.com/sagemath/sage/pull/36694, https://github.com/sagemath/sage/pull/36678, (there's probably more.) In general, I am not sure about changing the review requirements. I know that having to do several rounds of review can be frustrating. At the same time, I like the idea of having somebody double check things. (I consider waiting for the first round of review a necessary annoyance. What can be really frustrating is waiting for the second round of review. Maybe, there are other ways to improve this, e.g., by encouraging people to set things to "feel free to set to positive review yourself once you addressed these tiny things I brought up in my review.") I also think it's fairly confusing to have different rules for different parts of the repository. I would not mind at all to use different rules for different repositories within the sagemath organization though. And breaking the sage repository into smaller bits sounds like a good idea to me anyway. (As long as all the src/sage and src/doc stays in one place…) There are some means to reuse workflows in GitHub (I have not checked if they are feasible for us) and one could certainly try to extract some things into shared actions that live elsewhere. Maybe that's an approach that is worth exploring? julian -- 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/2f6cbb89-d77c-492b-94a6-6b9a901d790cn%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
On Wednesday, May 8, 2024 at 12:18:51 PM UTC-7 Dima Pasechnik wrote: I've already said while the previous version of this was discussed, is that it's a huge mess to have different commit rights for different parts of the tree, I'm pretty sure that Volker and I can figure this out; there's no need to worry about this. and I proposed to spin the CI into a separate repository, as an alternative which simplifies a lot of things. I responded to this already in https://groups.google.com/g/sage-devel/c/dEa3i2Fn3ZY/m/1_43GUDTAAAJ; there's nothing to add to that. -- 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/056adbe1-df6b-4f35-941a-16b06edefc73n%40googlegroups.com.
Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini
I've already said while the previous version of this was discussed, is that it's a huge mess to have different commit rights for different parts of the tree, and I proposed to spin the CI into a separate repository, as an alternative which simplifies a lot of things. Dima On Wed, May 8, 2024 at 7:25 PM Matthias Koeppe wrote: > > On Monday, May 6, 2024 at 10:49:07 PM UTC-7 Kwankyu Lee wrote: > > I propose a governance change for a small part of the main Sage repository: > 1. The directories .ci, .devcontainer, .github/workflows. [...] > 2. The file tox.ini. [...] > > 3. The file src/doc/en/developer/portability_platform_table.rst (which I > update using "tox -e update_docker_platforms"). > > > I think we should restrict the scope to the files and directories strictly in > the CI infrastructure. Anything under `src/` should be excluded. > > > This file src/doc/en/developer/portability_platform_table.rst is part of the > documentation of the CI infrastructure and needs to be updated (by script) > whenever I make changes to the tested platforms. > > > > 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. > > > I fear that developers in the Maintainer role could conflict in making > changes to the CI-related files, as we suffered in the disputed PRs. > > > I don't share this concern. > > By the way, I documented who is currently in the Maintainer role when I > prepared the NumFOCUS application last month, see > https://github.com/sagemath/sage/wiki/NumFOCUS#q13new-please-list-your-projects-maintainers-ie-anyone-with-write-access-to-the-repository > (I haven't checked if it has changed since.) > > There's certainly a broader governance discussion that we should have at some > point (regarding duties and appointment procedures for the Maintainer role, > the Triage team, and other functions in the project), but I would suggest to > do this in a separate thread. > > So I suggest to have only one Maintainer for those files. As we acknowledge a > certain dictatorship of the release manager, we may have a vote to elect the > CI manager and give him/her a restricted dictatorship and responsibility. > > > This model would also work for me, but I think it's unnecessarily specific. > > -- > 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/e955c1d9-96f5-495d-85a9-9267f5414d3dn%40googlegroups.com. -- 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/CAAWYfq3h3f0G4JFxwFt02A%3D55xOLeDcNggWkjfUhWH8SRC3PPA%40mail.gmail.com.